Level 2
Unit No:
Guided learning hours:
48 hours


In this unit learners will learn about the principles of computer programming to understand how programming works. They will develop text-based programming skills to design and develop their own computer program.

Unit Learning Outcomes


Understand the principles of programming.

AC 1.1:

Types of programming: object oriented, event driven, procedural, graphical/visual.

Languages: Python, Java, C++, Visual Basic, PHP, Perl, Scratch.

AC 1.2:

Environment components: integrated development environment (IDE), tool boxes and controls, toolbars, predefined functions, screen templates, help menus, debugging tools.

Assessment Criteria

  • 1.1

    Describe the key features of programming.

  • 1.2

    Explain how programming environments simplify the development process.


Be able to design a program in response to a client brief.

AC 2.1:

Programming requirements: intended purpose and user requirements e.g. data requirements, audience, platform, intended use, security. (as defined in client brief), a problem definition statement.

AC 2.2:

Designs should include: a proposed solution using design tools, e.g. a description of the main program tasks – input and output format (such as to add/multiply two numbers together and display a result), screen layouts and navigation, including prototypes (e.g. initial splash screen or main activity screen), algorithms with step-by-step procedure showing inputs/outputs and a description of the method of solution (flowcharts, pseudocode), data structures, data storage, control structures, data validation, error handling and reporting.

Assessment Criteria

  • 2.1

    Determine programming requirements.

  • 2.2

    Produce design documentation.


Be able to develop a program using a text-based programming language.

  • Develop a solution using suitable text-based programming language e.g. structural components of a program, sequencing, data types, data structures, strings, variables, constants, subprograms, input/output, operators.
  • Syntax: uppercase and lowercase characters, naming conventions, file naming, extensions, version control.
  • Debug: debugger software, trace statements, monitoring techniques, error messages.

Assessment Criteria

  • 3.1

    Develop a program using appropriate algorithm, code and syntax.


Be able to test, refine, document and review the program.

AC 4.1:

  • Test the program/code: produce a test plan, record results, apply corrections and improvements, screen shots to evidence any changes to refine the code.
  • Testing: test strategy, test data, test plan structure, e.g. test, date, expected result, actual result, corrective action, error messages, specialist software tools, e.g. debug.
  • Error handling: debugging, e.g. compiler/translator, errors, e.g. logical, syntax, run-time.

AC 4.2:

  • Documentation: listing/explanation of code, support and maintenance documentation, user guide (for client), etc.
  • Programming standards: use of comments, code layout, indentation.

AC 4.3:

  • Review the program against the client brief: learner should include reflections on their design documentation and program, along with strengths and areas for development, taking into account user feedback, own self-assessment, feedback from others (peers, tutors), suggested improvements to own work should include more efficient or effective ways of working, ways to improve their program, develop own skills, etc.

Assessment Criteria

  • 4.1

    Test and refine the program to ensure maximum functionality and usability.

  • 4.2

    Create documentation for the support and maintenance of the program.

  • 4.3

    Review the program against the client brief, making suggestions for further improvements.