Thinking Logically and Concurrently

Structured approach

This is about improving clarity and maintainability

onlye 3 techniques: sequence (statement order), selection (if / else etc), and iteration (loops and stuff)

Tools for designing algorithsm

flowcharts are good because they show sequence and selection. Psuedo code is good to just get your ideas out

tracetables are used to see where errors occur within a program

thinking concurrently is cool because you can increase number of tasts done per second

parallel procesing can be cool because it takes advantage of different processors, but some tasks might run faster on just 1 processor

pp is good for 3d though

Problem Recognition

a problem is computable if there is an algorithm to sovle the problem in every instance within a finite amount of steps. wow, hella deep.

some problems are theoretically solvable just take ages like guessing a password because it'll take a whlie to CRACK it

Methods of problemm solving:

quick aside: these are the most nothing ways to solve a problem. wow i can think creatively like ocr are so clever for this.

Strats for problem solving include Divide and conqure (like binary search), problem abstraction (getting rid of useless info)

Automation is about making a model to solve problems

Problem solving (cms lesson reference???)

visualization is used to see a problem more clearly and therefore find a solution.

backtracking is goign back to where you were previously after a dead end to see if you cna find a solution, like in a maze.

data mining is going through data to predict trends

big data is a large set of data which can't really be handled in a normal databass

intractable problems are problems which are solvable, just take too frickin long

Heuristic methods are about approximating an answer for an intractable problem

performance modelling is simulating system loads instead of doing the performance becase that could be expensive

pipeliningin is splitting tasks into smaller parts adn overlapping them when you do them

  1. Blessed
  2. Are
  3. The
  4. CheeseMakers