Chapters 50, 51, 52: Moar Computational Thinking
Chapter 50:Thinking Logically
When attempting to solve a problem, the Structured Approach aims to improve the clarity and maintainability of programs. There are only three basic programming structures that are used:
- Sequencing
- Selection
- Iteration
When solving a problem, it may be useful to design the algorithm beforehand. Some ways of doing this are using Flow charts and Pseudocode. Furthermore, when dealing with difficult logic, you might find using a Trace Table useful.Concurrent processing is using one processor to switch between many tasks quickly, allowing for the appearance that there are multiple processors executing tasks simultaneously.
Chapter 51: Problem Recognition
Computable problems are problems that are deemed to have an algorithm for which computers can solve them with. There are many methods to solving problems, some of which are below:
- Enumeration - Trying every possible solution to a problem, e.g. guessing a password
- Simulation - Creating a theoretical model or algorithm of a real world problem to help solve it
- Divide and Conquer - Similar to a binary search by reducing the size of the problem every iteration
Computer Automation is getting a getting a computer to do some menial or repetitive task.
Chapter 52: Problem Solving
THere are many methods for solving problems. Pipelining splits up tasks into smaller tasks and processes them simultaneously to reduce in computational runtime. Data Mining is over-analysing large data sets to spot patterns. Visualising problems with diagrams can make it easier to decipher difficult problems. Heuristic methods generate approximate solutions very quickly.
Data Mining or smt idk