COS 102: Problem Solving



Learning Outcomes
At the end of this course, students should be able to:
1. explain problem-solving processes;
2. demonstrate problem-solving skills;
3. describe the concept of algorithms development and properties of algorithms;
4. discuss the solution techniques of solving the problem;
5. solve computer problems using algorithms, flowcharts, pseudocode, etc; and
6. solve problems using a programming language, e.g., C, PYTHON, etc.

Course Contents
Core concepts of computing. Identification of problems. Types of problems (routine problems
and non-routine problems). Problem-solving. Methods of solving computing problems.
Algorithms and heuristics. Solvable and unsolvable problems. Solution techniques of solving
problems; abstraction; analogy; brainstorming; trial and error; hypothesis testing; reduction;
literal thinking; means-end analysis. Method of the focal object; morphological analysis;
research; root cause analysis; proof; divide and conquer. General Problem-solving process.
Solution formulation and design; flowchart; pseudocode; decision table; decision tree.
programming in any language.

Lab Work:

Use of simple tools for algorithms and flowcharts; writing pseudocode; writing
assignment statements, input-output statements and condition statements; demonstrating
simple programs using any programming language (Visual Basic, Python, C)