44 terms

# IB Computer Science Topic 4: Algorithmic Thinking

#### Terms in this set (...)

Algorithm
A series of steps designed to solve a mathematical or other problem
Pseudocode
A method of describing an algorithm using structured English close to programming langauge
Flow chart
A diagrammatic method of showing the structure and data flow to define a problem and its solution
Flowchart Symbol: Rectangle
A process to be completed
Flowchart Symbol: Rhombus
A decision
Flowchart Symbol: Oval
Start or End to an algorithm
Machine code
Instructions in binary used by the CPU
Assembly Language
A low-level programming language that uses more memorable mnemonic codes and labels to represent machine-level code. Each instruction corresponds to just one machine operation
Assembler
A program to convert assembly-level commands into machine code
Low-level Language
a programming language that requires little or no translation to produce machine code.
High-level language
A programming language that resembles natural language. Each instruction translates to many machine instructions. It is problem based rather than machine based
Fundamental Operation
A task that can be performed natively by a CPU
Compound Operation
A task that requires a combination of many fundamental operations for a CPU to complete
Source Code
The program written by the end user in a high-level language before it is converted to machine code
Compiler
Translation software that converts high level source code into machine code by analysing whole blocks of source code
Interpreter
Translation software that converts source code into machine code by analysing only one source code instruction at a time.
Selection
Using a condition to decide on what instructions to execute next
Iteration (loop)
A group of instructions is executed repeatedly until a condition is met
Integer
Whole number, positive or negative, with no decimal or fractional part
Boolean
A value that can only be true or false
Character
A single letter, number, or symbol
String
A series of letters, numbers, and/or symbols
Primitive Variable
A label referring to a location in memory containing a value that can be accessed or changed by a program
Constant
A label referring to a location in memory containing a value that can be accessed but not changed by a program
Declaration
Identifying a variable or constant or array to a program so that memory space can be aollocated
Assignment
Setting the value of a variable
Operator
A logical, arithmetic or comparison symbol
Comparison
Comparing the values of two items and returning TRUE of FALSE depending on the results
Syntax error
The rules of a language are broken by the program
Logic error
The program produces results that are different to what the programmer expected
run-time error
The program encountered a value, condition, or state that was not executable.
Validating data
Data used in testing that represents normal data that could be expected
Bubble Sort
A simple algorithm that repeatedly steps through the list to be sorted, compares each pair of adjacent items and swaps them if they are in the wrong order. The pass through the list is repeated until no swaps are needed, which indicates that the list is sorted
Selection Sort
Repeatedly finds the next largest (or smallest) element in the array and moves it to its final position in the sorted array.
Binary Search
Start examining values of an array in the center and narrow down your search, halving the search area each time.
Linear Search
Examine the values of each element in an array one by one
Method
A re-usable unit of code. When called, execution returns to the source of the call when the unit is complete
Procedure
A method that does not return a value
Function
A method that returns a value
Parameter
a value passed to a method
Array
A data structure containing a fixed-size list of values/objects of the same type
Index
an integer that refers to the position of data in an Array
Collection
A data structure containing a variable-size list of values/objects of the same type
Object
A unit containing data and/or methods