In this unit students will be introduced to the issues a programer should consider to ensure that a program caters for all likely input values and how to deal with invalid data entry through input validation and authentication techniques. Students will be able to identify the purpose the difference between iterative and final/terminal testing as well as creating a suitable test plan using suitable test data (normal, boundary, invalid/erroneous).
The practice of planning for contingencies in the design stage of a project.
Considering how an end user might accidentally or deliberately break a program and writing additional code to handle these situations.
Verifying a users identity before they can use a system. Strong passwords over a certain length with symbols and mixed-case letters are advised.
Ensuring data input by a user meets specific criteria before processing. Range check (e.g., 1 31); type check (e.g., a number, not a symbol); presence check (e.g., data has been input); format check (e.g., a postcode is written LLN(N) NLL).
Techniques and methods that make code easier to debug, update and maintain.
Many programmers use defined naming conventions for variables, contents and procedures. Camel case is a popular one used in the industry where the first word of an identifier uses all lower case and all subsequent words start with a capital letter e.g., studentsFirstName.
Makes it easier to see where structures begin and end. Conditions, iterations and code inside procedures and functions should be indented.
Used to explains sections of code. Ignored by the compiler.
Assessing the performance and functionality of a program under various conditions to make sure it works. Programmers need to consider all the devices the program could be used on and what might cause it to crash.
Each module of a program is tested as it is developed.
Checking that all the modules of a program work together as expected and the program meets the expectations of users with real data.
Rules of the language have been broken, so the program will not run. Variables not being declared before use. Incompatible variable types (e.g., sum = A); using assignments incorrectly (e.g., 2 + 2 = x); keywords misspelt (e.g., PRNT(Hello)).
The program runs but does not give the expected output. Division by zero. Infinite loop. Memory full. File not found.
Values used to test a program normal, boundary and erroneous.
Data supplied to a program that is expected. Using a program written to average student test scores as an example, if allowed scores are 0 100, normal test data would include all the numbers within that range.
Data supplied to a program designed to test the boundaries of a problem. Using a program written to average student test scores as an example, if allowed scores are 0 100, boundary test data could be -1, 0, 1, 99, 100 and 101.
Data of the correct type but outside accepted validation limits. Using a program written to average student test scores as an example, if allowed scores are 0 100, invalid test data could be -5, 150, etc.
Data of the incorrect type that should be rejected. Using a program written to average student test scores as an example, if allowed scores are 0 100, erroneous data might be the string hello, the real number 3.725, etc.
In this topic, students will learn about a form of algebra called Boolean logic where all values are either True of False. These values are then used to test the conditions that selection and iteration are based around. Students will learn the binary logic of logic gate (AND, OR, NOT) and transistors in a computer systems and learn how to use algebra and truth tables to describe logical expressions.
A method of expression Boolean logic in a diagram using a set of standard symbols that represent the various logic gates AND, NOT, OR, NAND, etc.
A symbol in a logic diagram that represents a single gate e.g., AND, OR, NOT.
Accepts two inputs and produces one output. Both inputs must be TRUE (1) for the output to be TRUE (1) otherwise, the output will be FALSE (0).
Accepts two inputs and produces one output. At least one input must be TRUE (1) for the output to be TRUE (1) otherwise, the output will be FALSE (0).
Accepts one input and produces one output. If the input is TRUE (1), the output will be FALSE (0). If the input is FALSE (0), the output will be TRUE (1).
A notation used in Boolean algebra to define the output of a logic gate or logic circuit for all possible combinations of inputs.
In this unit students will learn about the characteristics and purpose of both high and low level languages. Students will learn about the purpose of translators and the differents, benefits and drawback of using a compiler or an interpreter. This uit will also cover the tools and facilities available in an Integrated Development Environment (IDE) including editors, error diagnostics, run-time environment and translators and how each can be used to help a programmer develop a program.
Designed to allow the expression of a computer program in a way that reflects the problem being solved rather than the details of how the solution is produced. One-to-many.
Close to machine code and closely related to the design of the machine. One-to-one.
Takes a program written in one programming language and converts it to another.
Translates high-level language source code into a computers machine code.
Translates and executes a program one statement at a time.
Integrated Develop Environment: A software application that provides comprehensive facilities for software development. Normally consists of a source code editor, build automation tools and a debugger.
IDE tools that provide detailed feedback on errors in code.
A configuration of hardware and software. Includes the CPU type, operating system and any runtime engines or system software required by a particular category of application.
Students will undertake a practical programming project in the Python language allowing them to develop and demonstrate skills in designing, writing, testing and refining a program. This project will include a peer-review process. Practical programming skills will be assessed in paper 2 of the qualification.
Revision for GCSE exams.