Revision notes, activities, lesson plans, teaching ideas, and other resources for GCSE, A-Level, and IB Computer Science teachers and students.
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...
Little Man Computer (LMC)
The Little Man Computer (LMC) is a software simulator of a simple computer ...
Lesson - Data representation - sound
This download contains all lesson resources necessary to teach students how...
Predictive placement is a feature of some CAD systems that enables more e...
AI to help emergency dispatch phone operators
The Singapore Civil Defence Force (SCDF) may trial an AI system to help tra...
Mobile Data Terminals (MDT)
MDT technology is referenced in the case study booklet, with such systems b...
TriTech Software Systems is a company that specialises in Computer Aided Di...
Spillman are another company with a range of CAD systems. Their Spillman Fl...
Click here for recommended AQA A-Level Computer Science textbooks.
Relationship between hardware and software
Classification of software
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.
Operating System (OS) - GCSE Computer Science
A detailed overview of operating systems, starting with the general tasks they perform (process management, memory management, user interface) and then going into more detail about how these tasks are performed. The video is aimed at GCSE courses and so does not go into lots of detail about how (for example) an OS schedules tasks - but it is more than enough to cover the GCSE syllabus.
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.