U1: Principles of Computer Science Flashcards
What is Computational thinking?
Computational thinking is a problem solving process that can be divided into four steps
What are the four computational thinking steps?
Decomposition
Pattern recognition
Pattern generalisation and abstraction
Representation of problem elements
What is Decomposition?
Decomposition is the process of breaking a complex problem down into smaller, more manageable parts.
Describe the four stages of decomposition
- Identifying and describing problems and processes. Use language that matched the problems source to list problems and processes.
- Breaking down problems and processes into distinct steps. Decompose complex problems and processes into separate steps which, when taken together, can be reassembled correctly.
- Describing problems and processes as a set of structural steps. Document problems and processes as a set of structural steps.
- Communicating the key features of problems and processes to others as relevant. Discuss the problems and processes with other programmers or clients . Analyse the decomposed steps to identify any patterns.
Pattern recognition
Identifying recurring attributes in a problem or between different problems can make problem solving easier as you could have already solved a very similar problem previously so you therefore dont need to solve it again.
Outline the five key steps of pattern recognition
- Identify common elements or features (examine the problem, list elements or features of each problem, highlight common or repeating elements)
- Identifying and interpreting common differences between processes or problems (examine problem, list elements or features of each problem, highlight elements that are unique to each problem.)
- Identifying individual element within problems (examine the problems to identify inputs, processes (including functions and operations) and outputs that are present)
- Describing patterns that have been identified
- Making predictions that have been identified (for each pattern, determine how it could be used in the future or how it may appear in similar situations)
What is abstraction?
Abstraction is a concept where a system is split up into layers, with each layer hiding the complexity of the layer beneath it so programmers can use features without having to know exactly how they work.
The intricate processes are abstracted - removed
Pattern Recognition
Pattern generalisation happens when relationships between patterns can be identified and simple conditions can be drawn.
You can identify common elements and the relationship between the elements.
What is a variable?
Values in a pro