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

4.5 Programming Languages

Lesson resources

Programming languages activity
Programming languages starter
Little Man Computer (LMC) activities
Little Man Computer (LMC) activities
Programming langauges homework
Programming languages homework
Programming languages theory notes
Programming languages theory notes
Computer Science wordsearch pack
Computer Science word search pack
Computer Science crosswords pack
Computer Science crosswords pack
Recommended GCSE Computer Science textbooks
Edexcel Computer Science textbooks

4.5.1 High Level Languages and Low Level Languages

High 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
Programming languages

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.

A good follow up to this video is Translators (Assembler, Compiler & Interpreter), created by the same person.

Updated: 2018-02-17
Programming languages

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.

Updated: 2019-03-19

4.5.2 Assemblers, compilers, and interpreters


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.

Updated: 2018-02-17