Algorithm Thinking Flashcards
Algorithm
A precise, systematic method for producing a specific result.
Five Essential Properties of Algorithms
1) Input Specified
2) Output Specified
3) Precision
4) Reasonable Operations
5) Finite
Input Specified
Must specify the type, amount and form of data to be used during the algorithm.
Output Specified
Must describe the result of the algorithm (it is possible to have no output)
Precision
Specify precisely the sequence of steps to be performed including how to handle errors.
Reasonable Operations
The operations are doable.
Finite
The algorithm must eventually stop (terminate).
An algorithm must..
Be written using a language understood by both the writer of the algorithm and the reader who will use it.
We use…
Precise programming language
The 5 steps of Software Development
1) Specification
2) Design
3) Implementation
4) Testing, execution, debugging
5) Maintenance
Specification
Determine the scope of your problem and what you want your program to do.
Design
Determine the structure and algorithms necessary (how) to solve your problem at a high-level of abstraction.
Implementation
Start implementing your algorithms/structures on the computer.
Testing, Execution, and Debugging
Test your program on various data sets and fix any problems.
Maintenance
Over time, modify your program as necessary to handle new data or more complicated problems.