Paradigms (Cambridge (CIE) A Level Computer Science): Revision Note

Exam code: 9618

Robert Hampton

Written by: Robert Hampton

Reviewed by: James Woodhouse

Updated on

Paradigms

What is a programming paradigm?

  • A programming paradigm is a style or approach to programming that influences:

    • How programs are written

    • How problems are broken down

    • How solutions are structured

  • Different paradigms are suited to different types of problems and systems

Programming paradigms comparison table

Paradigm

Description

Key characteristics

Examples

Low-level

Closest to machine code, using mnemonics to directly control hardware

- Direct memory access
- Register manipulation
- Hardware-specific instructions

x86 Assembly, ARM Assembly

Imperative (Procedural)

Tells the computer how to perform tasks using sequences of commands

- Step-by-step instructions
- Use of loops, conditions
-Procedures/functions

C, Pascal, Python (procedural)

Object-Oriented

Models real-world entities using objects that combine data and behaviour

- Classes and objects
- Encapsulation, inheritance, polymorphism
- Modularity

Java, C++, Python (OOP)

Declarative

Describes what should be done, not how to do it

- Rule-based or logic-based
- No explicit control flow
- Focus on outcomes/results

SQL, Prolog, Haskell

Strengths and weaknesses of programming paradigms

Paradigm

Strengths

Weaknesses

Procedural

- Clear flow of control (top to bottom)
- Efficient for simple tasks
- Easy to implement algorithms
- Strong step-by-step logic

- Becomes hard to manage in large programs
- Poor modularity can lead to redundancy
- Not ideal for complex state-based systems

Object-Oriented

- Enhances modularity with encapsulation
- Real-world modelling via objects
- Code reuse through inheritance
- Polymorphism for flexible interfaces

- Can become overly complex
- Slower due to object overhead
- Misuse leads to bloated hierarchies
- Not ideal for every problem

Low-Level (Assembly)

- Complete control over hardware
- Highly optimised for performance
- Transparent view of machine operations

- Steep learning curve
- Hardware-specific, not portable
- Manual memory management is error-prone
- Difficult to debug/scale

Declarative

- Focuses on the result rather than the process
- Concise and expressive
- Suitable for complex logic or rule-based problems (e.g. AI, SQL queries)

- Harder to learn for beginners
- Less control over program flow
- Not suited for all types of problems
- Debugging can be challenging due to abstraction

You've read 1 of your 5 free revision notes this week

Unlock more, it's free!

Join the 100,000+ Students that ❤️ Save My Exams

the (exam) results speak for themselves:

Did this page help you?

Robert Hampton

Author: Robert Hampton

Expertise: Computer Science Content Creator

Rob has over 16 years' experience teaching Computer Science and ICT at KS3 & GCSE levels. Rob has demonstrated strong leadership as Head of Department since 2012 and previously supported teacher development as a Specialist Leader of Education, empowering departments to excel in Computer Science. Beyond his tech expertise, Robert embraces the virtual world as an avid gamer, conquering digital battlefields when he's not coding.

James Woodhouse

Reviewer: James Woodhouse

Expertise: Computer Science & English Subject Lead

James graduated from the University of Sunderland with a degree in ICT and Computing education. He has over 14 years of experience both teaching and leading in Computer Science, specialising in teaching GCSE and A-level. James has held various leadership roles, including Head of Computer Science and coordinator positions for Key Stage 3 and Key Stage 4. James has a keen interest in networking security and technologies aimed at preventing security breaches.

Download notes on Paradigms