fundamentals of computational thinking Flashcards
define abstraction
the process of filtering out the irrelevant information to solve a problem
define information hiding
all details that do not contribute to the essential characteristics of the problem are omitted
- simulation problems
- London Underground map
What are the four types of abstraction?
- procedural abstraction
- Functional abstraction
- problem abstraction
- data abstraction
What does problem abstraction consist of?
- involves removing details until the problem reduces to one which has already been solved
what does procedural abstraction consist of?
- used to keep the actual values used in computation separate from the overall design.
- this involves writing procedures and passing parameters
What does functional abstraction consist of?
- when you call a function to calculate something or to complete a certain tasks to solve the problem
- it does not require any knowledge about the computation involved
What does data abstraction consist of?
- the data that is relevant to solving a problem may be in the form of an abstract data structure such as an array
define automation
refers to building models of a real world objects or phenomena in order to solve a particular problem
how does the process of automation occur?
- decide what details are relevant and discard everything else
- algorithms can then be designed to solve the problem
- the algorithm is then implemented with program code and written
define procedural decomposition
it is when you break a problem into smaller sub-problems, so that each sub-problem accomplishes an identifiable task
define composition
combining data objects to form compound data objects such as a tree or stack
benefit of abstraction in high level languages
the algorithms used to solve a problem are far removed from the actual machine code instructions which are being carried out
what is a finite state machine
an abstract representation of how something changes from one state to another in response to a condition or event
What are properties of a FSM?
- the machine can only be in one state at a single time
- it can change from one state to another in response to an event or condition, this is known as a transition
- The FSM is defined by a list of its states and the conditions for each transition
Applications of FSM’s
- Robotics
- video games
- design of digital hardware systems
- design of compilers and network protocol