What is abstraction?
Picking out important bits of information/details from the problem, ignoring the specific details that don’t matter
What is algorithmic thinking?
Logical thinking and thinking methodically
What is decomposition?
Breaking a complex problem down into smaller problems and solving each one individually
How do you write pseudocode? What are some ways you should write it
Write what you have to do in words but simply just important details. Variable = input"..." If...then Else Print
What does a oval mean in flow diagrams?
Start/stop
What does a parallelogram mean in a flow chart?
Input/output
What does a rectangle stand for in flow diagrams?
Processes -general instructions, processes and calculations
What does a diamond mean in a flow diagram?
Decision -yes or no
What does an arrow show in a flow diagram?
Show the direction you should follow
What’s an algorithm?
A precise sequence of instructions.
What’s computational thinking?
Computational thinking allows us to take a complex problem, understand what the problem is and develop solutions.
What’s linear search?
What’s binary search?
What’s the pros and cons of linear search?
Pros
-fairly simple to code
-the data does need to be in a set order
Cons
-slow to process large lists-worst case scenario is searching through the whole list
-not efficient, only works well with small lists
What’s the pros and cons of binary search?
Pros -more efficient -more suitable for larger lists Cons -list has to be ordered -more complicated to code
What’s a bubble sorting algorithms?
What are the pros and cons of bubble sort?
Pros -simple to write the code for -doesn't use very much memory Cons -inefficient, slow -can't cope with really large lists
What’s merge sort?
What are the pros and cons of merge sort?
Pros
-more efficient and quicker than bubble and insertion for large lists
-consistent running no matter how ordered the original items are
Cons
-slower for small lists
-it uses more memory than any of the other sorting algorithms
What’s insertion sort?
What are the pros and cons of insertion sort?
Pros
-easy to code, intuitive way of thinking about it
-copes very well with small lists, doesn’t require much additional memory
Cons
-doesn’t cope very well with large lists
-best case scenario requires n-1 comparisons
-worst case scenario requires n(n-1)/2 comparisons
What’re two advantages of problem decomposition?