Learning Outcomes At the end of this course, students should be able to:
explain problem solving processes;
demonstrate problem solving skills;
describe the concept of algorithms development and properties of algorithms;
discuss the solution techniques of solving problem;
solve computer problems using algorithms, flowcharts, pseudocode; etc.; and
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)