Curriculum Portal

Select a course.

arrow_back

Paper 2 - Computational thinking, algorithms & programming - 2.3 Producing robust programs

infoWhy this? Dependable software must handle unsuitable inputs, anticipate misuse, and remain understandable when it needs changing. Defensive design, maintainability, and systematic testing help us identify weaknesses and improve a program's reliability, security, and usability.

scheduleWhy now? With experience of writing programs, we can move beyond making a solution work for an expected input to checking its behaviour under different conditions. This builds on earlier tracing and error identification while applying selection, iteration, and subprograms to validation, authentication, and maintainable code.

neurologyYou need to know

  • Understand issues programmers should consider to ensure a program caters for all possible inputs.
  • Understand how to create a program that deals effectively with invalid data.
  • Understand the use of authentication to confirm the identity of a user.
  • A selection of different methods to validate data.
  • Understand the need for and different methods of incorporating maintainable features within a program.
  • The purpose of testing.
  • Understand the difference between iterative and terminal testing.
  • Understand the difference between logic and syntax errors.
  • how to select and use suitable test data to cover normal; boundary and invalid/ erroneous.

rocket_launchYou must be able to

  • create programs that cater for anticipated misuse.
  • Create programs that check for Authentication.
  • Create programs using a selection of methods to validate user input i.e. range; presence; format.
  • Create programs incorporating maintainability including use of subprograms; naming conventions; indentation and comments.
  • Identify syntax and logic errors in a program and refine it.
  • Select a range of data to test a program both for iterative and terminal testing.
  • Create a test plan.


Revision Quiz

trophy Congratulations! You have completed the quiz.