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

Boolean logic worksheet pack

These three Boolean logic worksheets have exam style questions on logic sta...

Edexcel Computer Science (9-1)

by Ann Weidmann et al Amazon.com | Amazon.co.uk | Book Depository This bo...

Dijkstra's algorithm video

This video is probably the best explanation of Dijkstra's algorithm for IB ...

Input-Process-Output (IPO) Model

The Input-Process-Output model is a simple topic but some students sometime...


A comprehensive review of hexadecimal. The video covers not only how to u...

Subprograms, Local Variables & Structured Programming

Subprograms are known by several different names - methods, functions, proc...

Utility Software and Models

Some students find the difference between operating system software and ut...

Data Structures

This video explains different types of data structures - 1 dimensional ar...

Operating System (OS) - GCSE Computer Science

A detailed overview of operating systems, starting with the general tasks t...

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.

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

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