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 problem;
  5. solve computer problems using algorithms, flowcharts, pseudocode, etc.; and
  6. solve problems using programming language using 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)