2.1 Introduction2.2 Software Development Life Cycle2.3 The Problem-Solving Process2.4 Computational Thinking2.5 Algorithmic Thinking2.5.1 Decomposition Process and Top-Down Approach2.5.2 Bottom-Up Approach2.6 Other Aspects of Computational Thinking2.6.1 Abstraction and Modelling2.6.2 Anticipating and Dealing with Errors2.6.3 Revisiting Solution2.7 Applications of Computational Thinking2.8 Flow Charts2.9 More Examples of Algorithms2.9.1 Algorithm for Finding the Largest Among Three Numbers2.9.2 Armstrong Number2.9.3 Collatz Sequence2.9.4 Towers of Hanoi2.9.5 Linear Search