Flow Charts
An algorithm is a series of steps that are used to do something. Directions to build "some assembly required" furniture, bake a cake or a computer program are all examples of algorithms. Most of computer science concerns developing good algorithms to do things on computers. One of the highest awards in computer science is the Turing Award. People who receive it have made an outstanding contribution to computer science. Some people who have won the Turing Award for famous algorithms:
| Year | Person | Algorithm |
| 1968 | Richard Hamming | Hamming Code, among other things. |
| 1980 | C. Anthony R. Hoare | Quicksort, among other things |
| 2003 | Ronald L. Rivest, Adi Shamir, and Leonard Adleman | RSA Encryption Scheme |
Encryption algorithms are making the news recently. The RSA Encryption Scheme is so strong that messages encoded in it can't be broken by anyone, including the American Government. In fact, if you export software containing the RSA encryption scheme to certain countries, you are considered an arms dealer. This is because foreign powers could encrypt their messages and make them unreadable by American spies. Some governments in the world make it illegal for their citizens to use the RSA Encryption Scheme because it allows the citizens to hide illegal activities to the police.
Also, recently released information about World War II intelligence gathering has demonstrated that a far larger portion of the allies win is due to the algorithms research and code breaking in Britain and the USA than was previously thought. History is being rewritten to include this algorithms research.
Flow Charts are one of the many, many tools that have been developed to record algorithms.
Pieces of a Flow Chart:
| Piece | Purpose |
| holds an option, allows ifs and loops | |
| holds something that needs to be done | |
| shows the way you should head through the path | |
| one one per diagram. shows where to start. | |
| one one per diagram. shows where to end. |
Example:
This example shows how to wash your hair, using a flow chart.