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
    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, meansend 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)