Paper 2 definitions Flashcards
What is abstraction
The process of separating ideas from specific instances of those ideas of work. It tries to factor out details from a common pattern so the programmers can work close to the level of human thoughts, leaving out details which matter in practice, but are immaterial to the problem being solved
What is a sequence?
Instructions happening one after another in order
What is selection?
Instructions which can evaluate a Boolean expression and then branch the code to one or more alternative paths
What is iteration?
A selection of code which can be repeated either a set number of times (count controlled) or a variable number of times based on the evaluation of a Boolean expression (condition controlled)
What is decomposition/ divide and conquer?
Breaking a problem down into smaller, component parts until the solution is known
What is algorithmic thinking?
A way of getting to a solution by identifying the steps needed
What is an algorithm?
A set of instructions that achieve a task
What is a task?
A set of instructions
What is an instruction?
One command
What is an input?
Data entered onto a computer
What is a process?
Data being altered on the computer
What is an output?
Information produced for the user by the computer
What is pseudocode?
Notation resembling a computer language
What is a flowchart?
A diagram showing sequential steps, modelling an algorithm
What is a high level language?
A computer code that is halfway between machine code and natural speech (3rd generation languages)
What is a syntax error?
An error in the grammar of a computing language
What is a logic error?
An error in computer code that does stop or break the program, but causes unexpected results
What is a runtime error?
An error that crashes a computer program when it is being executed (e.g running out of memory)
What is a trace table?
A method of following each of the variables and the changes made during run time
What are problem processes?
Anything which happens to data during a system running
What are problem outputs?
Any information of data which leaves a system
What is a structure diagram?
A diagram which looks like an upside tree with one node at the top and many below. It is used when designing solutions to problems in order to help break a large problem down into a number of small parts
What is searching?
Looking for data in a list/array/database
What is sorting?
Putting data into numeric or alphabetical order
What is a bubble sort?
A simple algorithm- it is inefficient when sorting larger amounts of data, as the time taken is related to the square of the number of items
What is an insertion sort?
A sorting algorithm that builds the final sorted array or list one item as a time. It is much less efficient on large lists than more advanced algorithms
What is merge sort?
A type of divide and conquer algorithm. The list is divided into the smallest unit, then each element is compared with the adjacent list to sort and merge them. Finally, all elements are sorted and merged
What is linear search?
a technique for looking through each element of a set of data, in sequence until the criteria matches the data
What is binary search?
A method of looking for a particular element of data, by starting at the midpoint and seeing if the searched for element is in the upper or lower half, repeating the same routine until the data element is found. (data has to be sorted)
What is a variable?
a container that contains a value that can be inspected/edited in run time
What is a constant?
A value that can’t be changed during runtime
What is an assignment?
Passing a value to a variable
What is casting?
Determining the data type for a variable (e.g integer)
MOD
The remainder when one value is divided by another
DIV
The number of whole times a number divides into another
What is exponentiation?
Raising a number by a power
What is initialising?
The first time a variable is assigned a value
What is an integer?
A whole number (including negative numbers)
What is a real number (float)?
A number with a fractional quantity
What is boolean?
A value that can only take one of two values
What is a character?
A symbol
What is a string?
A collection of symbols
What is concatenation?
Combining 2 strings together
What is truncation/slicing?
Getting rid of parts of a string
What is an array?
A data structure that is of fixed length and must contain the same data types
What is a function?
A subprogram that returns a value
What is a procedure?
A subprogram that doesn’t return a value
What is file handling?
The use of files to permanently store data
Open
Provide access to a file
Close
To stop accessing a file
Write
Add data to a file
Read
To accept data from a file
Append
To add data to the end of a file
What is a record?
A data structure that groups together related items of data
What is SQL?
Structured Query Language, used to interrogate a database
SELECT (SQL)
To choose a particular element of data
FROM (SQL)
To choose where the data is being selected
WHERE (SQL)
A criteria given to SQL to narrow the choice of data being selected
AND (SQL)
Narrows a selection
OR (SQL)
Widens a selection
What is a wildcard (*) (SQL)?
Allows the choice of any data (e.g. S* selects all data that starts with an S)
What is authentication?
Verifying the identity of a user
What is validation?
Checking that the data being inputted is sensible
What is a range check?
Checks data is between an upper and lower numeric bound
What is a format check?
Checks the data conforms to a particular combination of letters, digits and symbols
What is a presence check?
Checks that data has been entered
What is a lookup check?
Cross-references the data with an existing list of acceptable answers
What is a check digit?
The use of a calculation performed data is transmitted, the same calculation is performed by the recipient and the answers compared. If they don’t match, an error has occurred
What is parity?
The use of the number of ones and zeroes in a data stream to check that the data is incorrect
What is a length check?
Checks that the data has the correct number of digits, characters and symbols
What is a type check?
Checks the data is the correct type
What is maintainability?
Making sure that your programs are easy to edit at a later date
What is indentation?
Grouping parts of the program by use of tabs or spaces
What are naming conventions?
Making sure that variables, constants and subprograms are labelled clearly with their functions
What is commenting?
Placing comments in your program that helps future programmers follow your logic
What is modularisation?
Decomposing the task into smaller, more achievable tasks such as functions
What is iterative testing?
Each module of a program is tested as it is developed
What is final/terminal testing?
Testing that all the modules of a program work together as expected and checking that the program meets the expectations of the user with real data
What is test data?
Values used to test a program
What is normal test data?
Data supplied to a program which you would expect
eg for 0-100, 32,86,74
What is boundary test data?
Data supplied to a program which is designed to test the boundaries of a problem
eg for 0-100, 99, 100, 101
What is invalid test data?
Data of the correct type but outside accepted validation limits
eg for 0-100, -5, 150
What is erroneous test data?
Data of the incorrect type which should be rejected by the computer system
eg for 0-100, ‘hello’ or 3.725
What is null test data?
Entering no data into the system
What is a test plan?
A table used to organise the tests that a programmer will use
What is alpha testing?
Testing used by the developers during production
What is beta testing?
Testing completed by volunteers, not employed by the software organisation
What is a logic gate?
The smallest electronic circuit in a digital machine
What is a logic circuit?
Several logic gates connected together
What is an AND gate?
A logic gate that only produces an output if both inputs are high
What is an OR gate?
A logic gate that produces an output when either/both inputs are high
What is a NOT gate?
A logic gate that reverses the signal of input
What is a truth table?
A way of showing all of the possible inputs to a system and describes all possible outputs
What is a low level language?
A language that can be directly interpreted by a computer
What is assembly language?
A language that uses mnemonics and has a one-to-one correlation with machine code
What is machine code?
The most basic computer language, written in binary
What is an interpreter?
A translator that converts each line of code into machine code, one after the other as the program is running
What is a compiler?
A translator that converts all of the source code into machine code in one go to produce an executable file
What does an assembler do
Translates assembly language into machine code
What does a translator do?
A way of converting high level languages into machine code
What is source code?
The programming language that a computer program has been written in
What is object code?
Another word for machine code once the program has been translated
What is an IDE?
Integrated development environment: software that allows programmers to write, edit and test their programs
What is an editor?
Software that allows programmers to type their code
What are error diagnostics?
A way of giving the programmer help with errors that stop the program running
What is a run-time environment?
The software, interpreter, that allows the programmer to run their program
What are debuggers?
Ways of tracking at errors
What is a translator?
Software that converts source code into object code to be run on the computer