By Niklaus Wirth; Communications of the ACM, April 1971. Programming is usually taught by examples. Experience shows that the success of a programming course critically depends on the choice of these examples. Unfortunately, they are too often selected wi