Machine Code
Low-level
Binary instructions directly executed by the CPU. Hardware-specific — code written for one processor won't work on another.
01001000 10001101 00000101
Fast to execute · Hard to write/read · Not portable
Assembly Language
Low-level
Uses mnemonics (short words) as a direct substitute for machine code. One assembly instruction = one machine code instruction.
LDA 5 ; Load value at address 5 ADD 10 ; Add 10 STA 20 ; Store result at address 20
Still hardware-specific · Easier than binary · Translated by an Assembler
High-Level Language
High-level
Human-readable. Portable — same code runs on different hardware. Abstracted from hardware details. Examples: Python, Java, C#.
total = sum(scores)
average = total / len(scores)
print(f"Average: {average}")
Portable · Easy to write · Must be translated before execution
Converts assembly language to machine code. One-to-one translation.
Translates the entire high-level program to machine code before execution. Creates a standalone executable file.
Translates and executes the high-level program line by line. No separate executable is created.
An IDE (Integrated Development Environment) combines tools to help programmers write, test and debug code efficiently.
Syntax Highlighting
Different elements of code are coloured — keywords, strings, comments. Makes code easier to read and spots errors visually.
Auto-complete
Suggests completions as you type — method names, variables. Reduces typing errors and speeds up coding.
Debugger
Step through code one line at a time. Inspect variable values at each step. Set breakpoints to pause execution.
Error Diagnostics
Underlines or highlights errors as you type. Shows error messages to help identify problems quickly.
Run Environment
Execute and test your program without leaving the IDE. See output in a built-in console window.
Version Control
Integration with tools like Git to track changes, revert to previous versions, and collaborate with others.
Classify each statement — does it describe a Compiler, Interpreter, or Assembler?
1. Describe two differences between a compiler and an interpreter. [4 marks]
Mark scheme — 2 marks per difference:
2. State one advantage of using an IDE when writing a program. [1 mark]
Mark scheme — any 1 of:
3. Explain why assembly language is described as a 'low-level' language. [2 marks]
Mark scheme:
4. State one advantage of a high-level language over a low-level language. [1 mark]
Mark scheme — any 1 of: