3
114 COMPUTER PUBLISHED BY THE IEEE COMPUTER SOCIETY 0018-9162/15/$31.00 © 2015 IEEE COMPUTING EDUCATION J ust over a year ago, the Association for Computing Machinery and the IEEE Computer Society jointly published the Computer Science Curricula 2013 (CS2013) (www.acm.org/education/CS2013-final -report.pdf), an update to the undergraduate computing programs guidelines they’ve been publishing about once every decade since 1968. If you’re like most people, undergraduate computer science curricula guidelines aren’t foremost on your mind, unless you are or soon will be an undergraduate student, a faculty member teaching undergraduates, or someone concerned with computer science accredita- tion or the funding of computer science programs and research. CS2013 provides a baseline for expectations of computer science graduates. Thus, you might also care about this if you’re hiring and man- aging or depending on technology created by new CS graduates. Computing has changed since 2001, which was the last time the guidelines were completely updated (though there was a partial update in 2008). We started CS2013 by ask- ing how the previous guidelines were used; we surveyed approximately 1,500 computer science (and related dis- ciplines) department chairs and undergraduate studies directors in the US, and an additional 2,000 department chairs internationally. Respondents were from a wide range of institutions—research universities, teaching universities, undergraduate-only and liberal arts institu- tions, and community colleges. These institutions range in size from less than 1,000 to more than 50,000 students. According to the survey, the Body of Knowledge (BOK) is the most-used feature of the guidelines. In addition, respondents’ two most common comments about the BOK were that new topics—such as security, distributed CS2013: Computer Science Curricula 2013 Steven Roach, Exelis Mehran Sahami, Stanford University An overview of major changes in ACM/IEEE CS’s Computer Science Curricula 2013—the most recent update of the undergraduate education guidelines for computer science.

CS2013: Computer Science Curricula 2013€¦ · Curricula 2013 Steven Roach, Exelis Mehran Sahami, Stanford University ... and power constraints. The Compu-tational Science KA includes

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CS2013: Computer Science Curricula 2013€¦ · Curricula 2013 Steven Roach, Exelis Mehran Sahami, Stanford University ... and power constraints. The Compu-tational Science KA includes

114 C O M P U T E R P U B L I S H E D B Y T H E I E E E C O M P U T E R S O C I E T Y 0 0 1 8 - 9 1 6 2 / 1 5 / $ 3 1 . 0 0 © 2 0 1 5 I E E E

COMPUTING EDUCATION

Just over a year ago, the Association for Computing Machinery and the IEEE Computer Society jointly published the Computer Science Curricula 2013 (CS2013) (www.acm.org/education/CS2013-final

-report.pdf), an update to the undergraduate computing programs guidelines they’ve been publishing about once every decade since 1968.

If you’re like most people, undergraduate computer science curricula guidelines aren’t foremost on your mind, unless you are or soon will be an undergraduate student, a faculty member teaching undergraduates, or someone concerned with computer science accredita-tion or the funding of computer science programs and

research. CS2013 provides a baseline for expectations of computer science graduates. Thus, you might also care about this if you’re hiring and man-aging or depending on technology created by new CS graduates.

Computing has changed since 2001, which was the last time the guidelines were completely updated (though there was a partial update in 2008). We started CS2013 by ask-

ing how the previous guidelines were used; we surveyed approximately 1,500 computer science (and related dis-ciplines) department chairs and undergraduate studies directors in the US, and an additional 2,000 department chairs internationally. Respondents were from a wide range of institutions—research universities, teaching universities, undergraduate-only and liberal arts institu-tions, and community colleges. These institutions range in size from less than 1,000 to more than 50,000 students.

According to the survey, the Body of Knowledge (BOK) is the most-used feature of the guidelines. In addition, respondents’ two most common comments about the BOK were that new topics—such as security, distributed

CS2013: Computer Science Curricula 2013Steven Roach, Exelis

Mehran Sahami, Stanford University

An overview of major changes in ACM/IEEE CS’s

Computer Science Curricula 2013—the most

recent update of the undergraduate education

guidelines for computer science.

Page 2: CS2013: Computer Science Curricula 2013€¦ · Curricula 2013 Steven Roach, Exelis Mehran Sahami, Stanford University ... and power constraints. The Compu-tational Science KA includes

M A R C H 2 0 1 5 115

COMPUTING EDUCATIONEDITOR ANN E.K. SOBEL

Miami University; [email protected]

and parallel processing, mobile com-puting, networking, and professional skills—need to be added, and that parts of the BOK from 2001 and 2008 are indeed still relevant. We view both of these as positive signs of a maturing but still vibrant and dynamic field.

NEW TOPICSThe BOK is divided into knowledge areas (KAs) that embody a set of related topics. New KAs have been added to address major changes in the field in the past 14 years.

Recent headlines are proof enough that the world increasingly relies on information technology, and as a result we’re more vulnerable to attacks on our information systems. The new Information Assurance and Security KA encompasses the set of techni-cal and policy controls and processes intended to protect and defend infor-mation systems by ensuring their con-fidentiality, integrity, and availability while providing for their authentica-tion and nonrepudiation.

To addresses issues related to the design and development of software applications that reside on Web-, mobile-, industrial-, and game- specific platforms, we developed the Platform- Based Development KA. Such plat-forms are often characterized by specialized API use, distinct delivery/ update mechanisms, and being ab-stracted away from the machine level. Although a number of platforms have become prominent, we didn’t recom-mend specific platforms for every CS program. Instead, many popular plat-forms are highlighted.

The growth in multiprocessor com-puting, multicore processors, and distributed datacenters continues— indeed, it’s now difficult to buy a single- processor machine. Although CS2008 identified this trend, CS2013 directly addresses it by changing it from a largely elective topic to a core

component of undergraduate com-puting curricula. The Parallel and Distributed Computing KA addresses the logically simultaneous execution of multiple processes, in which opera-tions have the potential to interleave in complex ways.

FUNDAMENTAL IDEASIn her keynote lecture at the IEEE International Conference on Software Engineering Education and Training (CSEE&T) 2011, Mary Shaw argued that we need to teach “fundamental ideas in the context of current prac-tice” (http://conferences.computer.org /cseet/2011/CSEET_2011/downloads /CSEET_2011_Key note_Ma r yShaw .ppt). Her list of fundamental ideas included abstraction, linear versus exponential growth, problem-solving approaches, tradeoffs, symbolic rep-resentations, logic, models, and cor-rectness. The KAs in CS2013 include such fundamental and enduring con-cepts as differences between best, expected, and worst-case behaviors of an algorithm; finite state machines; data structures; memory hierarchies; caching; and parallel versus sequen-tial computation.

The current report also features extensive revisions of existing KAs from previous curricular volumes. The Architecture and Organization KA has increased emphasis on multicore parallelism, virtual machine support, and power constraints. The Compu-tational Science KA includes elective material to prepare students for cross- disciplinary work such as computa-tional biology, bioinformatics, and eco-informatics. The Intelligent

Systems KA has increased emphasis on machine learning and data mining. And the Social Issues and Professional Practice KA reflects the past decade’s shift in understanding intellectual property in the digital domain and digital rights management, the need

for awareness of global issues such as software piracy and how computing’s rapid changes impact society, and a growing concern for privacy.

Depending on your point of view, CS2013 might pay too much or not enough attention to systems. The term computer systems spans operat-ing systems, parallel and distributed systems, communications networks, and computer architecture. Although these are often taught as independent courses, they share fundamental con-cepts within their respective cores, including computational paradigms, parallelism, state and state transi-tions, cross-layer communications, and scheduling. A new KA, Systems Fundamentals, presents a view of sys-tems concepts common across exist-ing KAs. We hope this encourages new approaches to covering these topics.

Despite growth in undergraduate software engineering programs and the creation of independent software engineering curricular guidelines, many computer science graduates still go into careers in software develop-ment. Part of our approach to helping CS programs address this need is the KA on Software Development Funda-mentals (SDF). Regardless of the plat-form and language used, fundamental concepts in software creation extend beyond coding simple programs. SDF

CS programs need new approaches to cover essential material in the available time.

Page 3: CS2013: Computer Science Curricula 2013€¦ · Curricula 2013 Steven Roach, Exelis Mehran Sahami, Stanford University ... and power constraints. The Compu-tational Science KA includes

116 C O M P U T E R W W W . C O M P U T E R . O R G / C O M P U T E R

COMPUTING EDUCATION

extends the Programming Funda-mentals KA from CS2001 by drawing basic algorithm analysis material from the Algorithms and Complexity KA, development processes from the Software Engineering KA, fundamen-tal data structures from the Discrete Structures KA, and programming language concepts from the Program-ming Languages (PL) KA. Material specific to particular programming

paradigms (such as object-oriented or functional methods) was moved to PL for a more uniform treatment with complementary material. From a curriculum design standpoint, this separates fundamental concepts (for example, iteration and conditional execution) from the implementation specifics related to a particular lan-guage. We believe this opens the door to selecting languages best suited to the student populations at individual institutions while encouraging cov-erage of professional software devel-opment practices early in the curricu-lum. The Software Engineering KA is still prominent in the guidelines, and it has been updated to include modern software development practices.

FLEXIBILITY IN CURRICULUM DESIGNAlthough the computer science field is expanding, the number of hours students spend in undergraduate pro-grams isn’t. CS programs will need to consider new approaches to cover-ing essential material in the available time. Curriculum design is, in part, a resource allocation problem. CS2013 manages the amount of material to be presented to undergraduates in two ways. First, some previous mate-rial has reduced emphasis; second, by specifying essential, highly desirable

elective topics and providing better guidance as to the level of mastery expected for each topic, instructors have more flexibility in choosing the material to present.

Previous guidelines labeled top-ics as either core or elective, implying that every core topic is required. How-ever, even some strong CS programs were missing at least one hour of core material. CS2013 specifies Tier 1 and

Tier 2 core topics. Tier 1 topics should be required in every CS curriculum. Tier 2 topics are highly desirable, and programs are expected to cover the vast majority of them. However, pro-grams may sacrifice some Tier 2 top-ics to provide students with greater depth in other areas. A CS curriculum should cover 90 to 100 percent of the Tier 2 topics, with 80 percent consid-ered a minimum.

A common problem with BOKs is that they often identify topics without giving guidance on the required level of mastery. CS2013 uses familiarity, usage, and assessment as the levels of mastery for each topic. Familiar-ity implies that the student has basic awareness and understanding of a concept. Usage implies that the stu-dent can use or apply a concept in a concrete way, for example, including it in a program or proof. Assessment implies that the student can consider a concept from multiple viewpoints or justify the selection of a particu-lar approach to solve a problem. Each topic is matched with one or more learning outcomes to make the BOK curricular expectations clearer.

CS2013 includes examples of actual fielded courses—from a variety of uni-versities and colleges—to illustrate how topics in the KAs can be covered and combined in diverse ways. It also

contains examples of the different ways a larger collection of courses can be put together to form a complete cur-riculum. Providing these examples promotes greater cross-pollination of educational ideas within the com-puting community as well as ongoing engagement through encouraging educators to share new courses and curricula from their own institutions (or others that they are familiar with) with the rest of the community.

Any CS curriculum should pre-pare graduates to succeed in a rapidly changing field; thus,

it must prepare students for lifelong learning and include professional practice elements—communication skills, working in teams, ethics, and so on—as components of the under-graduate experience. CS2013 provides guidelines that, when implemented, will enable students to integrate the-ory with practice, to recognize the importance of abstraction, and to appreciate the value of good engineer-ing design. CS2013 is not a minimal standard against which a program can be evaluated, but a guideline for fostering excellence in CS undergrad-uate education.

ACKNOWLEDGMENTSThe authors acknowledge the 17 members of the Computer Science Curricula steer-ing committee as well as the hundreds of contributors and reviewers who contrib-uted to the CS2013 report.

CS2013 includes examples of fielded courses to illustrate how topics can be covered and

combined in diverse ways.

STEVEN ROACH is an associate principle software engineer in infor-mation systems at Exelis Inc. Contact him at [email protected].

MEHRAN SAHAMI is a professor and the associate chair for education in the Department of Computer Science at Stanford University. Contact him at [email protected].