Skip to content

Notes on Structured Programming (EWD249)

Markdown transcription of Edsger W. Dijkstra's Notes on Structured Programming (EWD249, August 1969; second edition April 1970), one file per page of the source PDF.

  • Source PDF: https://pure.tue.nl/ws/files/2408738/252825.pdf (89 pages)
  • Transcription: pages/001.md … pages/089.md, one file per PDF page.
  • File number = PDF page order. Pages 001–003 are the TU/e publication cover and front matter; the typescript itself begins at pages/003.md.
  • Printed page numbers appear in each file as the typescript's running header (EWD249 - N). The printed number is 5 lower than the file number (file 040.md → EWD249 - 35).

Contents

SectionPrinted pageFile
Table of contents—004
To my reader.0005
On our inability to do much.1006
On the reliability of mechanisms.4009
On our mental aids.8013
  On enumeration.8013
  On mathematical induction.9014
  On abstraction.13018
An example of a correctness proof.15020
On the validity of proofs versus the validity of implementations.19024
On understanding programs.21026
On comparing programs.30035
A first example of step-wise program composition.35040
On program families.50055
On trading storage space for computation speed.53058
On a program model.57062
A second example of step-wise program composition.64069
On what we have achieved.75080
On grouping and sequencing.80085

Notes on the transcription

  • Text is transcribed faithfully from the page images; the author's original spelling, punctuation and typos are preserved rather than modernized.
  • Typewritten programs, algorithms and mathematical displays are kept in fenced code blocks with their original indentation.
  • Words underlined in the original running text are rendered as bold. Underlines inside fenced code blocks are not representable in Markdown and are therefore preserved only as plain text.
  • Diagrams that cannot be reproduced as text are rendered as ASCII where simple, or described briefly.