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: 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:
  1. Enumeration - Trying every possible solution to a problem, e.g. guessing a password
  2. Simulation - Creating a theoretical model or algorithm of a real world problem to help solve it
  3. 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