Choose exam board for KS4 Computer Science (GCSE)
Choose exam board for KS4 English
Choose exam board for KS4 French
Choose exam board for KS4 Geography
Choose exam board for KS4 German
Choose exam board for KS4 History
Choose tier for KS4 Maths
Choose exam board for KS4 Music
Choose exam board for KS4 Physical education (GCSE)
Choose exam board for KS4 Religious education (GCSE)
Choose exam board for KS4 Spanish

      Developing code for a programming project

      Lesson details

      Learning outcome

      I can develop and write code that meets functional requirements.

      Key learning points

      1. Functional requirements define the specific actions or behaviours that a software system or application must perform.
      2. Functional requirements can be split into the inputs, processes and outputs of a program.
      3. Validation can be used to check that data is acceptable by comparing it against a set of criteria.
      4. A list is a dynamic data structure that can contain items of different data types.

      Keywords

      • Functional requirements - defines the specific actions or behaviours that a software system or application must perform

      • Validation - checking that data is acceptable by comparing it against a set of criteria

      • List - a dynamic data structure that can contain items of different data types

      Common misconception

      The append() method will replace the existing contents of a list.

      The append() method will add an item to the end of an existing list but it will not replace or overwrite any existing items in a list.

      Teacher tip

      This programming project is designed to come at the end of a sequence of programming units. It does include recap material on core requirements, but it would be useful if pupils had completed the units on sequence, selection and iteration before completing this lesson.

      Equipment

      Pupils will need access to a device that can edit and run Python programs. Examples in this lesson use the RPF Code Editor https://oak.link/python-editor

      Licence

      This content is © Oak National Academy Limited (2026), licensed on Open Government Licence version 3.0
      except where otherwise stated. See Oak's terms & conditions
      (Collection 2).

      Lesson video

      Loading...

      Prior knowledge starter quiz

      6 Questions

      Q1.
      What is the main purpose of using a flowchart during program design?

      to create colourful diagrams
      Correct answer: to visually organise the logic and sequence of a program
      to write code in a programming language
      to list the hardware needed

      Q2.
      Which of the following best describes pseudocode?

      a graphical tool
      a programming language
      a type of computer hardware
      Correct answer: a way to express algorithms using everyday language and structure

      Q3.
      Why is structured design important before starting to write code?

      Correct answer: It helps prevent mistakes and makes coding more efficient.
      It adds unnecessary steps.
      It ensures the program will run faster.
      It is only used for large projects.

      Q4.
      In pseudocode, how are decisions typically shown?

      Correct answer: with “If…then…else” statements
      using curly brackets
      by drawing arrows
      using hashtags

      Q5.
      Arrange the following in the correct order for using a flowchart

      1 - identify start point
      2 - add process steps
      3 - include decision points
      4 - mark the end point

      Q6.
      Match each keyword to its correct description:

      Correct Answer:flowchart,a diagram using symbols to show logic
      Correct Answer:pseudocode,step described in plain English
      Correct Answer:decision,point where a choice is made
      Correct Answer:process,instruction or calculation in a sequence

      6 Questions

      Q1.
      What are functional requirements in software development?

      Correct answer: the specific actions a system must perform
      the visual appearance of an application
      the hardware needed for a project
      the cost of the software

      Q2.
      What is the name for the process that checks whether input data meets certain criteria before it is accepted by a program?

      Correct Answer: validation

      Q3.
      Match each example to the correct concept:

      Correct Answer:input,user enters their username
      Correct Answer:validation,program checks if the input is not empty
      Correct Answer:storage,program saves the username in a list
      Correct Answer:output,program displays a welcome message

      Q4.
      What method would you use to add a new item to an existing list in Python?

      Correct Answer: append()

      Q5.
      What happens if invalid data passes through a program without validation?

      the data is automatically corrected
      Correct answer: the program may behave unpredictably
      the program becomes faster
      the output is always accurate

      Q6.
      What type of data structure is a list?

      only stores text
      only stores numbers
      fixed and unchangeable
      Correct answer: dynamic and able to change size

      To help you plan your 11 computer science lesson on: Developing code for a programming project, download all teaching resources for free and adapt to suit your pupils' needs...