Thinking!

What I'll Cover

Thinking Concurrently and Procedurally

Couldn't seem to find any definition for what either of these terms refer to but it goes into some detail on other things

The Structured Approach

This programming approach prioritises the maintainability and clarity of code by using iteration, selection and sequence. Each block of code should have one entrance point and one exit point. You can use flowcharts to design algorithms

Concurrent vs Parallel

Concurrent processing is when one processor is responsible for executing all instructions, if multiple tasks are needing to be done at once then processor time is divided among the different tasks. In contrast parallel processing using multiple different processors to simultaneously execute instructions, this is faster for problems that can be broken down into smaller repetitive chunks but isn't always possible

Problem Recognition

A problem is computable if there is a possible method to compute every instance of a problem in a finite number of steps, even if it would take millions of years.

Main Ways of Problem Solving

  1. enumeration - brute force
  2. simulation - creating a model to try and predict the outcome of a system
  3. divide and conquer - reduce the complexity of a problem iteratively
  4. abstraction - remove unnecessary details of a problem to make it easier to solve

Problem Solving

yes really...

Visualisation - it's important to present the solution to a problem

Backtracking - sometimes you have to make choices to solve a problem, you might make a bad choice and therefore have to backtrack to change the previously made choice. Some problems like this are deemed intractable, meaning that even though a theoretical algorithm to solve them may exist it would take too long to solve. In this case heuristics can be used to make better choices when they need to be made, reducing the backtracking required to solve a problem

wasn't sure what to use as a picture and didn't want to clogg up the repo with useless images

ocr computer science