programming languages & translators
4 detailed 50-minute lessons with teaching scripts, worked examples, parent guides, and assessment criteria.
4 detailed 50-minute lessons with teaching scripts, worked examples, parent guides, and assessment criteria.

Write down everything you already know about programming languages & translators. Then check against the key terms: Key Concept, GCSE Computer Science Exam Tips. Use a mini-whiteboard or paper.
Start with the revision notes summary, then attempt: Explain the difference between machine code and assembly language.
Your student states one thing they learned and one question they still have about programming languages & translators.
Quick recap: write 3 key points from Lesson 1 on programming languages & translators. Check them against the notes below.
| Term | Meaning | Example |
|---|---|---|
| MOV | Move | Copies a value to a register or memory location |
| ADD | Add | Adds a value to a register |
| SUB | Subtract | Subtracts a value from a register |
| CMP | Compare | Compares two values and sets flags |
| JMP | Jump | Jumps to another instruction (unconditional) |
| JE | Jump if Equal | Jumps if the previous comparison was equal |
| LD | Load | Loads data from memory into a register |
| ST | Store | Stores data from a register into memory |
Q: Explain the difference between machine code and assembly language.
Answer: Machine code is binary (0s and 1s) that the CPU executes directly. Assembly language uses mnemonics (short text codes like MOV, ADD) that are easier for humans to read. Each mnemonic corresponds to one machine code instruction. Assembly must be translated by an assembler.
Your student teaches the key points back to you without looking. Fill any gaps immediately.
Recall the key terms: Key Concept, GCSE Computer Science Exam Tips. Define each in one sentence.
Q1: Explain the difference between machine code and assembly language.
Answer: Machine code is binary (0s and 1s) that the CPU executes directly. Assembly language uses mnemonics (short text codes like MOV, ADD) that are easier for humans to read. Each mnemonic corresponds to one machine code instruction. Assembly must be translated by an assembler.
Q2: Compare a compiler and an interpreter in terms of how they translate code and when they find errors.
Answer: A compiler translates all source code into machine code at once, creating an executable. It finds syntax errors during compilation (before running). An interpreter translates and executes one line at a time. It finds errors at runtime (while the program is running).
Q3: Why might a programmer choose to write in assembly language instead of a high-level language?
Answer: To have direct control over hardware (registers, memory addresses), to write very fast-executing code, or to write code for embedded systems with limited resources where high-level languages may be too resource-heavy.
Q4: What is the role of an assembler?
Answer: An assembler is a translator program that converts assembly language code (mnemonics) into machine code (binary). It performs a one-to-one translation where each mnemonic becomes one machine code instruction.
Q5: Give two advantages and two disadvantages of using a high-level language compared to assembly language.
Answer: Advantages: easier to read/write/debug, portable across different platforms, one statement does more work (fewer lines needed). Disadvantages: slower execution (needs translation), less direct hardware control, the programmer doesn't control exactly what the CPU does.
Review any questions answered incorrectly. Identify whether the error was knowledge, method, or reading the question.
Review what these command words require: state (one point), describe (say what happens), explain (say why), compare (both sides), evaluate (judgement).
Extended question: Full-Mark Response Compare high-level and low-level programming languages, giving two advantages of each. Explain why a device driver might be written in a low-level language. [5 marks] <div class="
High-level languages (e.g. Python, Java): Advantage 1: Easier to read, write and debug because they use English-like commands Advantage 2: Portable — code can run on different hardware architectures with minimal changes Low-level languages (e.g. assembly): Advantage 1: Direct hardware control — can access specific memory addresses and CPU registers Advantage 2: More efficient — produces faster, more compact code with no unnecessary instructions A device driver would be written in a low-level language because it needs direct access to hardware components (ports, registers, memory-mapped I/O). High-level languages abstract away these hardware details, making them unsuitable for the precise, hardware-specific operations a driver must perform. Low-level code ensures the driver can communicate with the device at the register level.
You are ready for programming languages & translators - GCSE Computer Science Lessons when you can:
Tick each item honestly — if any box is unticked, re-read the relevant section above.
How examiners mark programming languages & translators - GCSE Computer Science Lessons: Read the command word carefully — State = one word/phrase (1 mark), Describe = pattern or detail (2 marks), Explain = reason with "because" (2–3 marks), Compare = similarities AND differences, Evaluate = both sides + conclusion. Method marks are awarded for correct working even if the final answer is wrong. Always show your working — unexplained answers score zero for AO2.
Success on programming languages & translators - GCSE Computer Science Lessons questions: Underline the command word, count the marks (one mark per point expected), and answer in the format the command word demands.
This lesson is examined by: AQA 8525 | Edexcel 1CP2 | OCR J277 | Eduqas on-screen+theory. Tier and paper details vary - always check your board's current specification.
Follow-up revision: CS26-programming-languages-translators on GCSE Revise (notes, flashcards and auto-graded target tests for this exact topic).