key terms Flashcards

to learn key terms

1
Q

computational thinking

A

a problem-solving approach that includes abstraction, decomposition, and algorithm development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

decomposition

A

breaking down a problem into smaller parts that are easier to solve.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

object oriented programming

A

a program made up of objects, each object contains methods (functions) and attributes (variables)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

instruction set

A

the collection of opcode a processor is able to decode and execute

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

pipelining

A

where the output of one process is the input to another

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

data mining

A

can show patterns and relationships that aren’t obvious but can be find through pattern matching large quantities of data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

caching

A

data is stored in the cache in case uts needed again soon, so it doesn’t need to be refetched from the RAM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

prefetching

A

when an instruction is requested from memory by the CPU before its required to speed up instruction throughput

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

parallel processors

A

allows different parts of a program to be executed simultaneously, or multiple processes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

heuristic

A

a problem-solving method that uses shortcuts to produce good-enough solutions given a limited time frame or deadline, using rule of thumbs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

BRA

A

branch always, jump instruction that is always executed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

BRP

A

branch if the value in the accumulator is positive

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

sequence

A

execution of statements or functions one after another

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

selection

A

where flow of a program is interrupted and control is passed to another point

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

recursion

A

where a procedure or function calls itself, called a divide and conquer approach

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

global variable

A

a variable that is accessible from anywhere in the program. useful when a variable needs updating from multiple subprograms.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

local variable

A

a variable declared and accessible from inside a subprogram, makes them less likely to be accidentally altered by other modules

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

function

A

an algorithm that takes an input and produces an output

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

procedures

A

subprograms that do not return a value

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

by reference (by ref)

A

passing a value by reference calls on the memory address the variable is stored in, it works directly with the original data and can therefore change it permanently.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

by value (by val)

A

used to create a copy of a variable for temporary changes to the variable that will be lost when the function is no longer in use

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

source code

A

code written in a programming language that can be read and edited by other programmers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

build

A

all actions taken to produce a finished working program: writing, compiling, linking, testing, packaging and documentation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

IDE

A

integrated development environment, a place to write source code and test it

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
immutable
unchangeable
26
linear search
searching each location one after another until the searched for value is found
27
binary search
dividing the list into two each time until we find the item being searched for (only works on sorted lists)
28
bubble sort
goes linearly through a list, swapping items in the wrong order until no swaps take place in a pass.
29
insertion sort
divides a list in two sorted and unsorted, and goes through the unsorted list, inserting elements from the unsorted list into the sorted where relevant
30
merge sort
Merge sort repeatedly breaks down a list into several sublists until each sublist consists of a single element and merging those sublists in a manner that results into a sorted list.
31
quick sort
It works by selecting a 'pivot' element from the array and partitioning the other elements into two sub-arrays, according to whether they are less than or greater than the pivot. The sub-arrays are then sorted recursively.
32
Big o notation
used to show the time or space needed to execute a function on increasingly sized data
33
complexity
how well an algorithm scales to larger data sets
34
constant complexity o(1)
takes the same time to run regardless of the data set
35
linear complexity o(n)
complexity increases at the same rate as the input size increases
36
polynomial complextiy o(nk) (where k>=0)
complextity increases by a square number, creating a half parabola
37
exponential complexity o(kn) (where k>1)
do not scale well at all
38
logarithmic compexity o(log n)
the rate if complexity increase, decreases as the data set increases. scales extremely well
39
procedural programming
a program where instructions are given in a sequence
40
logic programming
a problem is stated as a set if facts which are used to find a given goal.
41
functional programming
a description of the solution is built up through a collection of functions
42
declarative programming
tell the computer the qualities the solution should have. e.g. SQL
43
opcode
instructions
44
operand
data
45
direct addressing
link directly to a memory location
46
immediate addressing
where the operand is the value we need, not a link to the values memory location
47
inheritance
allows us to create a class with all the methods and attributes of another parent class, as well as building on it to have attributes and methods of its own
48
polymorphism
when methods behave differently according to the context they are used in
49
encapsulation
the pattern of making attributes in a class private but allowing them to be changed and accessed through public methods
50
private
only accessible from within that class
51
applications software
allows a user to perform a task or produce something
52
word processors
used for writing letters, reports and other documents
53
spreadsheet packages
allow users to model complex situations and are often used for financial calculation
54
utility software
relatively small program that has one purpose, usually concerned with system maintenance
55
anti virus programs
detects and removes viruses
56
disk defragmentation
groups all parts of a file together so they can be read faster, instead of the parts of a file being scattered around memory
57
compression programs
reduces the amount of space data takes up in storage
58
file managers
allow files and directories to be moved, copied, deleted and renamed
59
backup utilities
these allow backups to be automatically made of specified data
60
operating system
software that manages the computer: manages hardware, installing and running, security and interface
61
multi tasking operating system
carrying out progressing for more than one thing by switching between tasks giving the illusion theyre working simultaneously
62
multi user operating system
allows more than one person to share a computers resources at the same time
63
distributed operating system
can control and coordinate many computers presenting them to the end user as though they were a single system
64
embedded operating system
computers built to perform one specific job, often more efficient and low powered
65
real time operating system
designed to carry out actions with a guaranteed amount of time even when left running for long periods
66
kernel
helps manage the system resources, including memory management and scheduling
67
memory management
allows programs to be stored in memory safely and effiencently, prevents programs changing each others data, efficient
68
virtual memory
secondary storage that appears as if its in the RAM, when its needed it will be moved back into the RAM, used when the RAM is full
69
scheduling
a program that manages the amount of time different processes have in the CPU
70
round Robin scheduling
each process is given a fixed amount of time
71
First come first served scheduling
the first process to arrive is dealt with firsr
72
shortest job first
performs the shortest job in the queue first
73
shortest remaining time
picks the process that will take the least amount of time to perform
74
multi level feedback queues
uses multiple queues with a different priority level, and moves jobs between these queues depending on the jobs behaviour
75
interrupts
when a device sends a signal to the processor to get attention
76
polling
when the CPU keeps checking each peripheral to see if it needs attention
77
interrupt service routines (ISR)
if an interrupt has a higher priority level than the current one it will move to servicing the new interrupt instead
78
device drivers
tells the operating system how to communicate with a device
79
virtual machines
a program that has the same functionality as a physical computer that runs on a computer
80
BIOS
basic input output system- gets the computer running, checks functionality installed memory and starts the processor
81
open source software
source code is available and can be modified, free
82
closed source software
commercial software that is paid for and the source code is hidden