Computer Science Curricula 2013 Recommendations and Student Learning Outcomes

Every 10-12 years, the professional computing societies, the Association for Computing Machinery (ACM) and the Computer Society of the Institute of Electrical and Electronics Engineers (IEEE-CS), have published extensive recommendations for undergraduate programs.

Computer Science Curricula 2001 and 2008

An ACM/IEEE-CS Task Force published Computer Science Curriculum 2001 (CS2001) in December 2001 with a modest update in December 2008. The 2001 recommendations were extensive.

  • CS2001 spanned 240 pages, identified 14 high-level "Knowledge Areas", and specified 132 detailed "Knowledge Units" covering 280 hours of class time.
  • Although CS2001 identified topics to be covered, the ACM/IEEE-CS Task Force did not want to dictate curricular structure, but rather to encourage schools to experiment with the organization of topics into courses.
  • CS2001 described a few hypothetical courses to illustrate possible ways to organize some topics, but these courses had not been implemented anywhere. Rather, the courses were designed primarily to stimulate discussion.

Computer Science Curricula 2013

In 2010, ACM and IEEE-CS appointed a new Task Force for the development of updated curricular recommendations. Following an extensive process, the Task Force published several interim drafts before issuing a final report. Each step built on the previous, with some important additions.

  • The Strawman Draft (February 2012) followed the general approach of CS2001, devoting 172 pages to an extensive listing of 18 Knowledge Areas and many individual Knowledge Units (with associated hours).
    • To maintain a central core and to allow some flexibility, the Strawman Draft divided important topics into Tier1 and Tier2 categories.
    • Tier1 topics were considered sufficiently important that they should be covered by all schools.
    • Tier2 topics were quite important, but not all of these topics were deemed essential for all schools. Rather schools were encouraged to cover about 80% of the Tier2 topics in their curricula.
  • The Ironman Draft (February 2013) refined the Strawman Draft and added two substantial elements.
    • About six Student Learning Objectives were added for each Knowledge Unit, providing a clearer statement of the level of mastery expected for various topics.
    • About 60 "Course Exemplars" were identified from courses being offered at schools around the country. The Ironman Draft explained, "These examplars are not meant to be prescriptive with respect to curricular design—they are not meant to define a standard curriculum for all institutions. Rather these course examplars are provided to give educators guidance on different ways that that portions of the Body of Knowledge may be organized into courses and to spur innovative thinking in future course design."
  • The Final Report 0.9 (Pre-release version) appeared in October 2013. In addition to refining details and wording, the report included five "Curricular Exemplars" to illustrate how the overall CS2013 recommendations might be mapped to complete, cohesive curricula.

Connections between Computer Science Curricula CS2013 and Grinnell's Computer Science Program

Computer science faculty members at Grinnell, while not being on the 2013 ACM/IEEE-CS Task, participated in extensive discussions with the Task Force. As a result, Grinnell's curriculum is described in two different sections of the Final Report 0.9.

  • Grinnell's multi-paradigm, three-course, introductory sequence (CSC 151, CSC 161, and CSC 207) are described as "course exemplars", starting on page 454 and extending for 8 pages.
  • Grinnell's overall curriculum is described as one of five overall "curriculum exemplars", starting on page 480 and extending for 12 pages.

CS2013 Learning Outcomes

Computer Science Curricula 2013 (CS2013) identifies an extensive list of learning outcomes for each Knowledge Unit to be covered in undergraduate computer science programs. For each learning outcome, CS2013 indicates a desired level of student mastery:

  • "Familiarity: The student understands what a concept is or what it means." [CS2013, p. 30]
  • "Usage: The student is able to use or apply a concept in a concrete way." [CS2013, p. 31]
  • "Assessment: The student is able to consider a concept from multiple viewpoints and/or justify the selection of a particular approach to solve a problem." [CS2013, p. 31]