Home page of BCS design process
This page contains the five models as refined by the CS Curriculum Committee (henceforth CC) after a survey of other programs in computer science. It is impossible to precisely specify these models, and any given program may fit into more than one of them, or lie between two. They serve as an aid to clarify the tradeoffs between depth and breadth, and between structure and freedom. Below we present each model in turn, give examples of programs that typify the model, and discuss the possible advantages and disadvantages of the model. Following the five models is a discussion of the definition of the CS core and a set of "orthogonal" issues that are pertinent to all models, divided into two lists depending on whether they are primarily concerned with the CS content or the non-CS content of a complete curriculum.
Following a period of public comment and discussion, CC will poll (by e-mail, in the period November 9-16) the faculty members in the CS Department to assess their opinion of the suitability of each of the models as a subject for further curricular development. Faculty members will also be able to comment further on their views on what should be in the CS core of such models, and on directions for the orthogonal issues that are of interest to them.
CC expects that between one and three models will be chosen for further refinement by independent design subcommittees (with expanded membership), with a final choice between program schema offered to CS faculty by the end of the calendar year.
The five models below are presented in order from most-constrained to least-constrained.
Characteristics: Nearly all courses making up the degree are required (some may be chosen from very short lists). There are a high number of CS or technical courses (perhaps mathematics or electronics). There is little room for electives (though sometimes "token" requirements are specified for courses that cover topics like entrepreneurship or writing). Because of the degree of constraint, there is a natural tendency to schedule courses so that all members of an incoming class move through the program as a unit or "cohort" where promotion is by term rather than by credit, though this is more of a side-effect than a feature of the model. Engineering programs or CS programs offered within EECS departments or Faculties of Engineering often follow this model, but others may as well.
Examples: University of Illinois at Urbana-Champaign, University of California at Los Angeles, Carleton, University of Montreal, Ottawa.
Advantages: For those who are concerned with the "meaning" of the credential, the highly-constrained model results in the narrowest range of exposures and abilities in graduates. The logistical ease of scheduling, the social cohesion, and the ability to monitor classes and make sure students do not fall through the cracks make this model attractive to students, faculty, and administrators. Students coming into any given class have all had the same experience with prerequisite courses, easing the burden on instructors.
Disadvantages: This model is quite inflexible. It does not allow for multiple entry points, mixtures of co-op and regular, and different students failing and repeating different courses. There is no opportunity for students to tailor the program to their interests or needs, even to the extent of adding on options or a short prerequisite chain. Interdisciplinary programs have to be essentially separate or new programs rather than slight modifications or hybrids. The technical focus does not produce well-rounded students. Because of the tendency to preserve and protect required courses, these programs may evolve more sluggishly or be more difficult to change.
Characteristics: These programs contain a large core covering most aspects of CS. There may be some short list structure in third and/or fourth year to allow choices of advanced courses, and there is some room for electives, perhaps enough to get a solid minor plus survey some other areas without difficulty. This is the general model for science-oriented technical majors in Canada, and the one that Waterloo has used for its B.Math(CS) degree.
Examples: Stanford, Cornell, Toronto (specialist option), Waterloo.
Advantages: This model attempts to strike a balance between model 1 and models 3-4. It offers a fairly solid preparation for both a career in industry or graduate school. It allows some flexibility at a time when students have a fairly clear idea of how to make choices, and bad decisions have minimal impact. It permits options that are close to the major.
Disadvantages: As a balanced program, this model does not permit the full benefits of the models to either side. Although nothing in the model precludes an individual from getting an intense technical education, many of these programs limit the number of additional courses that can be taken in the major, either to shepherd resources or to encourage some breadth in students. Double majors or significant exposure to areas that are not close to the major remain difficult. Interdisciplinary programs are possible to construct, but often end up being highly-constrained, unless requirements are weakened (as with UW's "joint" programs).
Characteristics: A multi-tracked program features a modest core covering CS basics, followed by a choice of area of specialization within CS in third and/or fourth years (for example, software engineering, theory, or networks). There is some room for electives, because these programs do not attempt to cover as much ground in upper years as comprehensive programs.
Examples: Carleton. Berkeley, CMU, and Wisconsin all have suggested tracks within the self-directed model.
Advantages: Students can focus on and achieve depth in their chosen area of interest, and faculty have incentive to create and maintain a suite of high-quality advanced courses in their research areas. While the meaning of the degree is more diffuse, quality is maintained. Specification of tracks is good for recruiting in high school and for employers.
Disadvantages: A fixed set of tracks biases students towards a prepackaged notion of what is interesting, and leaves out faculty in areas where there are insufficient resources to offer a track. Students will have less comprehensive knowledge; while it might be possible to create a "general" or "comprehensive" track, this will put additional strain on resources. As an example, consider the current SE option at UW, in which CS 445-446-447 forms the core of a track. Students wishing only one advanced course in SE as part of a more general program find 445 too specialized for their needs. Students have to choose a track early (by the end of second year, perhaps) and it is hard to switch between tracks. Tracks magnify inertia, just as it is far harder to get rid of programs than to get rid of individual courses.
Characteristics: The self-directed model features a modest core (perhaps confined to the first two years), followed by a requirement to complete a fair number of courses in the major. However, the choice in upper years is unconstrained so as to allow the student freedom to construct a program to personal specifications, perhaps with the assistance of an advisor.
Examples: Berkeley, CMU, Wisconsin, UT Austin, NYU, Toronto (major).
Advantages: This model allows more flexibility to the student. Both comprehensive and focussed programs are possible. It is much easier to construct interdisciplinary and joint programs, since the number of upper-year courses in CS would likely be reduced or constrained but no one course is singled out for exclusion. The core is easier to agree on and evolution of the stable of upper-year offerings is facilitated.
Disadvantages: The meaning of the credential is weakened if too much variation is possible. If there are weak upper-year courses, weaker students may get through the program. Students can make bad decisions and close off possibilities for themselves. Scheduling is made more difficult, and more classes are subject to greater variations in size. Advisors need to be more active and will have more work to do. Departments need to be quite confident of the quality of their offerings and their reputations to take this route.
Examples: Princeton, Harvard, Brown (A.B.), University of Michigan at Ann Arbor, UBC, York.
Advantages: This is the model which best fits the classical notion of a well-rounded education. It seems to be the only one in which nontechnical requirements such as writing or ethics can have a serious effect, because there is not as much tendency to view technical subjects as the only ones worth worrying about. It is easier on resources, since fewer teaching tasks are required. Interdisciplinary programs, whether structured or self-directed, are easy to construct.
Disadvantages: This requires institutional responsibility on several levels, to ensure quality in offerings that round out the degree and to ensure that all students, not just majors, are prized. There is clearly less technical content in the degree, and graduates may have some catching-up to do for grad school or certain jobs. Specialization may be difficult if not enough advanced courses are offered.
There are two main benchmarks in defining the CS core of the new degree. One is the core of the existing B.Math(CS) degree, which has a natural advantage as the status quo, though it also carries historical baggage and evolved in a context where the Math core affected scope and scheduling. The other is the characterization laid out in the ACM Computing Curricula 2001 Steelman report. This report distills information from programs across North America and beyond, and its suggestions cannot be followed locally without taking into account conditions and circumstances peculiar to UW.
Besides the detailed description of what it terms the "CS body of knowledge", the Steelman report presents a number of alternatives for scheduling of material. In the introductory approach, they identify six possibilities: imperative-first, objects-first, functional-first, breadth-first, algorithms-first, and hardware-first. UW has in the last twenty years moved from imperative-first to breadth-first, back to imperative-first, and then to objects-first. Of the other three possibilities, the functional-first is used mainly by MIT and other institutions that use Scheme and the Abelson/Sussman book (which, admittedly, makes this approach look very intellectually appealing); the algorithms-first approach is used mostly in small programs where the personnel involved are mathematicians or theoreticians; and the hardware-first approach is used primarily by engineering departments or faculties. While design teams may find compelling reasons to alter the objects-first approach at UW, this should not be a primary focus.
The Steelman categorization of the intermediate courses is: topic-based, compressed, systems-based, and web-based. (They do not capitalize that last adjective.) The topic-based approach is the traditional one of having courses on operating systems, compilers, algorithms, and so on. This is the approach that UW currently follows. This approach can result in some redundancy and overemphasis of certain concepts; the compressed approach attempts to reduce the number of courses while still doing the concepts justice. The systems-based approach retains some theoretical exposure but focuses the bulk of the courses around the development of large systems. This requires teaching resources in areas where it has been traditionally difficult to provide them. The web-based approach is an attempt to anticipate a possible trend over the next decade to courses such as "Net-Centric Computing". The topic-based and compressed approaches are the ones that seem to make the most sense at UW for the near future.
A complete curriculum may also specify, in whole or in part, courses or educational experiences outside the CS curriculum as addressed by the Steelman report. The following issues should be considered as well.