Back to the topic

The mark scheme starts on a new page, so you can print pages one and two for a student and keep the last page yourself. Everything prints in black on white whichever theme you are using.

Python · A Level 22

The Programming Project (NEA)

Section A: 10 multiple choice questions, 10 marks. Section B: 5 written questions, 19 marks. Total 29 marks.

Name

Class

Date

Mark  / 29

Section A

Circle the letter of the correct answer. One mark each.

  1. 1What makes a success criterion good?1
    1. AIt is written in general terms, so that it is hard to argue that it was not met
    2. BIt is measurable, so another person could test it and agree whether it was met
    3. CIt is chosen once the program has been finished, so that it can be met
    4. DIt describes how the solution will be coded, in as much detail as possible
  2. 2Who are the stakeholders of a project?1
    1. AOnly the teacher who marks the project
    2. BOnly the people who find out about it after it has been released
    3. CThe people who use it, or have an interest in it, such as the client and the users
    4. DOnly the programmer who writes the code
  3. 3What is decomposition?1
    1. ATesting the program by running it on the slowest computer
    2. BWriting the program from the end to the beginning
    3. CBreaking a problem into smaller parts that can be solved and tested separately
    4. DRemoving the parts of a program that are never used
  4. 4When should the test plan be written?1
    1. AOnly after the user has reported a fault
    2. BAt the same time as the final evaluation
    3. CAfter all of the code has been written
    4. DDuring the design, before the solution is built
  5. 5What is iterative development?1
    1. ABuilding a solution in stages, testing and reviewing each stage before the next
    2. BAsking a different programmer to write each stage of the solution
    3. CWriting the same code several times in different languages
    4. DWriting all of the code first and testing it once at the end
  6. 6Why is a test that failed and was then fixed valuable evidence?1
    1. AIt shows that the stakeholders were not consulted
    2. BIt shows that the solution is poorly written
    3. CIt shows that testing found a fault, and that the fault was corrected
    4. DIt proves that the test plan was written after the code
  7. 7How should an evaluation judge the finished solution?1
    1. ABy stating that the solution works and the programmer is pleased with it
    2. BBy comparing it with another student's project
    3. CBy counting the number of lines of code that were written
    4. DAgainst each success criterion, using evidence such as test results and user feedback
  8. 8Which of these is evidence of good maintainability?1
    1. AMeaningful names, comments, constants and a modular structure
    2. BVariable names that are as short as possible
    3. CPlacing all of the data in global variables
    4. DA single long program with no comments
  9. 9What is the purpose of version control in a project?1
    1. ATo record a history of changes, so that earlier versions can be recovered
    2. BTo make the program run faster on older computers
    3. CTo check that the program has no syntax errors
    4. DTo make sure that the program is the only copy that exists
  10. 10What should a student do if they use a piece of code from a website in their project?1
    1. AChange the variable names so that it looks different
    2. BClearly identify it, and say where it came from
    3. CDelete any comments that it came with
    4. DLeave it out of the documentation, as it is only a small part

Section B

Answer in the space provided. The number of marks tells you how many separate points to make.

  1. 1ExplainExplain why success criteria should be measurable, and write one measurable success criterion for a program that stores a student's revision flashcards.4
  2. 2DescribeDescribe two things that should be included in the design of a programming project before any code is written.4
  3. 3ExplainExplain what is meant by iterative development, and why it is a suitable way of building a project.4
  4. 4ExplainA student's evaluation says that the project was successful and the users liked it. Explain why this would earn few marks, and describe what the evaluation should contain instead.4
  5. 5DescribeDescribe how the use of version control and regular backups helps a student who is developing a programming project.3

Mark scheme

Section A

1B2C3C4D5A6C7D8A9A10B

Section B

1 Explain why success criteria should be measurable, and write one measurable success criterion for a program that stores a student's revision flashcards. 4

One mark for each of the following, to a maximum of 4.

  • The finished solution is judged against the success criteria in the evaluation
  • A measurable criterion can be tested, so there is evidence of whether it was met
  • A vague criterion, such as easy to use, cannot be tested and so cannot be judged
  • A suitable example, such as a card answered correctly moves up one box and is due again after the interval for that box

Model answer. Success criteria are what the finished solution is judged against in the evaluation. A measurable criterion can be tested, so there is evidence of whether or not it was met, whereas a vague criterion, such as the program being easy to use, is an opinion that cannot be tested. A measurable criterion for the flashcard program is that a card answered correctly moves up one box and is next due after the number of days set for that box.

2 Describe two things that should be included in the design of a programming project before any code is written. 4

One mark for each of the following, to a maximum of 4.

  • A decomposition of the problem into smaller parts, such as a structure diagram
  • This shows how the program will be organised, so that each part can be built and tested separately
  • A test plan, listing the test data and the expected results
  • Written before coding so that the expected results are worked out from the design and not from the program's output
  • Other acceptable items, such as algorithms in pseudocode, data design or interface designs

Model answer. The design should include a decomposition of the problem into smaller parts, for example a structure diagram, which shows how the program will be organised so that each part can be built and tested on its own. It should also include a test plan, listing the test data and the expected results, which are worked out from the design before the code is written, so that the tests are not just a copy of whatever the program happens to output. Algorithms in pseudocode, data design and interface designs would also be suitable.

3 Explain what is meant by iterative development, and why it is a suitable way of building a project. 4

One mark for each of the following, to a maximum of 4.

  • The solution is built in stages, and each stage is tested before the next is started
  • Each stage builds on a part that is already known to work
  • Faults are found while only a small amount of new code could be responsible
  • Feedback from the stakeholders can be used to change what is built next, and the stages give evidence of the development

Model answer. Iterative development means that the solution is built in stages, with each stage tested, and reviewed before the next is started, so that each stage builds on a part that is already known to work. It is suitable for a project because faults are found early, when only a small amount of new code could be the cause, and feedback from the stakeholders can be used to change what is built next. The record of the stages is also the evidence of development.

4 A student's evaluation says that the project was successful and the users liked it. Explain why this would earn few marks, and describe what the evaluation should contain instead. 4

One mark for each of the following, to a maximum of 4.

  • It makes a claim with no evidence to support it
  • It does not judge the solution against the success criteria
  • It should say whether each success criterion was met, with evidence such as test results or user feedback
  • It should also describe limitations and possible improvements

Model answer. The statement makes a claim without any evidence to support it, and it does not judge the solution against the success criteria. A good evaluation goes through each success criterion in turn and says whether it was met, with evidence such as the results of the tests, screenshots or quotations from the stakeholders. It should also describe the limitations of the solution, and the improvements that could be made to it.

5 Describe how the use of version control and regular backups helps a student who is developing a programming project. 3

One mark for each of the following, to a maximum of 3.

  • Version control records a history of the changes made to the code
  • An earlier working version can be recovered if a change breaks the program
  • Backups mean that the work is not lost if a file or device fails

Model answer. Version control keeps a history of the changes made to the code, so that if a change breaks the program an earlier working version can be recovered. Regular backups, stored in more than one place, mean that the work is not lost if a file is deleted or a device fails.