Algorithm is the first step toward programming. In general sense, it is a step-by-step solution to solve a problem, especially in math and computing. Algorithm has the same precision attitude math and computer has; the instructions and steps have to be exact. There are three characteristics of algorithm:

  • Finiteness: algorithm should have a stop, an end.
  • Input and output: like a computing system, there is an input and output in an algorithm; it is interactive, receiving a command and generating a result.
  • Effectiveness: achieving the same purpose, the less is better.

Then, we played a game to get a taste of algorithm: the light bot. In the game, we have to give the bot exactly what it needs to do, instead of telling them “just go around and light those squares up.”

The last one of the third level is quite tricky, since we need to use 2 set of repetitions to represent it.

screen-shot-2016-11-09-at-3-43-09-pmscreen-shot-2016-11-09-at-3-43-18-pmScreen Shot 2016-11-18 at 4.37.40 PM.png

The main way to express an algorithm is through Pseudocode.

And the way to visualize, to simplify an abstract concept in algorithm is through flow chart.

Here are two pictures from IBO of approved notations of Flow chart and Pseudocode. screen-shot-2016-11-18-at-4-54-43-pmscreen-shot-2016-11-18-at-4-54-58-pm

For specific examples, refer to my next post.

Pictures from IBO.