Computational Thinking Problem Solving and Programming

General Principles

Computational thinking lies at the heart of the course (45 hours) and is integrated with other topics. This will be supported by practical activities including programming.

External assessment (examination) focuses on the student’s algorithmic thinking, as much as their mastery of the syntax of a particular programming language.

You will therefore have to solve problems and produce pseudocode and/or flowcharts of algorithms designed to solve the problems set. How to think of ways to manipulate arrays is an essential skill.

An algorithm is a sequence of steps, instructions or procedures designed to solve a problem.

You will also learn how to implement algorithms using a high level programming language. (Easier to learn, more portable, debug and document than low level) There is no designated language but Python, Java,, Javascript and C# are the most popular.

The examples in Moodle are mainly non language specific. It contains what you need to know for the SL and HL papers.

It is important to realise there is nearly always more than one way to solve a problem algorithmically. The examination board's markscheme can give 3 different examples and even then you may come up with another. Remember too that no one has innate programming skills, practise makes perfect!

See Moodle for the rest of the notes

2. Computer Organisation (6hrs)

I have made topic 2 the first one to learn. I think it will help your credibility with friends and family if you know how computers work first.


1. System
Fundamentals (20 hrs)

Here we learn how new computer systems start with dissastifaction with how things are. We learn the principles of succesfully designing and implementing a new system into a business context.


3. Networks (9 hrs)

Networks involve hardware and software that need to keep to a set of rules to give us all their amazing benefits of shared resources and information


4. Computational thinking (45 hrs)

Here is where we learn how to create algorithms and programs to solve problems.


We will be using SoloLearn as well as in class teaching.

Computational thinking tasks.

1. Dog flap

2. Boys in a tunnel

3. Bad clock design