📄 Paper 1 · 4.1 Fundamentals of Programming
⭐ Pro
4.1.2a Procedural Programming & Structured Design
AQA 7517 · A-Level Computer Science · ~17 min read

Programming Paradigms

A programming paradigm is a fundamental style or approach to programming. AQA 7517 requires knowledge of four paradigms:

ParadigmCore ideaExamples
ProceduralStep-by-step instructions; uses procedures/functions, loops, conditionalsC, Pascal, early BASIC
Object-Oriented (OOP)Models the world as objects with state and behaviourPython, Java, C++
FunctionalPrograms as mathematical functions; avoids side effectsHaskell, Erlang
Declarative / LogicDescribes WHAT to compute, not HOWSQL, Prolog

Procedural Programming

Procedural programming executes instructions in sequence, using:

  • Sequence — instructions execute one after another in order
  • Selection — IF/CASE statements control which code runs
  • Iteration — FOR/WHILE/REPEAT loops repeat blocks of code
  • Subroutines — procedures and functions to modularise and reuse code

Structured Design

Structured design (also called top-down design or stepwise refinement) is the process of breaking a large problem into smaller, manageable sub-problems. Each sub-problem is solved independently and then combined.

Top-Down Design

Start with the high-level problem and repeatedly decompose it into sub-tasks until each task is simple enough to be implemented directly. Also called stepwise refinement.

Structure Charts

A structure chart is a visual representation of top-down design. It shows:

  • How modules (procedures/functions) relate to each other
  • Which module calls which
  • Data passed between modules (shown as arrows with labels)

Example: A program to process student marks might have a top-level module that calls: input marks, calculate average, output results, generate report.

Benefits of Structured/Modular Design

BenefitExplanation
Easier to writeEach module is small and focused on a single task
Easier to testModules can be tested in isolation (unit testing)
Easier to maintainChanges are isolated to specific modules
Code reuseModules can be called from multiple places or reused across projects
Team developmentDifferent team members can work on different modules simultaneously
AbstractionHigher-level modules don't need to know how lower-level modules work

Procedural vs. OOP

FeatureProceduralObject-Oriented
OrganisationAround procedures/functionsAround objects (data + behaviour)
DataPassed between proceduresEncapsulated within objects
Code reuseCalling procedures multiple timesInheritance and polymorphism
Best forSequential, algorithm-focused tasksComplex systems modelling real-world entities
Exam tip: AQA A-Level questions on programming paradigms often ask you to explain what procedural programming is and give its key features (sequence, selection, iteration, subroutines). They may also ask you to describe top-down design or structure charts. Know at least three benefits of modular design — these are frequently worth 3 marks each.
Click through the slides at your own pace. Use arrow keys or click to advance.
Click slide or press arrow keys to navigate

Worksheet — 4.1.2a Procedural Programming & Structured Design

8 questions · instantly marked · AQA 7517 standard

Q1State the four key features of procedural programming.[4]
✅ Mark scheme
Mark scheme
Sequence — instructions execute in order [1]; selection — IF/CASE controls which code runs [1]; iteration — loops repeat code [1]; subroutines — procedures/functions for modular reuse [1].
Q2Explain what is meant by top-down design (stepwise refinement).[2]
✅ Mark scheme
Mark scheme
Starting with the overall problem [1] and repeatedly breaking it down into smaller, more manageable sub-tasks until each is simple enough to implement directly [1].
Q3Describe what a structure chart shows and give two types of information it represents.[3]
✅ Mark scheme
Mark scheme
A structure chart is a visual diagram representing the modular/top-down design of a program [1]; it shows which modules call which other modules [1] and data passed between modules (shown as labelled arrows) [1].
Q4Give four benefits of modular/structured programming design.[4]
✅ Mark scheme
Mark scheme
Any four: easier to write (each module is small/focused) [1]; easier to test (unit testing in isolation) [1]; easier to maintain (changes isolated to one module) [1]; code reuse (modules called from multiple places) [1]; team development (parallel work on different modules) [1]; abstraction (caller doesn't need implementation details) [1].
Q5Name four programming paradigms and give one language example for each.[4]
✅ Mark scheme
Mark scheme
Procedural — C/Pascal [1]; Object-oriented — Python/Java/C++ [1]; Functional — Haskell/Erlang [1]; Declarative/Logic — SQL/Prolog [1].
Q6Explain the difference between procedural programming and object-oriented programming in terms of how they organise code.[2]
✅ Mark scheme
Mark scheme
Procedural programming organises code around procedures/functions and data is passed between them [1]; OOP organises code around objects that encapsulate both data and behaviour [1].
Q7A programmer uses top-down design to build a school management system. Give two modules that might appear at the second level (below the top-level module).[2]
✅ Mark scheme
Mark scheme
Any two sensible modules e.g.: add student [1]; record attendance [1]; generate report [1]; search student records [1]; update grades [1].
Q8Explain what is meant by abstraction in the context of modular programming.[2]
✅ Mark scheme
Mark scheme
Abstraction means hiding the implementation details of a module from the caller [1]; the caller only needs to know the module's interface (what it does and what parameters it takes), not how it works internally [1].
Topic Quiz
Question 1 of 15
You scored
out of 15
Card 1 of 12
Click to reveal definition
🎉
All cards reviewed!
TermDefinition
🎯

Mini Test — Procedural Programming

10 questions · 10 minutes

← 4.1.1g Stack Frames & Recursion
8 of 70 · AQA 7517
4.1.2b OOP Classes & Encapsulation →