Computing: Resources to teach computational thinking and programming

Stephanie Burke
03rd September 2019
children coding, programming, computing

Computational thinking and programming

Computational thinking is a vital skill for today's learners to practise and perfect, both within computing lessons and in general. An important application of computational thinking is in computer programming - we have selected a range of resources below to help you tackle these important areas in your computing lessons.

Computational thinking

Check out these resources for some great ways to demonstrate and explore computational thinking with your students, at KS3 and KS4.

Computational Thinking for KS3

This unit of work introduces students within KS3 to the concepts of computational thinking by helping Rob-bot the robot make a jam sandwich. Through the activity, students will learn about decomposition, pattern recognition, abstraction and algorithm design (through both basic flowcharts and pseudo code). They will also lean about the importance of debugging their algorithms.

The duration of this work usually takes between 2-3 hours to complete, so is perfect as an introductory unit to computational thinking and programming.

***Please leave a review!***

By RobbotResources


Activities to enable students to develop and demonstrate an understanding of Decomposition, Pattern Recognition and Abstraction to solve problems.
By robertbulmer

Knowledge Organiser Computational Thinking

Used in my school for yr 7, but suitable for any age group needing revision or intro to the key concepts behind computational thinking.

By Annette

Computational Thinking for KS4

This comprehensive unit of work introduces the concepts of computational thinking to students at KS4. It covers all elements of computational thinking such as Decomposition, Pattern Recognition, Abstraction and Algorithmic Design. I have also included debugging within the work.

Each section is explained and followed by tasks to help develop student understanding. I have also included a ‘supermarket sweep’ computational thinking problem and a final project exercise which has three levels of difficulty.

2018 Update: Improved Grammar and clarity of task requirement.

***Please leave a review!***

By RobbotResources

General programming

These resources will give your students a general and theoretical understanding of what computer programming is, regardless of the programming language that you choose.

J276 Computing 2.2 Programming techniques

This is a very comprehensive revision lesson (for Year 11 GCSE students) covering 2.2 in the OCR Computing spec.

  • the use of variables, constants, operators, inputs, outputs and assignments
  • the use of the three basic programming constructs used to control the flow of a program:
    * sequence
    * selection
    * iteration (count and condition controlled loops)
  • the use of data types:
    • integer
    • real
    • Boolean
    • character and string
    • casting
  • the common arithmetic operators
  • the common Boolean operators.

The concepts are illustrated with Python examples and there are questions built into the PowerPoint.

The worksheet asks students to show their understanding of the concepts covered in the lesson, by identifying them within a Python program.

There is also a link to a Quizizz online multichoice test. (This is actually a resource that anyone can access but was written to support this lesson)

By comscianditguy

Introduction to programming theory for GCSE Computer Science

Teach students about programming . They study basic strings and how computers store and manipulate data.

This resource is not based on any particular programming language, so is applicable for any particular language you choose.
By studeapps

Validation and verification in a robust program

Ever wondered what the exam boards mean by a robust program? Here is a working example of a robust program created in Python. It includes the Python program, an SQL database it links to along with a walkthrough PDF explaining the main points of the program.

The program displays the following programming skills:

  • Selection
  • Iteration
  • String manipulation
  • Using logical and Boolean operators
  • Creating and calling subprograms
  • Passing variables between subprograms
  • Validation
  • Verification
  • Writing to and reading from an external file
  • Searching for data using SQL
  • Good programming practice

Please note: This is a robust program, however that does not make it indestructible :)

By nwilkin

GCSE Computer Science Knowledge Organiser - Programming Basics

A knowledge organiser for the GCSE Computer Science topic of Programming Basics. Includes pseudocode information and representation using block programming to help make links from earlier learning. Each organiser contains key words, key skills and key knowledge. These are great for student revision, or as teaching aids for staff to be aware of the breadth of the module.

Toby Watkins

By MrWatkins123

Programming with Python

Choose these resources if you are teaching programming using Python. They include full lessons, a student workbook and a super value bundle containing a full unit of work.

Programming Constructs - Introduction with Python (Programming, Flowcharts, Algorithms, Python)

This free resource consists of two PowerPoint presentations; one for the teacher and the other for students. There are three student activities relating to programming constructs (sequence, selection and iteration), developing flowcharts, and identifying programming constructs in pseudocode. Only the teacher PowerPoint contains the answers. There is also a link to a programming construct quiz (on 101 Computing) which can be used as a plenary, and a Python programming challenge for students who already are some programming experience. Please leave positive feedback if you enjoyed using this resource.
By ICT Resources

Diving into Python: Fun Programming for 11-15 year olds. (v0.2)

A compact booklet (designed to be printed as small as folded A4 into A5). Designed for 11-15 year olds to get them into programming Python. Some fun/interesting examples...
Downloading Python
Saving & Running
Selection (I've been expecting you Mr Bond)
Keyboard essentials (short cuts)
Secret Message (IF selection,)
Boolean Operators
Truth Table
Forever loop: Iteration
For Loop (blast off!)
Who is this guy? (nested IF)
Introduction to Flowcharts
Random number guessing game
Ninja Python Turtle (for loop iteration)
Shhh, Caesar Cipher Function
Kim's Game (Variation) using a custom function and loading an external text file.

Enjoy :-)
By clickschool

Introduction to Python Programming - Learn to Code!

This whole unit of work includes all my Introduction to Python Programming lessons within one bundle! Alongside the basic instructions this bundle includes the following resources:
1. Print statements, data types and mathematical calculations.
2. Using variables.
3. Adding comments.
4. If statements and Boolean.
5. Arrays / Lists.
6. manipulating string.
7. Looping.

Each resource includes differentiated activities to consolidate learning as well as final unit challenges to assess understanding.

Save almost 40% when purchasing all these resources together!
By RobbotResources

Introduction to Python - A Textbook for GCSE

I couldn't find a good Python text book for the new OCR GCSE Computing Specification, so I wrote one. Couple of typos in there and you'll need your own judgement as to what to introduce and when but you can't beat it for the price! Keywords: code, loops, iteration, selection, algorithm, KS4
By HappyHippy

Programming with Scratch

These resources will be perfect if you are using Scratch to teach programming.

Scratch Programming - Computational Thinking Homework 2

Computational Thinking (learning to think in a logical/problem solving way) is the buzz word in the teaching of programming. By teaching students to predict the outcome of small pieces of code they naturally become better at building their own programs.

Although this homework uses Scratch program code, the code is simply a vehicle to ask the questions and the homework may be used with students who have never seen Scratch.

Permission has been granted by the Scratch team to uses images of Scratch code.

Have fun. My students loved these!

Previously downloaded 30,000 times on a few websites comments have included:
"Thanks, these look like really good examples and introduce code in a fun and engaging way."
"Very useful. I'll use for a Maths class as well."
"Great examples to understand code. Thank you for sharing it."
By snegreid

Scratch Programming Coding Mazes: Coding Unplugged Activities

Let your students become familiar with Scratch Programming before they even use the software. Students are given a maze with symbols on them. They have to choose the correct Scratch blocks to guide the cat sprite to the end of the maze. Each maze gets progressively harder.
By balsamgr8

Scratch SoW

A complete 6 week Scratch unit (Using Scratch version 1) to teach pupils the basics of using this fantastic and easy programming language. If you want an improved SoW for Secondary pupils look at our unit (£15 ) which is updated for Scratch 2.

This resource includes:

  • Teacher guide (including lesson plans)
  • PowerPoint presenation for every lesson,
  • Place mats to keep pupils active even if they are sharing a computer
  • Student self-assessment mark sheet
  • A zip-file containing 4 Scratch files

This SOW includes PowerPoint presentations with embedded videos, however, the videos can also be viewed through YouTube

For more high-quality resources visit

By nwilkin

KS2 and KS3 Computing: Drawing with Scratch

This lesson allows pupils to practice using the pen tool in Scratch and uses the 'repeat' function to create mathematical shapes. This lesson does assume the pupils have a basic understanding of using Scratch. This lesson is part of the complete schemes of work available on
By nwilkin

Contact us

Visit our forums

Latest education news

New to TES Resources ? Find out more about becoming an author on TES, or dive straight in and start downloading.