Paper 2 Flashcards
Computational Thinking
The process of thinking about a problem using computational means in order to create a solution which a computer can implement.
Abstraction
The process of removing irrelevant or unnecessary information from the problem in order to better understand the basic parts of it.
Decomposition
The process of breaking a problem down into smaller parts to make it easier to solve.
Algorithmic Thinking
The process of working out the individual steps needed to solve a problem in order to produce an algorithmic solution.
Algorithm
A sequence of logical instructions to carry out a particular task.
Structure Diagram
A diagram which shows in graphical format the steps needed to solve a problem. There are several different types of structure diagram and a flow chart is one example.
Pseudocode
A way of writing out algorithms or other computer programs in a way which sits somewhere between full sentences and computer code.
Flowchart
A way of using pictures and shapes to represent the steps needed to solve a problem or that a program will take.
Programming Language
A language which can be understood by computers to produce computer software.
Error
Something wrong in computer code which causes it either to not run at all or to produce an incorrect output.
Trace Table
A table which records the values stored in each of a program’s variables at each stage through the program. It is a useful tool when trying to find errors in the code.
Search
Finding a value or piece of information within a set of data.
Binary Search
A way of searching an ordered list by looking at the middle item in the list, then looking at either the items above or below depending on if the required value is higher or lower. This process repeats until the value is found.
Linear Search
A way of searching through a list items, checking them one at a time until the required value is found.
Sort
A way of placing information into a certain order, such as alphabetically or by number.
Bubble Sort
A way or sorting a list by comparing the items in a list, two at a time, and changing the order if needed. The process repeats until the list is in the correct order.
Merge Sort
A way of sorting a list by dividing it in two until each item is separated individually. Pairs of items are compared and placed in order until the list as a whole is ordered.
Insertion Sort
A way of sorting a list by working through the items one at a time and placing them in the correct position in the list.
Variable
A named value in which data can be stored by a computer program. The data can be changed as the program runs.
Constant
A named value which is accessed by a computer program but is fixed and cannot be changed.
Operator
Operators compare or modify values in computer code. Examples include
+ < and NOT.
Input
Data or information which is put into the program. This could be entered via a user, or taken from a sensor.
Output
Data or information which the program produces. This could be shown on a screen, sent to a printer, or saved to a file.
Assignment
The process of placing a value in to a variable.
Sequence
Following through a set of steps in a particular order.
Selection
Taking different paths through the code depending on a condition.
Iteration
Repeating a set of steps several times.
Count Controlled Loop
Using a counter to loop through one or more lines of code until they have been run a certain number of times.
Condition Controlled Loop
Using a loop to repeat one or more lines of code until a certain condition is met.
Arithmetic Operator
An operator which uses maths to modify numbers such as +
Boolean Operator
An operator which uses a logical criteria to compare two values such as < or AND
Integer
A whole number without a decimal point or fraction. E.g. 1, 100 or 88122
Real
A number which may include a decimal point such as 11.2
Boolean Operator
A value which can be only TRUE or FALSE.
Character
A single symbol, for example a letter, number or punctuation mark.
String
A number of characters together, usually to form a word or sentence.
Casting
The process of forcing a value into a certain format, for example forcing a telephone number to be stored as a string and not an integer.
String Manipulation
A broad term for a number of ways to change or modify strings.
Concatenation
The process of joining two or more strings together.
Slicing
The process of splitting a string into two or more parts.
File Handling
Ways in which computer code can interact with files on the computer’s disk, such as opening them or writing data to them.
Record
A single row or related information in a database table
Table
A group of records and fields stored together in a database.
Field
A part of a record in the database which stores specific information such as a name or address.
SQL
Structured Query Language. A programming language designed to be used with databases.
Array
A set of data items stored together with a single name and accessed by a program.
Sub Program
A smaller part of the program which performs a specific task.
Function
A sub program which performs a specific tasks and always returns a specific value when run.
Procedure
A sub program which performs a specific task but does not always return a value.
Random Number
A number generate by computer at random.
Defensive Design
Designing and building computer code with the ability to keep it secure, easy to maintain and robust as a priority.
Authentication
A security mechanism which requires a password, code, fingerprint or other factor to gain access to all or part of a system.
Input Validation
The process of comparing data entered into the program to a set of rules to ensure it is valid and will not damage the system before processing it.
Maintainability
The ability to keep code updated, fix bugs and add new features easily.
Naming Conventions
An agreed way of naming parts of the program such as variables or sub programs such that they are easy to read and their purpose is clear.
Indentation
Inserting spaces at the start of a line or lines of code so to group them together and make the code easier to read.
Comment
Lines which do not form part of the code and are not executed but instead provide notes and explanations to those looking at the code.
Testing
The process of trialling a program in order to ensure it performs as expected.
Iterative Testing
Testing which is carried out whilst the program is being developed.
Final Testing
Testing which is carried out at the end of development just before the code is released.
Syntax Error
An error which breaks the rules of the programming language and stops the code from running.
Logic Error
An error which produces an unexpected output even though the code still runs.
Normal Data
Data which the program should accept without error.
Boundary Data
Data at the extremes of what the program should accept without error.
Invalid Data
Data of the correct type, but not valid for the program and which should be rejected.
Erroneous Data
Data which is the wrong type and should be rejected
AND
Has two inputs and outputs 1 only if both are 1.
OR
Has two inputs, if both are 1 then outputs 1, otherwise outputs 0.
NOT
Has a single input and outputs the opposite of that input.
Truth Tables
A table which shows the possible input and output values for a logic gate
Logic Gate
An operator such as AND, OR or NOT which performs a logical function on the input.
Logic Diagram
A diagram showing one or more logic gates together.
Programming
Language
A language which can be understood by computers to produce computer
software.
High Level Language
A programming language which is close to English in the commands used making it easier to learn and understand.
Low Level Language
A programming language closer to machine code, using less English like commands making it harder to understand.
Translator
A piece of software which converts programming language into machine code which the computer can understand and execute.
Compiler
A translator which converts code in one go.
Interpreter
A translator which converts code line by line.
Integrated Development Environment
A piece of software used by developers to write computer code. They often contain features such as translators and syntax highlighters to make it easier to write code.
Editor
A piece of software used to write computer code.
Error Diagnostics
Tools to help locate and resolve errors in code.
Runtime Environment
A tool which allows code to run on a system for which it was not designed. For example, running a mobile phone app on a desktop
computer.
What is the symbol for Equal to
==
What is the symbol for not equal to
!=
What is the symbol for less than
<
What is the symbol for less than or equal to
<=
What is the symbol for greater than
>
What is the symbol for greater than or equal to
> =
What is the symbol for addition
+
What is the symbol for subtraction
-
What is the symbol for multiplication
*
What is the symbol for division
/
What is the symbol for modulo and what does to mean
MOD, the remainder of division
What is the symbol for quotient and what does it mean
DIV, division
What is the symbol for “to the power of”