Computing, Computer Science, and Information Technology resources for GCSE, IGCSE, IB, and GCE A-Level
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...
4.5 Programming Languages
Lesson resources
Programming languages starterLittle Man Computer (LMC) activitiesProgramming languages homeworkProgramming languages theory notesComputer Science word search packComputer Science crosswords packEdexcel Computer Science textbooks
4.5.1 High Level Languages and Low Level Languages
Edexcel GCSE Computer Science: Programming Languages
Covers high level programming languages and low level programming languages, plus the difference between compilers and interpreters, for Edexcel topic 4.5 but also useful for other exam boards.
Updated: 2016-10-17
Machine, Assembly & High-Level Programming Languages
A clear explanation of the differences between the many programming languages available. Near the beginning of the video is an excellent diagram that shows machine code, low level languages, high level languages, and human languages on the same continuum, to help you understand how they differ. It then goes into more detail about the benefits and drawbacks of each language type.
Programming languages - from Scratch to machine code
The CS Field Guide has a very comprehensive guide to different types of programming languages. These range from very high level graphical languages such as Scratch, down to assembly language and machine code. The differences between each language type are clearly explained. There are also lots of interactive elements to try, including a MIPS assembler and simulator to allow students to try assembly language without risk of damage to their machine.
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.