1/56
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Abstraction
simplifying a problem by only taking the necessary details into consideration required to obtain a solution
Data abstraction
The storage and representation of data in a computer system along with its logical description and interaction with operators
Graph theory
A branch of mathematics that can be used to abstractly represent problems using a collection of nodes connected by edges
Integrated Development Environment (IDE)
A software package that allow a user to develop and implement code more easily, with features for editing, debugging, version control, testing, and compilation
Iterations
A programming control structure where a set of statements is repeated either a fixed number of times or until a condition is met
Procedures
A subroutine that is called by simply writing its name in the code. Procedures do not have to return a value in the program
Computable problems
A problem for which every instance can be solved in a finite number of steps by means of algorithm
Divide and conquer
An algorithm design technique to decompose and solve problems by reducing the problem size with each iteration, until the sub problem becomes solvable
Performance modelling
The process of simulating the behavior of a model under different virtual user and system loads by mathematical approximation
Merge sort
A O(logn) divide-and-conquer sorting algorithm that recursively halves the list into sublists until all sublists are of length 1. The sublists are then merged back together in such a way that they are always sorted, until the full single list is obtained
O(2^n) Exponential time/space
An algorithm whose execution time or required memory space grows exponetially with input size (higher complexity than polynomial)
O(logn) Logarithmic time/space
An algorithm whose execution time or required memory space grows logarithmically with input size (lower complexity than polynomial)
Quick sort
A O(n logn) sorting algorithm similar to merge sort, but relies on choosing a pivot element whenever the list is split. Elements greater than the pivot go into one sub list, while the rest go into the other. All sublists of length 1 will be in a sorted order
Caching
The temporary storage of data by the system in cache or memory for the benefit of faster retrieval if it is needed again in future
Inputs
Any information relevant to the problem that is required by the system for process according to an algorithm
Outputs
The result returned by a system for a given input after running the entire process or part of a process
Preconditions
A prerequisite or state of a system and its surroundings required to run a use case return a valid solution
Reuseable Program components
Components that have already been written, debugged and tested that can be transplanted into new systems to save development time in project completion
Flowcharts
The diagrammatic representation of the flow of a program that includes all the points where a desicion needs to be taken in order to obtain a solution
Logical conditions
Conditions which may depend on one or more variables used to determine the next step whenever a system has to make a decision. They are typically implemented using control structures such as sequences, selections and iterations