Chapter 7 - The Programming Languages Issue - SIGPLAN

From CS2001 Wiki

Jump to: navigation, search

The issue of programming languages and paradigms caused considerable debate at the time of the final public consultation. In brief, following a SIGPLAN conference in Harvard at the end of May, we received a request to reconsider the teaching of programming. That request generated a great deal of debate within the review committee and was welcomed as drawing attention to an important matter.

The review committee was divided in its response to the SIGPLAN proposal. On the positive side, the committee was convinced that students need exposure to more than one programming paradigm, for precisely the reasons outlined in the proposal. At the same time, there was no consensus within the review committee that the functional programming paradigm needed to be required in all undergraduate computer science curricula. There are certainly many successful curricula that do not require students to learn functional programming; making the specific changes in the knowledge units recommended by SIGPLAN would force those curricula to change to remain in compliance with the guidelines. We did not believe that we could justify making so far-reaching a change, particularly at the level of an interim review.

Our consensus recommendation is therefore to add a new requirement that students acquire facility with more than one programming paradigm to the set of general requirements in Chapter 9 (“Completing the Curriculum”) of the CC2001 report. The new requirement follows the existing section 9.1.5:

9.1.5 Exposure to different programming paradigms

Computer science professionals frequently use different programming languages for different purposes and must be able to learn new languages over their careers as the field evolves. As a result, students must recognize the benefits of learning and applying new programming languages. It is also important for students to recognize that the choice of programming paradigm can significantly influence the way one thinks about problems and expresses solutions of these problems. To this end, we believe that all students must learn to program in more that one paradigm.

Although we believe it is essential for all students to acquire experience with more than one paradigm, we believe that the choice of an appropriate secondary paradigm will depend significantly on the specific character and educational goals of each institution. Universities that seek to prepare students for positions in academia, research, and advanced development would be well advised to introduce functional programming so that students can take advantage of the mental discipline that those languages encourage. Programs that seek to prepare students to develop web-based applications might choose instead to use scripting languages. Such languages seem to be growing in commercial importance and are increasingly adopting features that were typically associated with functional languages in the past.

The review committee also plans to forward both the SIGPLAN proposal and the notes from our discussions to the next full-scale curriculum committee, which should be appointed sometime in the next year or two. As is clear from the interest that has been generated by this discussion, programming and programming language issues will be central discussion items in the next round of curriculum revisions.


To give feedback on this area of revision, go to here and use your ACM user name and login.

Copyright © 2008, ACM, Inc. and IEEE, Inc.