Computational Thinking and Problem Solving Flashcards
What is meant by computational thinking?
It is a problem solving process where a number of steps are taken in order to reach a solution, rather than relying on rote learning.
What are the 5 steps of computational thinking?
- Abstraction
- Decomposition
- Data Modelling
- Pattern Recognition
- Algorithm Design
What is meant by abstraction?
Filtering out information not necessary to solve the problem.
Why use abstraction?
Power to deal with complexity. An algorithm is an abstraction of a process that takes inputs, executes a sequence of steps, and produces outputs
What is meant by decomposition?
Breaking tasks down into smaller parts in order to explain a process more clearly aka step-wise refinement
What is meant by data modelling
Analysing and organising data and making decisions in what to use when creating a program - such as composite data types, or arrays (if we have groups of data needing to be stored), or text files, or even databases. It also covers user-defined data types and how we build data models (object oriented programming) were we can build data models by defining classes.
What is meant by pattern recognition?
Looking for patterns or common solutions to common problems and making the most of these to complete tasks in efficient and effective ways
Give examples of standard algorithms you can use to solve standard problems
Insertion Sort, Binary Search, Bubble Sort
Explain what is meant by Algorithm design
Developing step-by-step instructions to solve a problem
State the purpose of a bubble sort algorithm
is a simple sorting algorithm that repeatedly steps through the list to be sorted, compares each pair of adjacent items and swaps them if they are in the wrong order. The pass through the list is repeated until no swaps are needed, which indicates that the list is sorted.
State a problem with bubble sort algorithms
Slower and less efficient than Insertion sort.