C.1 System design concepts Flashcards
Explain how knowledge of data structures, algorithms ad programming influence system change.
What are information systems designed as?
Interacting collections of computer programs
What do computer programs consist of?
Collections of instructions that tell the computer how to interact with the user and undertake specific functions
Define algorithms in the context of computer programs.
Rules used for calculation or problem-solving based on particular representations and structures of data
What do data structures enable?
Accurate representation of data relationships and efficient data usage
List some examples of data structures.
- Arrays
- Linked lists
- Stacks
- Queues
- Trees
- Graphs
- Tables
- Sets
How do arrays organize data?
Store elements of the same type in a specific order and accessed by indexing
What characterizes a stack data structure?
Last element in is the first one out (LIFO)
Describe the queue data structure.
First-in, first-out (FIFO) rule for processing elements
What is the structure of a tree in data structures?
Starts with a root value and branches into sub-trees of children
Define graphs in terms of data structures.
Comprise sets of ordered pairs called edges/arcs and entities called nodes/vertices
What is the purpose of tables in data structures?
Store elements that can be inserted, searched for, or deleted
What is a set in data structures?
Stores certain values without any particular order and no repeated values
How does a binary tree improve search efficiency?
Reduces the average search steps compared to linear search
What are the average search steps using linear search versus binary search for n items?
- Linear Search: n/2 steps
- Binary Search: log2n steps
What are data types?
Data that share a specific property, such as integer, Boolean, alphanumeric characters, or strings
What do algorithms manipulate?
The data contained in data structures
Define an algorithm.
An explicit, precise, unambiguous, mechanically-executable sequence of elementary instructions
What are conditionals in algorithms?
Different steps based on whether a specified Boolean condition evaluates to true or false
What is recursion in algorithms?
A solution to a problem depends on solutions to smaller instances of the same problem
What is abstraction in problem-solving?
Identifying the underlying abstract problem devoid of unnecessary detail
What is the role of programming languages?
Express algorithm(s) and data structure(s) in a particular programming language
How do compiled languages work?
Programmer writes general instructions, and a compiler translates these into machine language
What is the difference between compiled and interpreted programming languages?
Compiled languages translate code before execution, while interpreted languages translate code during execution
What marked the shift from low-level programming to procedural programming?
Higher-level programming languages that allowed writing programs using familiar terms