Opinion
Education

Computer Science Curricula 2013 Released

Posted
  1. Article
  2. Authors
teacher at blackboard, illustration

For over 40 years, ACM and IEEE-Computer Society have sponsored international curricular guidelines for undergraduate programs in computing. The rapid evolution and expansion of the computing field and the growing number of topics in computer science have made regular revision of curricular recommendations necessary. The latest volume in the series, Computer Science Curricula 2013 (CS2013), was released last fall (http://dx.doi.org/10.1145/2534860).

The goal of CS2013 is to provide advice and guidance to the computing education community throughout the coming decade. The CS community was broadly consulted on the updates encompassed in the CS2013 curricular guidelines, with nearly 200 computer scientists from around the world contributing in some form to the final report. Presentations of preliminary versions of the report at a variety of conferences and workshops provided additional opportunities to engage the community throughout CS2013’s evolution. By redefining the CS knowledge areas, rethinking the essentials necessary for a CS curriculum, and identifying working exemplars of courses and curricula, CS2013 attempts to balance the growth in the field with the need to keep recommendations realistic and implementable in the context of undergraduate education.

The high-level themes on which the CS2013 effort is based include:

  • The "Big Tent" view of CS. As CS expands to include more multidisciplinary work and new programs of the form "Computational X" are developed, it is important to embrace an outward looking view that sees CS as a discipline actively seeking to work with and integrate into other disciplines.
  • Institutional needs. Curricula exist in the context of specific institutional needs, goals, and resource constraints. Curricular guidelines must be relevant to a wide variety of institutions in the U.S. and internationally, including large and small, research and teaching, public and private, with programs ranging from two to four (or more) years. As a result, CS2013 provides guidance in developing curricular structure through a tiered set of core topics, where a small set of Tier 1 topics are considered essential for all CS programs, but individual programs have flexibility with regard to their coverage of Tier 2 and Elective topics.
  • Managing the size of the curriculum. Although the CS field has expanded significantly in the past decade, it is simply not feasible to proportionately expand the size of the curriculum. CS2013 manages the size of curricula without requiring more instructional hours than the previous CC2001 (http://www.acm.org/sigcse/cc2001) and CS2008 (http://bit.ly/1h76wyx) guidelines by restructuring sets of knowledge areas where common themes are identified; making the expected depth of coverage of topics explicit, in part by providing example outcomes; and by changing topic emphasis within individual topic areas to reflect the state of the art and practice.
  • Actual course and curricular exemplars as opposed to stylized course guidance. While the previous curricular effort, CC2001, took on the challenge of providing descriptions of stylized courses incorporating the knowledge units defined in that report, it was felt in retrospect that such course guidance did not have much impact on actual course design. CS2013 takes a different approach: identifying examples of actual fielded courses and curricula—from a variety of international universities and colleges—to illustrate how topics in the CS Body of Knowledge may be covered and combined in diverse ways. The final report contains over 80 course exemplars and five full curricular exemplars from a variety of institutions.

The CS2013 final report includes a complete update to the Body of Knowledge in CS, organized around 18 knowledge areas. Compared to CC2001 or CS2008, the Body of Knowledge has been substantially reorganized. A new knowledge area—Software Development Fundamentals—encompasses what was previously called Programming Fundamentals. It also includes a cohesive set of fundamental software development concepts, including topics in algorithms, design, programming, and software development processes. Systems Fundamentals is a new knowledge area that identifies common themes among operating systems, networking, and architecture. Extracting fundamental concepts, for example, caching, in one place encourages programs to rethink how these topics are presented throughout the curriculum. Additionally, recent developments in the field (such as the ubiquity of parallel computing and a need for better understanding of computer security) have given rise to the development of new knowledge areas in Parallel and Distributed Computing, Information Assurance and Security, and Platform-Based Development.

Topics receiving less required coverage in CS2013 relative to previous guidelines include digital logic, numerical methods, Web page construction, search engines, and language translation. Advanced coverage of many of these topics still appears in CS2013 as elective material.

CS2013 also outlines important characteristics of CS graduates beyond technical expertise in relation to professional practice (for example, communication skills, teamwork, and ethics) as components of an undergraduate experience. We believe this report will help the community in continuing to evolve computing curricula to be modern and relevant. The CS2013 Final Report, along with supporting materials such a spreadsheet to allow programs to map their curricula against the CS2013 learning outcomes, is available at http://cs2013.org.

Back to Top

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More