Teach Computing

Revision notes, activities, lesson plans, teaching ideas, and other resources for GCSE, A-Level, and IB Computer Science teachers and students.

What's New

Examples of Local Cryptocurrencies

Digital Money for Local Communities covers three examples of country-wide c...

Hash function A hash function takes arbitrary sized input data (e.g. a fil...

Cryptocurrencies vs regular currencies

What is Bitcoin and How Does it Work? is a high level overview of the Bitco...

Examples of Cryptocurrencies

Bitcoin is by far the most well known cryptocurrency. The Bitcoin website w...

Practice paper 3 exam questions

One of the drawbacks of the yearly case study is that there are no past p...

Emergency Management System Explainer Video

This short video gives an overview of some EMIS features. It includes many ...

Geographic Information Systems (GIS)

For some functionality, an EMIS may also be connected to a GIS (Geographic ...

Programming languages - from Scratch to machine code

The CS Field Guide has a very comprehensive guide to different types of pro...

Assembly language simulators

There are several assembly language simulators available for use online. Si...

Resources discount offer

2. Programming

Lesson resources

Algorithms & Programming game
Algorithms & Programming revision game
Recommended GCSE Computer Science textbooks
Edexcel Computer Science textbooks
Book of Programming Ideas

Book of Programming Ideas

The Book of Programming Ideas document contains 64 example programming exercises for students to try. The sections cover everything from basic input and output exercises through to subroutines, functions, and file handling. There are Python and Java versions of the document, although all exercises are written to be language-independent.

Updated: 2018-01-10
Book of programming challenges

The Little Book of Programming Challenges

This book contains 27 programming tasks for students. They range from simple assignments that output messages and variables to the screen, to more complex programs to play simple games or solve common problems. Each activity lists the required programming knowledge (e.g. loops) to complete it. This is a really useful booklet for starter or extension tasks, allowing students to work at their own pace. The activities are written so that they are language independent.

This booklet was created by Stuart Lucas and Michael Kölling and is licensed under the Creative Commons Attribution Share Alike licence. You can download the PDF version and a Microsoft Publisher version, allowing you to edit the booklet.

Updated: 2015-05-13
Java help sheets

Java help sheets

These Java Helpsheets cover various aspects of the language including if statements, data types, loops (while and for), and the Scanner class. Each sheet summarises the concept and provides several example lines of code.

The sheets can be printed out on A4 or A3 paper and make excellent wall displays to help students who are new to programming.

This resource was created by Matt Lowe and is released under the CC-BY-ND licence.

Updated: 2015-09-07
Python lesson

Lesson starter: Loops in Python

This Python handout and the PowerPoint version are designed to test students' understand of loops in Python. The second example includes an infinite loop for students to spot. The third example demonstrates working code with awful variable names - a good opportunity to highlight how 'simple' things like these can help make code much more (or less) readable.

Updated: 2017-10-17
Programming project

Programming project: Ice cream shop

This simple programming project requires the input of ice cream preferences (size, sprinkles, etc) and then calculates the total cost. The emphasis is on accepting and validating user input. With many different combinations of ice cream and prices available, this is also a good chance to talk about testing.

The project is written to be programming language agnostic: we have used it successfully with Python and Java, but it is possible to use it while teaching most languages.

Skills required: selection / if statements, while loops

Updated: 2017-10-17
Code Academy

Code Academy

Code Academy is an incredibly popular site for good reason. It has a range of excellent programming tutorials that focus on practical skills development, providing students with 'bite-sized' programming tasks that have clear and easily achievable goals that stop students getting discouraged. The system also keeps track of students' progress and allows them to learn at their own pace. Python seems to be a particularly popular language for beginners (particularly for GCSE and IGCSE), and I have found the Code Academy tutorials to be very useful for my students.

Compiled languages such as Java and C/C++/C# do not generally have tutorials on Code Academy, but as these are generally considered languages for students with more programming experience, this should not be much of a problem.

Updated: 2018-01-10