key terms Flashcards
to learn key terms
computational thinking
a problem-solving approach that includes abstraction, decomposition, and algorithm development
decomposition
breaking down a problem into smaller parts that are easier to solve.
object oriented programming
a program made up of objects, each object contains methods (functions) and attributes (variables)
instruction set
the collection of opcode a processor is able to decode and execute
pipelining
where the output of one process is the input to another
data mining
can show patterns and relationships that aren’t obvious but can be find through pattern matching large quantities of data
caching
data is stored in the cache in case uts needed again soon, so it doesn’t need to be refetched from the RAM
prefetching
when an instruction is requested from memory by the CPU before its required to speed up instruction throughput
parallel processors
allows different parts of a program to be executed simultaneously, or multiple processes
heuristic
a problem-solving method that uses shortcuts to produce good-enough solutions given a limited time frame or deadline, using rule of thumbs
BRA
branch always, jump instruction that is always executed.
BRP
branch if the value in the accumulator is positive
sequence
execution of statements or functions one after another
selection
where flow of a program is interrupted and control is passed to another point
recursion
where a procedure or function calls itself, called a divide and conquer approach
global variable
a variable that is accessible from anywhere in the program. useful when a variable needs updating from multiple subprograms.
local variable
a variable declared and accessible from inside a subprogram, makes them less likely to be accidentally altered by other modules
function
an algorithm that takes an input and produces an output
procedures
subprograms that do not return a value
by reference (by ref)
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.
by value (by val)
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
source code
code written in a programming language that can be read and edited by other programmers
build
all actions taken to produce a finished working program: writing, compiling, linking, testing, packaging and documentation
IDE
integrated development environment, a place to write source code and test it
immutable
unchangeable
linear search
searching each location one after another until the searched for value is found
binary search
dividing the list into two each time until we find the item being searched for (only works on sorted lists)
bubble sort
goes linearly through a list, swapping items in the wrong order until no swaps take place in a pass.
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
merge sort
Merge sortrepeatedly breaks down a list into several sublists until each sublist consists of a single element andmergingthose sublists in a manner that results into asortedlist.
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 thensortedrecursively.
Big o notation
used to show the time or space needed to execute a function on increasingly sized data