[OT[ proving programs for novices
Tue, 18 Mar 2003 19:05:47 -0600
. . .
> For imperative programming:
> D. Gries, The Science of Programming. Springer Verlag, New York, 1981.
> E.W. Dijkstra, A Discipline of Programming. Prentice-Hall, 1975.
These are two excellant sources; I've learned from each and taught from
However, they are both a bit stiff for the student with little
logic or mathematics. Several texts did come out in the late 80's that
the same approach from a more elementary starting point. Three such are
E.W.Dijkstra and W.H.J. Feijen, A Method of Programming,
Geoff Dromey, Program Derivation/The Development of Programs from
Specifications, Addison-Wesley, 1989, ISBN 0-201-41624-7
Edward Cohen, Programming in the 1990s, Springer-Verlag, 1990,
> For functional programming:
> R. Bird, Introduction to Functional Programming using Haskell,
> 2nd edition. Prentice-Hall, 1998.
I'd like to hear abut more sources here as well. I've started in on
Richard Bird and Oege de Moor, Algebra of Programming, Prentice
but it is hardly elementary!
Another very interesting text is
John Cooke, Constructing Correct Software/the basics,
1988, ISBN 3-540-76156-X
which almost combines imperative and functional programming (and
by presenting a method of transforming (logical) specifications through
functions into imperative programs.
-- Bill Wood