Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am wondering what should an algorithm documentation contain? Can't locate a proper guideline to follow. I have in mind to include

  • summary of the algorithm
  • description of the algorithm
  • flowcharts
  • pseudo codes
  • sample input data set(multiple)
  • output data
  • unit tests
  • experiments

The client requests such a documentation to: Maintain confidence in our own numbers as well as to describe our process to potential customers so they know we are taking steps to check and verify our calculations.

  • How would look like such a documentation? (example PDF)
  • What would you include more in this documentation?
  • What I enumerated is that good, or this should be somehow documented differently?
  • How would you search in Google for such documentation samples?
share|improve this question

migrated from Jul 18 '11 at 20:07

This question came from our site for professional and enthusiast programmers.

Some more points:

  1. Performance analysis/benchmark with sample inputs and environments.
  2. Alternates to the algorithm(if exists), really helps for new people, and for comparison analysis.
  3. Examples of best and worst case scenarios/inputs.

How would look like such a documentation?
Cusotmers/Users(/Managers?) don't like PDF, they find PPTs very interesting though, at the same time business will insist on PDF. So you should have a two-level document, one in PPT just to "explain in 20 mins" and other in PDF that covers the gory details of the game.

share|improve this answer
Also if the alternate Algos are available you must compare the efficiency of both Algos. – Talha Ahmed Khan Jul 18 '11 at 7:48
Any samples you can show? – Pentium10 Jul 18 '11 at 8:07

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.