1/237
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
1 Dimensional Arrays
A standard list array - one index is needed to search for something in an array.
2 Dimensional Arrays
An array with 2 indexes needed to search - for example a table could be this.
Interception of PseudoCode
The ability to pick out and explain parts of code.
Big O'
A measure of complexity within a piece of code.
Recursion
The process of looping, calling itself in looping.
Functions
A decomposed part of code that has a specific job to output or return something
Iteration
Repeating some part of code over and over
Subroutine
A decomposed part of problem that does something
Data Mining
The process of collecting data on user habits or requests
Binary Search
A search algorithm that includes comparing the midpoint of an array iteratively.
Insertion Sort
A sorting algorithm that includes going through an array iteratively comparing each value to every value before that value.
Bubble Sort
Moving through a list, it compared two elements and moves on, moving through the array repeatedly.
Quick Sort
Merge Sort
Global Variable
Local Variable
Dijkstra's Algorithm
Travelling Salesman Algorithm
Decomposition
Graph Tree
Heuristic
Pipelining
Stack
ALU (Arithmetic Logic Unit)
The part of the CPU where data is processed and manipulated. Usually arithmetic or logical operations. Allows for decisions to be made.
Control Unit
The part of the CPU that manages the execution of instructions. The control unit fetches an instruction, and decodes it before executing it by sending 'control signals' to other parts of the computer.
Register
Tiny stores of extremely fast memory located in the CPU, normally designed for where data or control information is stored temporarily when execution is taking place.
Program Counter (PC)
A register in the control unit which holds the address of the next instruction to be executed. When each program is executed, this number goes up by 1 to signify the next 'fetch' to be at this address in the RAM.
Accumulator (ACC)
A special register within the Arithmetic Unit. It is used to hold the data currently being processed by the CPU. Any data to be processed is stored temporarily in the accumulator.
Memory Address Register (MAR)
A register in the CPU that stores the address of the memory location currently in use. In the fetch phase, this would be the address of an instruction; in the execute phase, it would be the address of the data being used.
Memory Data Register (MDR)
Used to temporarily store data loaded into the CPU, or written to memory locations. All transfers from memory locations to the CPU go via the Memory Data Register.
Current Instruction Register (CIR)
A register in the control unit that stores the instruction type of the next instruction to be carried out by the processor. For example, this could contain the number 3, which in LMC is a 'store' function.
Buses
A common physical pathway for signals to travel to and from several components of a computer.
Data Bus
Transfers the data from memory location specified by MAR.
Address Bus
The part of the bus which carries information about where the data is being sent.
Control Bus
This bus carries command and control signals to and from every other component of a computer.
Fetch
Decode-Execute - The complete process of retrieving an instruction from a memory source, decoding it and carrying it out (execution). Also known as the instruction cycle.
Central Processing Unit (CPU)
The main part of the computer, consisting of the registers, ALU and control unit.
Clock Speed
Measured in Hertz, the clock speed is the frequency at which the 'internal clock generates pulses'. This means how fast it can execute instructions. The higher the clock rate, the faster the computer may work. The "clock" is an electronic unit that synchronizes other components by generating pulses of electricity at a constant rate (almost like waves).
Cores
A CPU is one 'Core'. A multi-core processor is a single component with two or more independent actual CPU's, which are the units responsible for the fetch-decode-execute cycle. Theoretically, this could 'double' speed but depends on efficiency of splitting up tasks.
Cache
A part of the main store between the central processor and the RAM. It has extremely fast access, so sections of a program and other data is copied there to take advantage of its short fetch cycle.
LMC STA
Store function, puts the value in the accumulator into the storage location specified.
LMC LDA
Loads data from the storage location specified into the accumulator.
LMC BRA
'Branches' the next instruction to the address given.
LMC BRP
'Branches' the next intruction to the address given if the value in the accumulator is positive or zero.
LMC BRZ
'Branches' the next intruction to the address given if the value in the accumulator is zero.
Pipelining
An attempt to make machine code as efficient as possible. It relies on the ability for the CPU to split up instructions - it can then fetch, decode, and execute all parts of the instruction at the same time.
Flushing the Pipe
During Pipelining, instructions can cause corruption issues if something is being outputted that could cause more problems. (the thing being currently processed could cause damage when outputted - the instruction that is currently be outputted cause be causing corruption issues) Therefore, Flushing the Pipe clears the CPU to move onto the next instruction that it is told to do.
Interupt
A signal from a peripheral or instruction that signals an issue that needs addressing. OS needs to prioritise these and fix errors.
Von Neumann Architecture
Traditional computer architecture that forms the basis of most digital computer systems. A single control unit manages program control flow following a linear sequence of 'fetch-decode-execute'.
Harvard Architecture
A computer architecture with physically separate storage and signal pathways for instructions and data. These early machines had data storage entirely contained within the central processing unit, and provided no access to the instruction storage as data.
Contemporary Architecture
Usually a combined selection of the 2 basic architectures' - taking the best of both worlds. Simplicity of Von Neumann, but the useful features of Harvard.
Input Device
Any peripheral device that can accept data, presented in the appropriate machine-readable form, decode it and transmit it as electrical pulses to the CPU.
Output Device
Any peripheral device that translates signals from the computer into a human-readable form or into a form suitable for reprocessing by the computer at a later stage.
Storage Device
Any medium (optical, magnetic, solid state and even paper which holds data or programs.
Magnetic Storage
Storage medium which uses surfaces coated with a layer of magnetic material on which data can be stored by magnetically setting the arrangement of the magnetic material. This is done by electromagnetic read/write heads.
Flash Storage
Collection of memory chips that is controlled by its own software to make the collection of chips act like a disk drive. Compact, large storage medium.
Optical Storage
Storage medium that uses plastic discs on which the data is stored as patterns on the surface in pits and lans. Lightweight, compact, limited by data size.
Solid State Storage
Storage medium for main disk drive on a computer, is generally more expensive, therefore less storage space, however is more reliable.
Hard Disk Drive
Storage medium for main disk drive on computer, is generally cheaper, therefore more storage space, however can be unreliable.
Random Access Memory (RAM)
Volatile main memory. Access times are very fast. Often referred to as Main Memory, although this can be used in main areas of computing and computing storage. When used as main memory this typically can be thought of as containing the Operating System, programs in use and the data those programs are using while the computer is running.
Read Only Memory (ROM)
Memory for which the contents may be read by cannot be written to by the computer system. Software in ROM is fixed during manufacturing. It typically holds system boot up instructions. ROM is non-volatile. More modern types of ROM can be written to in limited ways, these include, PROM, EPROM and EAROM.
Virtual Memory
A means of extending main storage by using the hard drive as if it were quick-access memory. Operating System is expected to utilise this by prioritising tasks.
Virtual Storage
'The Cloud'. Reduces duplication, can be accessed remotely but is less secure and is reliant on bandwidth.
RAM Advantages
Volatile so doesn't get clogged up, large storage size, quick access.
RAM Disadvantages
Volatile so data can't be stored, expensive, if memory runs out computer crashes.
ROM Advantages
Non-volatile so data can be stored, can't be changed, quick access.
ROM Disadvantages
Could get clogged up, Small storage size.
Magnetic
patterns of magnetisation represents 0 & 1, this is read by a reader.
Optical
marks and bumps on a medium, is read by a light beam.
Solid State
Uses electronic circuits to represent 1's & 0's.
Systems Development Life Cycle (SDLC)
The stages of designing and implementing a new computer system. These stages - analysis, design, implementation, testing and installation - are part of the life cycle made by the main design team.
Waterfall Model
An example of system development, where one 'job' almost 'flows' from one to another. These include conception, initiation, analysis, design, construction, testing, production and maintenance.
Agile Methodologies
A development cycle that encourages teamwork through iterations and the disregard for team member hierarchy, working closely with a leader to efficiently program, testing it often. Focusses on face-to-face communication rather than massive amounts of written documentation.
Extreme Programming
A software development methodology which has many branches - its main goal is to use short development cycles to test often and work collaboratively. One 'type' of Extreme programming is working in pairs to complete a task, with some looking at the larger picture of the code, while others looking closely at every little bit of code.
Spiral Model
Another cycle of system development, there are four defined 'quadrants' - planning, risk analysis, use of design methods, client and management evaluation. Once one stage of development has gone full 'circle', the next phase takes place, and so on until completion.
Rapid Application Development (RAD)
A design strategy that includes online development and repeated prototyping and evaluation. It is particularly suited to interactive systems, where the user plays an active part in the program, or even programming.
Black Box Testing
Outputs are checked after inputs are given. Code is hidden.
White Box Testing
Each line of the code is tested, therefore code is understood.
Alpha Testing
A small group test an unfinished product with known errors.
Database
A collection of organised data.
Relational Database
Multiple tables that a user can find relationships between and find specific information.
Flat File
A database that can be stored at a plain text file. One record (row), with fields (column) separated by tabs or commas.
Fields
'Headings' for the data to be organised when inputted - e.g. name, DOB etc.
Record (databases)
A specific row of data. For example, John Smith, 25/01/2002.
Primary Key
A field that uniquely identifies a record in a table. For example, a User ID.
Foreign Key
The linking field in a foreign table, formed when a relationship between 2 databases is formed. The Foreign Key becomes the Primary Key of the new table. A foreign key could be a User ID.
Concatenated (attached) Primary Key
More than one field is added together to form a unique primary key for a table. For example, 'group ID' and 'specific person ID'.
Secondary Key
A key field which can be used to index the data in a different order - for example you could sort the data by surname (the secondary key) rather than the primary key (User ID).
Normalisation (databases)
The process of arranging data into tables and setting their relationships to move them around in multiple tables, from input forms.
Indexing
The process of creating a database index, which is a data structure that improves the speed of data retrieval operations on a dataset table at the cost of additional writes and storage space to maintain the index data structure. This is essentially changing the order of the data and sorting it via a different key.
0NF
A table with no normalisation. All data and all fields are in one table.
First Normal Form (1NF)
A database relationship (2 or more tables) with repeating groups removed. That is a relation in which the intersection of each tuple (data structure with multiple parts) and attribute contains only one value. For example, a table which labels a ball as yellow and green, with a price in a separate column is not normalised to this - Separate tables must be made which allow the data to have a different row for each colour.
Second Normal Form (2NF)
A relation that starts the same as 1NF, with one difference: every attribute must be completely dependent on the primary key. For example, does the employee name rely on the project code?
Third Normal Form (3NF)
A relation that starts the same as 1NF and 2NF. If an attribute, which is not a key, is reliant on another attribute more than the primary key in a table, it must be made into a new table.
Normal Forms
A way of structuring the data in a relational database according to a set of rules, in order to avoid problems of inefficiency in accessing and maintaining the data. For example, 1NF, 2NF, 3NF.
Entity Relationship Modelling (ERM)
The production of a data model for describing data and its organisation within a database.
ERM One-to-One
One database can only equal one other row in the database. For example, a country can only have one capital city. [London]----[England]
ERM One-to-Many
One database can be equal to multiple rows in the other table. For example, a student can take more than one course (many). [Student]---<[Course]
ERM Many-to-many
Not possible as it would result in data redundancy. For example, 'many students take many courses of which take many students'. To fix, you either need a new database or you will need to priorities whether you need to know about the student's many courses or the course's many students.
Structured Query Language (SQL)
The language and 'syntax' used to write and run database queries.