Skip to main content
Article thumbnail
Location of Repository


By Jayadev Misra and Copyright Jayadev Misra


“He who loves practice without theory is like the sailor who boards ship without a rudder and compass and never knows where he may be cast.” Leonardo da Vinci (1452–1519) Computer programming has been, largely, an intuitive activity. Programmers are taught to understand programming in operational terms, i.e., how a computer executes a program. As the field has matured, we see many effective theories for designing and reasoning about computer programs in specific domains. Such theories reduce the mental effort, and the amount of experimentation needed to design a product. They are as indispensable for their domains as calculus is for solving scientific and engineering problems. I am attracted to effective theories primarily because they save labor (for the human and the computer), and secondarily because they give us better assurance about the properties of programs. The original inspiration to design a computer science course which illustrates the applications of effective theories in practice came from Elaine Rich and

Year: 2006
OAI identifier: oai:CiteSeerX.psu:
Provided by: CiteSeerX
Download PDF:
Sorry, we are unable to provide the full text but you may find it at the following location(s):
  • (external link)
  • (external link)
  • Suggested articles

    To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.