IGCSE · Practice questions · High-level and low-level languages

Pick your level.

Six original Cambridge-style questions on high-level and low-level languages and assembly language, with mark-scheme solutions.

Original questions All questions on this page are original work, written in the Cambridge IGCSE style. They are not from past papers. They test the same concepts and skills the syllabus rewards.
Keep these straight

Four comparison points.

01
Explain
[2 marks]

Explain what is meant by a high-level language.

  • A programming language that uses English-like statements / is close to human language. ✓
  • It is machine independent and must be translated (by a compiler or interpreter) before it can be executed. ✓
02
Explain
[4 marks]

Give two advantages and two disadvantages of writing a program in a low-level language.

  • Advantage: allows direct manipulation of the hardware. ✓
  • Advantage: code can be more efficient: faster and using less memory. ✓
  • Disadvantage: hard to read, write and debug. ✓
  • Disadvantage: machine dependent, so it only runs on one type of processor. ✓
03
Recall
[3 marks]

Assembly language is a form of low-level language. State what is used to write the instructions, and what is needed before an assembly language program can be executed.

  • Instructions are written using mnemonics (short codes such as LDD, ADD). ✓
  • An assembler is needed. ✓
  • It translates the assembly language program into machine code. ✓
04
Apply
[2 marks]

A company is writing a program to control the motor in a washing machine and needs to access specific memory locations. State which type of language should be used and give a reason.

  • A low-level language (assembly language). ✓
  • It allows direct manipulation of the hardware / specific memory locations (and gives efficient code). ✓
05
Apply
[2 marks]

A team of programmers is writing a large online shop that will be updated by different people over many years. Explain why a high-level language is more suitable than a low-level language.

  • High-level code is English-like, so it is easier for different programmers to read, write and understand. ✓
  • It is easier to debug and maintain (and is machine independent, so it can run on different servers). ✓
06
Analysis
[2 marks]

A student says: "Assembly language is a high-level language because it uses letters, not binary." Explain why the student is wrong.

  • Assembly language is low-level: each mnemonic matches a machine code instruction for a particular processor. ✓
  • Using letters (mnemonics) does not make it high-level; it is still machine dependent and needs an assembler. ✓

Mark this once you have attempted all six and checked your working. It records a Practiced badge on the topic and adds a one-time bonus. Revealing the solutions alone does not count.