COS 1213 units100 LevelSecond Semester

Problem Solving

Foundation course — taken across University of Uyo programmes, not one department

COS 121 (Problem Solving) is a 3-unit, 100 Level course taught in the Second Semester at the University of Uyo, Akwa Ibom State, Nigeria. It is a foundation course taken by undergraduates across the university's programmes, not one department's course.

Algorithmic thinking and systematic problem solving using Python and C. Covers problem identification, solution techniques, pseudocode/flowcharts, and programming fundamentals — the first real programming course in the degree. Strong performance here builds confidence for all future programming courses.

On Areté, COS 121 comes with

  • 9 lecture-note topics
  • 2 recommended textbooks
  • an AI tutor that has read this course’s outline and notes
Sign in to study COS 121

Free for University of Uyo students — sign in with your email, no password.

Course outline

  1. 01Problems and problem-solving: routine vs non-routine problems
  2. 02Methods of solving computing problems: algorithms and heuristics
  3. 03Solvable and unsolvable problems
  4. 04Solution techniques: abstraction, brainstorming, trial and error, divide and conquer, root cause analysis
  5. 05General problem-solving process
  6. 06Solution formulation and design: flowchart, pseudocode, decision table, decision tree
  7. 07Implementation, evaluation and refinement
  8. 08Programming in C and Python

What the COS 121 lecture notes cover

  1. 01Concept of Computing
  2. 02Problem and Problem Solving
  3. 03Python Programming
  4. 04Control Structures
  5. 05Arrays and Lists
  6. 06Functions and Classes
  7. 07Writing Mathematical Formulas in Python
  8. 08Input, Output, and Type-Casting
  9. 09GUI with Tkinter

9 transcribed topics, taken from the lecturer’s own workbook. Readable in full once you sign in.

COS 121 key concepts

Routine problem
They are common and occur frequently in similar conditions. These problems often have pre-defined solutions and can be solved using standard procedures and algorithms. Solutions are standard and do not require creativity.
Non-routine problem
They are complex and do not have straightforward solutions. They require creative thinking, experimentation, and new strategies to solve the problem.
Algorithm
A structured approach to problem solving. A step-by-step procedure or set of rules used to solve a specific problem. Features: There must be inputs. There must be outputs. It must be definite. It is finite, correct, and efficient.
Heuristic
An approximate approach. It finds a satisfactory solution in a place where an optimal solution is impracticable. It doesn't guarantee a perfect solution but is aimed at finding a good enough solution quickly. It is applied when you can't get an optimal solution.
Abstraction
Focuses on relevant details and not irrelevant details. Abstraction can be applied in software development, artificial intelligence, and cybersecurity.
Analogy
Using past experience to solve a problem. Features: Uses past experience; encourages pattern recognition commonly used in machine learning.
Brainstorming
A group or individual problem-solving technique where multiple ideas are generated. Features: Encourages creative thinking; mostly used in business, software development, and research.
Trial & Error
Trying different solutions with the intention of taking the best.
Hypothesis Testing
This involves simulating an assumption and testing it through experiment or observation.
Reduction
Simplifies a complex problem by breaking it down into simpler equivalent problems that are easier to solve. Mostly used in mathematics and computing.
Literal Thinking
Involves applying a logical and direct approach to a problem solution without assumption or abstract interpretation. Features: Avoids assumption and abstract interpretation.
Means-end Analysis
It involves comparing the current state of a problem with a desired goal and determining the best way to close the gap.
Proof
The process of logically verifying the correctness of a solution using mathematical or formal proving.
Divide and Conquer
This is where a complex problem is divided into smaller tasks, solved individually, and the solutions are combined.
Definition
Python Programming is a script of sequence information and commands evaluated and resolved by an interpreter called a shell. It consists of primitive constructs, syntax, and static semantics.
Numeric
Scalar objects assigned to variables used for mathematical operations.
Sequence Type
Used to store ordered, changeable collections.
String (str)
Represented by data in a single quote or double quote in the memory.
Set
Ordered and mutable collection used for storage of unique elements and can't be accessed by using indexing.
The while Loop
Repeatedly executes a code block as long as its condition remains true.
Functions
A function is a subprogram or module and a unit of a program. In some programming languages, it is called a procedure. It performs a specific task and is reusable. You can call a function as many times as required.
Local variable
A variable that exists within a function.
Global variable
A variable that exists outside functions.
*args
Defines undefined positional values in a variable.
**kwargs
Defines undefined keyword values in a variable.
Object-Oriented Programming (OOP)
OOP is a programming paradigm that organizes software around objects. An object means instances that bundle together data attributes.
Encapsulation
Bundling data and methods; private attributes accessed via getter/setter methods.
Inheritance
A child class inherits properties from a parent class.

The 9 topics define many more terms than these — the full set, with flashcards, is in the notes.

Read the start of “Concept of Computing”

Computing is the study and use of computer systems to process data, solve problems, and automate tasks. It involves hardware, software, algorithms, and programming to achieve effective and efficient solutions.

Core Concepts of Computing

  • Data and information policy processing
  • Programming
  • Computer Hardware & Software
  • Algorithms & Problem Solving
  • Networking & Communication
  • Artificial Intelligence (A.I)

Features of Computing

  • Automation
  • Speed
  • Versatility
  • Connectivity

That is topic 1 of 9. Sign in — free, no password — to read the rest, take the practice questions, and ask the AI tutor about any of it.

Read all 9 COS 121 topics

Recommended textbooks

  • Python Crash Course — Eric Matthes

    3rd ed. — the best beginner Python book; very practical

  • Think Python: How to Think Like a Computer Scientist — Allen Downey

    2nd ed. — free PDF at greenteapress.com

How to pass COS 121

  • Areté has 12 full interactive Python modules for this course — use them from day one
  • Never copy-paste code examples — type every line yourself so your fingers learn the syntax
  • Solve at least one coding problem daily, even if small; consistency beats cramming
  • Harvard CS50P (Introduction to Programming with Python) is free and excellent

COS 121 — questions and answers

What is COS 121 at the University of Uyo?
COS 121 (Problem Solving) is a 3-unit, 100 Level course taught in the Second Semester at the University of Uyo, Akwa Ibom State, Nigeria. It is a foundation course taken by undergraduates across the university's programmes, not one department's course. Algorithmic thinking and systematic problem solving using Python and C. Covers problem identification, solution techniques, pseudocode/flowcharts, and programming fundamentals — the first real programming course in the degree. Strong performance here builds confidence for all future programming courses.
Which programmes take COS 121?
COS 121 is a foundation course taken by undergraduates across University of Uyo programmes — it belongs to the university, not to one department. Whatever your department, Areté covers it with the same outline, textbooks and study tips.
What topics are covered in COS 121?
The COS 121 outline covers 8 topics: Problems and problem-solving: routine vs non-routine problems; Methods of solving computing problems: algorithms and heuristics; Solvable and unsolvable problems; Solution techniques: abstraction, brainstorming, trial and error, divide and conquer, root cause analysis; General problem-solving process; Solution formulation and design: flowchart, pseudocode, decision table, decision tree; Implementation, evaluation and refinement; Programming in C and Python.
What textbooks are recommended for COS 121?
Recommended reading for COS 121: Python Crash Course by Eric Matthes; Think Python: How to Think Like a Computer Scientist by Allen Downey.
How do I pass COS 121?
Areté has 12 full interactive Python modules for this course — use them from day one Never copy-paste code examples — type every line yourself so your fingers learn the syntax Solve at least one coding problem daily, even if small; consistency beats cramming Harvard CS50P (Introduction to Programming with Python) is free and excellent
Where can I find COS 121 lecture notes and past questions?
Areté (https://www.aretecyb.tech/courses/cos-121) carries 9 lecture-note topics, 2 recommended textbooks for COS 121, plus an AI tutor that has read the outline. It is free for University of Uyo students — sign in with your email, no password.

Other 100 Level courses

Lecture notes, practice questions and the AI tutor for COS 121 are available once you sign in.

Sign in to Areté