Computational thinking (CT) is an important 21st century skill and a fundamental method for solving complex problems. CT involves problem formulation, abstraction, decomposition, pattern recognition, and algorithm design. This working will give a fun introduction to CT and it emphasizes the thinking process, and the communication of the problem-solving process (instead of just focusing on the coding). Students learn to apply CT to understand, formulate and solve everyday problems within and across disciples.
Some of the topics covered include formulation of computational problems, the use of abstraction to write high-level algorithms, the use of decomposition and pattern recognition to help in designing efficient algorithms, graph modelling and algorithms, and creative problem solving via the Polya Problem Solving Process. There will also be a group project where students get first-hand experience with applying these to real world problems.