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
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)
200 Level