Unit 10 - Computational Thinking Flashcards
1
Q
What is abstraction? (Thinking abstractly)
Give a few examples.
A
Removing unnecessary details and only including the relevant ones. (Based off of what does and doesn’t matter to solving the problem)
e.g: Variables, Objects, data structures, symbols on a map, etc.
2
Q
What is thinking ahead?
What is caching?
A
- Planning inputs, outputs and reusable components which you’ll be using.
- Data which has been used is stores temporarily in case it’s needed again. (Using RAM instead of secondary storage)
3
Q
What is top-down design?
A
- Looking at a problem as a whole to identify main components to break down into smaller modules
4
Q
What is divide and conquer?
A
- Recursively splitting a problem (divided) into small manageable subproblems
- which are each solved (conquered) separately
- and combined at the end to form a solution to the main problem
5
Q
What is backtracking?
A
- An algorithmic approach to a large problem
- where partial solutions are slowly built up
- then abandoned if they fail, returning to the last successful point
- until a solution is found
6
Q
What is data mining?
A
- Analysing large amounts of data to provide new information
- useful to search for subtle relationships and information