Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Software is discrete mathematics
Page R. ACM SIGPLAN Notices38 (9):79-86,2003.Type:Article
Date Reviewed: Mar 30 2004

How to best train software engineering students in discrete mathematics is a source of continual debate. This paper advocates teaching mathematics through examples based on reasoning about software, rather than via more traditional “math” examples.

The paper introduces the Beseme project, which seeks to develop and assess teaching materials for discrete mathematics. The Beseme materials use functional programs covering areas ranging from list manipulation to tree balancing; mathematical reasoning skills are taught through proofs of program properties. The paper reports on the results of an experiment that gauged effectiveness by measuring student performance in a data structures course. Above-median students who had been taught using the Beseme materials achieved significantly better results than comparable students who had studied discrete mathematics in a traditional setting. The effect was not observed for below-median students. The paper provides arguments that the effect is due to the Beseme materials rather than instructors or innate talent.

One might expect that students trained in discrete mathematics through the use of software examples as sophisticated as tree balancing might do better at data structures than those who had not. This raises a fundamental question: what constitutes successful training in discrete math? This paper takes the view that discrete mathematics for computing is a utility subject, rather than a cultural inheritance in its own right. Some will find this too narrow a view, but the paper nevertheless provides some practical guidance for teachers struggling with student apathy in a subject that is often ignorantly portrayed as remote from “real” computing science.

Reviewer:  John S. Fitzgerald Review #: CR129349 (0409-1072)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Correctness Proofs (D.2.4 ... )
 
 
Curriculum (K.3.2 ... )
 
 
Formal Methods (D.2.4 ... )
 
 
Software/ Program Verification (D.2.4 )
 
Would you recommend this review?
yes
no
Other reviews under "Correctness Proofs": Date
Using symbolic execution for verification of Ada tasking programs
Dillon L. (ed) ACM Transactions on Programming Languages and Systems 22(6): 643-669, 2000. Type: Article
Jul 1 1991
Reasoning about programs (videotape)
Dijkstra E. (ed), University Video Communications, Stanford, CA, 1990. Type: Book
Dec 1 1992
Error-free software
Baber R., John Wiley & Sons, Inc., New York, NY, 1991. Type: Book (9780471930167)
May 1 1994
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy