44 terms

IB Computer Science Topic 4: Algorithmic Thinking


Terms in this set (...)

A series of steps designed to solve a mathematical or other problem
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
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
Translation software that converts high level source code into machine code by analysing whole blocks of source code
Translation software that converts source code into machine code by analysing only one source code instruction at a time.
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
Whole number, positive or negative, with no decimal or fractional part
A value that can only be true or false
A single letter, number, or symbol
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
A label referring to a location in memory containing a value that can be accessed but not changed by a program
Identifying a variable or constant or array to a program so that memory space can be aollocated
Setting the value of a variable
A logical, arithmetic or comparison symbol
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
A re-usable unit of code. When called, execution returns to the source of the call when the unit is complete
A method that does not return a value
A method that returns a value
a value passed to a method
A data structure containing a fixed-size list of values/objects of the same type
an integer that refers to the position of data in an Array
A data structure containing a variable-size list of values/objects of the same type
A unit containing data and/or methods