Computer Science - Unit 2

?
  • Created by: brynclark
  • Created on: 17-06-17 13:43
Abstraction
The separation of ideas from reality, removes unnecessary detail, e.g. a flight simulator
1 of 34
Abstract Data
The details of how data is actually represented is hidden
2 of 34
Abstract Data Types
A logical description of how data is viewed and the operations that can be performed on it, e.g. stacks and queues
3 of 34
Advantages of Specifying Preconditions
1. Ensures user knows what checks to make before calling a subroutine 2. Helps make the program reusable, can be put in a library
4 of 34
Need for Reusable Components
Saves time for the programmer as they do not have to write, debug and test a subroutine every time it's needed
5 of 34
Nature of Caching
Temporary storage of program instructions or data that have been used once and maybe needed again shortly, e.g. web caching - gives faster access to web pages
6 of 34
Problem Decomposition
Breaking down a problem into sub-problems, e.g. within a menu, each choice will result in a different, self contained module
7 of 34
Top-Down Design
Breaking the problem down into the major tasks, then again into sub-tasks until each sub-task is simple enough to be written as a self-contained module
8 of 34
Advantages of Problem Decomposition
Easy to test, maintain and debug
9 of 34
Tools for Designing Algorithms
Flow chart, pseudo code and trace table
10 of 34
Concurrent Processing
When several processes are running, with each being given a slice of processor time, gives the appearance of the processes running simultaneously
11 of 34
Benefits of Concurrent Processing
Increases the rate in which tasks are completed, time wasted waiting for user inputs or outputs is used on other tasks
12 of 34
Drawback of Concurrent Processing
If a large number of people are trying to run programs, they will take longer to complete
13 of 34
Selection
Used to select which statements are going to be operated next, conditions are formulated using rational operators (,= etc.)
14 of 34
Iteration
Statements that involve performing a loop in the program to repeat a number of statements. E.g. While and For loops
15 of 34
Recursion
When a subroutine is defined in terms of itself, there must be a stopping condition where the subroutine stops calling itself
16 of 34
Global Variable
A variable that can be used anywhere in the program, including within any subroutine
17 of 34
Local Variable
A variable that only exists and executes within a subroutine, they cannot be accessed outside the subroutine
18 of 34
Parameter Passing - By Value
The actual value is passed to the subroutine, where it is treated as a local variable (a copy is made)
19 of 34
Parameter Passing - By Reference
Passes the address of the value and not the actual data, it works directly with the original data
20 of 34
Integrated Development Environment
Software that enables you to enter, edit, compile/interpret, and run your programs
21 of 34
Features of an IDE
Add line numbers, automatically indent code, autocomplete commands, make comments
22 of 34
Debugging IDE
Breakpoints (Stopping the program at a certain point. Variable inspection (displays its value every time it changes). Stepping through the program (one line at a time)
23 of 34
OOP - Setter and Getter Methods
Used to find or change attributes within an object
24 of 34
Computable Problem
A problem is computable if an algorithm can solve it in a finite number of steps
25 of 34
Enumeration
Trying all possible solutions until the correct one is found, inefficient the larger the problem gets
26 of 34
Simulation
The process of designing a model of a real system in order to understand the system
27 of 34
Divide and Conquer
A powerful technique that reduces the size of the problem with every iteration e.g. binary search
28 of 34
Problem Abstraction
Removing details until the problem is represented in a way that is possible to be solved
29 of 34
Visualisation
E.g. A flow chart is useful for visualising an algorithm
30 of 34
Backtracking
Used when a process has limited info and/or a decision leads to more decisions, e.g. solving a maze
31 of 34
Data Mining
The process of digging through large sets of data to discover hidden connections and predict future trends, usually using a software package
32 of 34
Heuristic Approach
An approach which employs an algorithm that is not guaranteed to be optimal, but is sufficient for the purpose
33 of 34
Performance Modelling
The process of simulating different user and system loads, using a mathematical approximation rather than doing actual performance testing which may be difficult and expensive
34 of 34

Other cards in this set

Card 2

Front

The details of how data is actually represented is hidden

Back

Abstract Data

Card 3

Front

A logical description of how data is viewed and the operations that can be performed on it, e.g. stacks and queues

Back

Preview of the back of card 3

Card 4

Front

1. Ensures user knows what checks to make before calling a subroutine 2. Helps make the program reusable, can be put in a library

Back

Preview of the back of card 4

Card 5

Front

Saves time for the programmer as they do not have to write, debug and test a subroutine every time it's needed

Back

Preview of the back of card 5
View more cards

Comments

No comments have yet been made

Similar Computing resources:

See all Computing resources »See all Unit 2 resources »