Unit 4: Computational thinking, problem solving and programming.
Jeanette Wing (Vice President of Microsoft Research, and previously President’s Processor of Computer Science at Carnegie Mellon University, Pittsburgh) wrote a short but highly influential paper outlining the importance of computational thinking. That paper forms the basis of this unit within the IB course.
It is available at https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf
This is a large unit that will take all of semester 1 of Year 12. The unit is broken into components as follows:
- Introduction to Java programming skills
- Computational thinking
- Program design using pseudo code, flow charts and trace tables
- Searching & sorting alogorithms
- Algorithm efficiency & Big O
- Programming concepts
Part 1 - Java programming
An introduction to the fundamentals of programming with Java. Each topic contains a problem set that will be submitted via Google Classroom as home learning.
Part 2 - Computational thinking, program design and problem solving
A look at computational thinking strategies, program design tools (pseudo code, flow charts and trace tables), search & sort algorithms, measuring algorithm efficiency (big-o notation) and some incidential programming concepts.
- Teaching notes 2020
- Why My Teenage Code Was Terrible: Sorting Algorithms and Big O Notation (Tom Scott) watch from 1:30 to 7:15
IB documents:
- Notation for pseudocode (exam version)
- Notation for pseudocode (additional detail)
- Java Exam Tool Subset (JETS) (previous syllabus but still very relevant)