Week 3Third Term

Revision: Programming, Algorithms and Data Structures

Print lesson pack
On this page9 sections
  1. 01Lesson objectives
  2. 02Key vocabulary
  3. 03Common misconceptions
  4. 04Teacher activities
  5. 05Student activities
  6. 06Practical / learning evidence
  7. 07Resources and preparation
  8. 08Assessment for learning
  9. 09Inclusion and extension

Lesson objectives

By the end of the lesson sequence, learners should be able to:

  1. Define the central concepts and use precise technical vocabulary.
  2. Explain the relevant components, models, processes or principles.
  3. Analyse, compare, calculate, design or justify solutions using appropriate criteria.
  4. Apply the concepts in a practical task and produce inspectable evidence.
  5. Test or review their work, identify limitations and explain safe, ethical or secure practice where relevant.

Key vocabulary

  • Algorithm: a step-by-step procedure for solving a problem.
  • Program: an implementation of an algorithm in a programming language.
  • Data structure: a way of organising data for efficient access and modification.
  • Linked list: a linear collection of nodes where each points to the next.
  • Stack: a LIFO (last-in, first-out) data structure.
  • Queue: a FIFO (first-in, first-out) data structure.

Common misconceptions

  • "An algorithm and a program are the same." An algorithm is the logic; a program is the code.
  • "Stacks and queues are interchangeable." They have different access patterns (LIFO vs FIFO).
  • "Arrays are the only data structure." Trees, graphs and hash tables are also essential.

Teacher activities

  1. Open with a diagnostic/retrieval task linked to prerequisite knowledge.
  2. Present objectives, technical vocabulary and the problem or use case.
  3. Teach through concise explanation, annotated diagrams, worked examples and live demonstrations.
  4. Model the expected reasoning or technical workflow, including common failure cases.
  5. Set guided practice and then an independent or team task; monitor progress and provide targeted feedback.
  6. Facilitate peer review, question learners on design decisions and consolidate the lesson.

Student activities

  1. Complete the starter and identify gaps in prerequisite knowledge.
  2. Annotate notes, diagrams, code, tables or process models.
  3. Explain a concept or predict the outcome of a worked example.
  4. Complete the practical/problem-solving task and document the steps taken.
  5. Test results with more than one example where appropriate; debug or revise errors.
  6. Present or submit the output and reflect on quality, limitations and responsible use.

Practical / learning evidence

Produce a topic-appropriate artefact such as a labelled architecture/network diagram, algorithm, flowchart, pseudocode, tested program, database schema/query, web page, spreadsheet, graphics design, security policy, project document or structured written analysis. The teacher must define the precise task, constraints and success criteria.

Resources and preparation

Computers/devices, required software or development environment, projector, sample datasets, notes and reliable power. Prepare test data and an offline route where possible. Use fictional or anonymised data; do not expose personal learner information in demonstrations.

Assessment for learning

Assess conceptual precision, reasoning, technical correctness, test coverage, safe/ethical practice, documentation and ability to justify decisions. Use questioning, code/output inspection, practical demonstration, short written analysis and peer review. Record misconceptions and reteaching needs.

Inclusion and extension

Provide scaffolded examples, reference sheets, accessible formats and structured roles for group tasks. Extend advanced learners with edge cases, larger datasets, performance/security considerations or alternative solution designs. Avoid assuming equal access to devices or connectivity outside school.