COS 102
Problem Solving
2
Course Description
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 problem;
5. solve computer problems using algorithms, flowcharts, pseudocode; etc.; and
6. solve problems using programming language using C, PYTHON, etc.
Course Outline
Introduction to the core concepts of computing. Problems and problem-solving. The
identification of problems and types of problems (routine problems and non-routine
problems). Method of solving computing problems (introduction to 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 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. Implementation, evaluation and
refinement. Programming in C, Python etc.
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)
200 Level