Computational Thinking and Problem Solving
 Similar to Mathematical Thinking
 Quantification via numbers / structures / representations
 Applied towards Modelling and Computation
 Generally categorised by the following skills:

Abstraction: generalising data into representations and
structures

Algorithmic Thinking: defining process knowledge
specifically
(primary focus)
 Decomposition: dividing a problem into subproblems

Pattern Recognition: generalising relationships (modelling)
 General process for finding solutions
 PĆ³lya's ProblemSolving Process (4 steps)

Understand the problem: define all the relevant information
 Devise a plan: attempt using methods that you know

Carry out the plan: execute the devised plan and try again
if it fails
 Look back: reflect on what worked and what did not

Default plan: Bruteforce Search (i.e. Automated Guess and
Check)
 Process knowledge and algorithms
 Problemsolving by bruteforce search
 Data abstraction and decomposition
 Functional abstraction and decomposition
 Recursion
 Extending problemsolving with divide and conquer

Course resources and announcements are delivered through
Coursemology

8 Lesson Units with 1 Final Contest (1 day each; 9 days total)

Lesson units take place between 27 July 2023 and 7 August 2023, with
a Final Contest on 8 August 2023