Please enable JavaScript.
Coggle requires JavaScript to display documents.
Paper 2 - Coggle Diagram
Paper 2
2.1 Algorithms
2.1.1 Computational Thinking
Abstraction
Involves filtering out/ignoring characteristics that we don't need in order to concentrate on those we do
E.G. Abstraction of school map would not include trees, the wall length etc.
Algorithmic Thinking
Step-by-step plans for solving problems, they can be designed using pseudocode and flow diagrams, easier to read and understand
-
Decomposition
Involves breaking down a complex problem/system into smaller parts that are more manageable and easier to udnerstand
E.G. How to make a cheese and tomato sandwich: Milk the cow; Make the cheese ; Grab the tomatoes from your garden; Grab wheat; Make bread; Put bread on surface; Slice tomato; Delicately plant the tomato on to the Hovis white bread; Slice the cheese; Place on bread; Place bread on top of the cheese and tomato; Well done.
2.1.2 Designing, creating and refining algorithms
Flow Diagrams
Box with rounded corners- used at beginning and end of an algorithm
Parallelogram- input/output
Rectangle- general instructions, processes and calculations
Diamond- decisions go here, these are often yes/no
Sub Routine- link to other flow diagrams Arrows- connect boxes and show the direction to go next
Pseudocode
Not programming language nor natural language (somewhere in-between) , should be easy to understand and to convert to programming language
E.G. START; Fetch a tea cup; Boil some water; Place a tea bag into the cup; Pour on boiling water; Stir teabag; Remove teabag; END
Understanding the problem
2.1.3 Searching and Sorting Algorithms
Searching Algorithms
Binary Search
This algorithm can be very fast, it needs an ordered list/sorted data such as a dictionary, could be used to find spelling and definitions very fast
E.G. Create number line of 1-20 Find midpoint (10) If number is high find midpoint of right side (15) If number is lower find midpoint of left side (5) Repeat until number is found
Linear Search
Most simple searching algorithm, list it is searching does not need to be sorted first, looks at each item, one at a time, until it finds the one it is looking for
-
Sorting Algorithms
Insertion Sort
Simple to understand; takes each item in turn and puts in the right place, using first item as a starting point
Merge Sort
Most complex sorting algorithm; breaks numbers into halves, once fully broken apart, numbers are put back together into ordered chunks, then joined together into a fully ordered list
Bubble Sort
Each number is compared in pairs to see which one is bigger, the bigger one will move to the right and smaller will move to the left. This will finish until no changes/passes have been made in the burble .sort