(Py200) Computational Thinking with Python

Course Description

(Py200) Computational Thinking with Python rides on our core Python Coding course to introduce computational thinking to learners.

For students who have completed (Py100) Everyone can code with Python, or have similar Python coding experiences, this course introduces the core concepts of Computational Thinking, namely Decomposition, Pattern Recognition, Abstraction and Algorithm.

Through various challenging activities in Mathematics, text analysis and turtle graphic, students learn valuable computational thinking skills which are transferable in other domains and subjects.

Who this course is for

This course is designed with challenge-based activities and hosted on Google’s online learning platform. It is suitable for:
1. Everyone who knows any programming and loves puzzles and problem solving
2. Beginner programmers looking get more creative and tackle open-ended problems
3. O-Level Computing students, looking to enhance their python coding skills
4. Teachers / Tutors looking to find an ideal learning sequence to teach Python programming

Course Outline
Session 1 – Recap / I/O and Data Processing Session 2 – Decomposing a Complex Problem using Functions
– Recapitulation – The Basics
– Input – Process – Output
– Files I/O
– Working with Data
– Functions in Python
– Local vs Global Variables
– Recursion
– Applications – Fibonacci, Factorial
Session 3 – Algorithm with Mathematics Challenges Session 4 – Pattern Recognition with Text Analysis Challenges
– Algorithms with Python Modules
– Maths and Random
– Itertools
– Applications – Prime Numbers, Lowest Common Multiples/ Highest Common Multiples
– Pattern Recognition with Strings
– Indexing, Slicing
– Formatting String
– Abstraction with Additional Data Types – Dictionaries/ Sets
Session 5 – Turtle Graphics Challenges
– Turtle Module
– Geometric Shape Challenges