From Real-Life Problems to Computer Algorithms

Layered model: 

Natural language (description in words - ambiguous, the most general)
Mathematical abstraction (equations, strict conditions, unambiguous, less general)
Numerical Method (solve equations numerically, works in certain cases,
numerical stability, suitable for parallel implementation?)
No Free Lunch theorem www.no-free-lunch.org
Numerical Algorithm (Implementation, modular design, pseudo-code/flow chart)
Program (programming language, implementation, compilation, debugging, platforms, documentation, stability and security concerns)
Solutions (test, nontrivial examples, run time)
(output data representation, snapshots, packaging, advertising, website)

Reference Example

Natural language: Precisely calculate π.

Mathematical abstraction: pi_formula
Numerical Method: pi_sumpi_graph

Other Examples

Find the root  of the function:

Possible Numerical Methods:

a. Interval splitting

b. Fixed-point method