ABSTRACT

A computing curriculum might have many high-level goals, such as capturing student imagination, covering core topics, preparing students for diverse careers, and establishing skills for life-long learning. Computing Curricula 2001 and other guidelines identify many valuable topics; interesting and worthwhile material extends well beyond what can possibly fit within an undergraduate program. Shaping a curriculum, therefore, sets priorities and indicates what is important. Flexibility is vital, particularly at the start of a curriculum. Schools should clarify their views of the goal of undergraduate education. For example, some computing programs seem to assume all graduates will go to graduate school or that all will find employment at a local company. Programs typically identify some skills, principles, and perspectives as being fundamental; all students must master these ideas. A curriculum identifies prerequisites and indicates the level expected for each topic and course. Once courses are placed within a curriculum, planners should consider how students will flow through these courses.