510-749 COM S  400
The Science of Programming
Fall 2004
MWF 11:15 - 12:05 Hollister 372
Instructor: David Gries
3 credits
Prerequisite: COM S 211. The practical development of correct programs based on the conscious application of
principles that are derived from a mathematical notion of program correctness. In addition, related ideas in
"algorithmic problem solving" are explored.
Home
Contact info
Objectives,
topics, outcomes
DrJava
Lec/Rec schedule
Text / handouts
Assignments
Exams and grades


Sometimes, however, the term science is extended to denote a department of practical work that depends on the knowledge and conscious application of principles; an art, on the other hand, being understood to require merely knowledge of traditional rules and skill acquired by habit.

Oxford English Dictionary

Hey, you think you can program? Can you produce beautiful, clean, short, but efficient algorithms for standard but intricate problems? Do you remember algorithms --can you produce them at will? Can you explain algorithms to others in an understandable, effective manner?

The answers to these questions will be "yes" after you learn a theory of program correctness and gain a skill in using a programming methdology that is based on it. Your whole attitude toward programming will change, as will your ability to program with far fewer errors.

Learn the fundamental theory underlying your field --and its application-- and thereby become a more effective computer scientist.