Revision notes, activities, lesson plans, teaching ideas, and other resources for GCSE, A-Level, and IB Computer Science teachers and students.
Examples of Local Cryptocurrencies
Digital Money for Local Communities covers three examples of country-wide c...
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...
1.2 Software and Software Development
Click here for recommended OCR A-Level Computer Science textbooks.
This video explains different types of data structures - 1 dimensional arrays (or just 'arrays'), 2 dimensional arrays, and records. The example code is given in Python, which makes this video perfect for many GCSE courses.
1.2.2 Applications generation
Utility Software and Models
Some students find the difference between operating system software and utility software hard to understand. This video should help clarify the differences (and also the difference between application software and utility software), with plenty of good examples. It also covers the basics of computer software models.
Translators (Assemblers, Compilers & Interpreters)
The relationships between translators, compilers, and interpreters confuses many students. Throw in assemblers and it can be hard to understand anything about this topic. This video tries to address that confusion, with clear explanations and lots of clear examples.
I'd recommend watching the video Machine, Assembly & High-Level Programming Languages (from the same creator) first, particularly if you're unclear about the difference between assembly language and higher level languages like Python.
1.2.3 Software development
1.2.4 Types of programming language