Sign In

Communications of the ACM


CS Education in the U.S.: Heading in the Wrong Direction?

Sisyphian image of brain and laptop computer

Illustration by John Hersey

Considering the most effective methods for teaching students the fundamental principles of software engineering.

The full text of this article is premium content


CACM Administrator

The following letter was published in the Letters to the Editor in the December 2009 CACM (
--CACM Administrator

In their Point/Counterpoint "CS Education in the U.S.: Heading in the Wrong Direction?" (July 2009), Robert Dewar wrote that the CS curriculum lacks important fundamentals, mostly of a mathematical nature, and Owen Astrachan wrote that "Studying more mathematics will not make software bugs disappear, although both [Edsger W.] Dijkstra and Dewar seem to think so," concluding implicitly that more mathematics in the CS curriculum is not necessary.

Astrachan apparently overlooked the distinction between necessary and sufficient conditions, a routine distinction in mathematics. As far as I know, neither Dijkstra nor Dewar ever claimed that mathematics is a "silver bullet" guaranteeing reliable design, and both would likely agree with Fred Brooks that indeed there is no silver bullet.

Dijkstra's and Dewar's argument that mathematics is an essential aspect of a proper CS education mirrors the fact that education in all engineering disciplines involves a solid mathematical foundation from the start, then used in all (other) courses; see my article "Teaching and Practicing Computer Science at the University Level" in Inroads, SIGCSE Bulletin 41, 2 (June 2009), 2430.

As long as CS educators cannot agree about the fundamentals, practice will remain below the professional standards common in classical engineering; see Allen Tucker et al.'s "Our Curriculum Has Become Math-Phobic" in SIGCSE Bulletin 33, 1 (Mar. 2001), 243247. This could be the result of declining CS student enrollment, possibly leading to the replacement of mathematics with, say, trendy topics apparently more appealing to freshmen. However, even trendy topics can be combined with a solid mathematical foundation, with the trendy topics included as illustrations. In any case, the emphasis in teaching such topics must be mathematical modeling, not mere description.

Unfortunately, teachers are divided, so combining theoretical CS expertise and practical experience in the same person is rare, unlike in other engineering disciplines. Educating the educators may well be a first priority.

Raymond Boute
Ghent, Belgium

Displaying 1 comment

Log in to Read the Full Article

Sign In

Sign in using your ACM Web Account username and password to access premium content if you are an ACM member, Communications subscriber or Digital Library subscriber.

Need Access?

Please select one of the options below for access to premium content and features.

Create a Web Account

If you are already an ACM member, Communications subscriber, or Digital Library subscriber, please set up a web account to access premium content on this site.

Join the ACM

Become a member to take full advantage of ACM's outstanding computing information resources, networking opportunities, and other benefits.

Subscribe to Communications of the ACM Magazine

Get full access to 50+ years of CACM content and receive the print version of the magazine monthly.

Purchase the Article

Non-members can purchase this article or a copy of the magazine in which it appears.