Personal tools
You are here: Home Resources CS 2001 Chapter13

Chapter13

 

Computing Curricula 2001
Computer Science Volume

 

Chapter 13
Institutional Challenges

This report is designed primarily as a resource for colleges and universities seeking to develop or improve undergraduate programs in computer science. To this end, the appendices to this report offer an extensive analysis of the structure and scope of computer science knowledge along with a detailed set of course descriptions that represent viable approaches to the undergraduate curriculum. Implementing a curriculum successfully, however, requires each institution to consider broad strategic and tactical issues that transcend such details. The purpose of this chapter is to enumerate some of these issues and illustrate how addressing those concerns affects curriculum design.

13.1 The need for local adaptation

The task of designing a computer science curriculum is a difficult one in part because so much depends on the characteristics of the individual institution. Even if every institution could agree on a common set of knowledge and skills for undergraduate education, there would nonetheless be many additional factors that would influence curriculum design. These factors include the following:

  • The type of institution and the expectations for its degree programs. As we discuss in section 9.3, institutions vary enormously in the structure and scope of undergraduate degree requirements. The number of courses that institutions require of computer science majors can vary by almost a factor of two depending on the institution type. A curriculum that works well at a liberal-arts college in the United States may be completely inappropriate for a research university elsewhere in the world.
  • The range of postgraduate options that students pursue. Institutions whose primary purpose is to prepare a skilled workforce for the information technology profession presumably have different curricular goals than those seeking to prepare research students for graduate study. Individual schools must ensure that the curriculum they offer gives students the necessary preparation for their eventual academic and career paths.
  • The preparation and background of entering students. Students at different institutions -- and often within a single institution -- vary substantially in their level of preparation. As a result, computer science departments often need to tailor their introductory offerings so that they meet the needs of their students.
  • The faculty resources available to an institution. The number of faculty in a computer science department may vary from as little as three or four at a small college or a private liberal-arts college to 40 or 50 at a large research university. The flexibility and options available in these smaller programs is obviously a great deal less. Therefore, faculty in smaller departments need to set priorities for how they will use their limited resources.
  • The interests and expertise of the faculty. Individual curricula often vary according to the specific interests and knowledge base of the department, particularly at smaller institutions where expertise is concentrated in particular areas.

Creating a workable curriculum requires finding an appropriate balance among these factors, which will require different choices at every institution. There can be no single curriculum that works for everyone. Every college and university will need to consider the various models proposed in this document and design an implementation that meets the need of that environment.

13.2 Principles for curriculum design

Despite the fact that curriculum design requires significant local adaptation, curriculum designers can draw on several key principles to help in the decision-making process. These principles include the following:

  • The curriculum must reflect the integrity and character of computer science as an independent discipline. Computer science is a discipline in it own right. That discipline, moreover, is characterized by a combination of theory, practice, knowledge, and skills. Any computer science curriculum should therefore ensure that practice is guided both by theory and a spirit of professionalism.
  • The curriculum must respond to rapid technical change and encourage students to do the same. Computer science is a vibrant and fast-changing discipline. As we discuss in Chapter 3, the enormous pace of change means that computer science programs must update their curricula on a regular basis. Equally importantly, the curriculum must teach students to respond to change as well. Computer science graduates must keep up to date with modern developments and should indeed be excited by the prospect of doing so. One of the most important goals of a computer science program should be to produce students who are life-long learners.
  • Curriculum design must be guided by the outcomes you hope to achieve. Throughout the process of defining a computer science curriculum, it is essential to consider the goals of the program and the specific capabilities students must have at its conclusion. These goals -- and the associated techniques for determining whether the goals are met -- provide the foundation for the entire curriculum. In the United States and elsewhere, accreditation bodies have focused increasing attention on the definition of goals and assessment strategies. Programs that seek to defend their effectiveness must be able to demonstrate that their curricula in fact accomplish what they intend.
  • The curriculum as a whole should maintain a consistent ethos that promotes innovation, creativity, and professionalism. Students respond best when they understand what it is expected of them. It is unfair to students to encourage particular modes of behavior in early courses, only to discourage that same behavior in later courses. Throughout the entire curriculum, students should be encouraged to use their initiative and imagination to go beyond the minimal requirements. At the same time, students must be encouraged from the very beginning to maintain a professional and responsible attitude toward their work.
  • Ensure that the curriculum is accessible to a wide range of students. All too often, computer science programs attract a homogeneous population that includes relatively few women or students whose ethic, social, or economic background are not those of the dominant culture. Although many of the factors that lead to this imbalance lie outside the university, every institution should seek to ensure greater diversity, both by eliminating bias in the curriculum and by actively encouraging a broader group of students to take part.
  • The curriculum must provide students with a capstone experience that gives them a chance to apply their skills and knowledge to solve a challenging problem. The culmination of an undergraduate computer science degree should include a final-year project that requires students to use a range of practices and techniques in solving a substantial problem. There are aspects of the computer science discipline that cannot be presented adequately in the formal classroom setting. These skills can be learned only in the framework of an independent capstone experience.

13.3 The need for adequate computing resources

Higher education is, of course, always subject to resource limitations of various kinds. At some level, all educational programs must take costs into account and cannot do everything that they might wish to do if they were somehow freed from economic constraints. In many respects, those limitations are no more intense in computer science than they are in other academic fields. It is, for example, no longer the case that adequate computing hardware lies outside the reach of academic institutions, as it did in the early days of the discipline. Over the last twenty years, computers have become commodity items, which makes the hardware far more affordable.

At the same time, it is essential for institutions to recognize that computing costs are real. These costs, moreover, are by no means limited to the hardware. Software also represents a substantial fraction of the overall cost of computing, particularly if one includes the development costs of courseware. Providing adequate support staff to maintain the computing facilities represents another large expense. To be successful, computer science programs must receive adequate funding to support the computing needs of both faculty and students.

Over the last few years, computer science has become -- like biology, chemistry, and physics -- a laboratory science with formal, scheduled laboratories included in many of its courses. The laboratory component leads to an increased need for staff to assist in both the development of materials and the teaching of laboratory sections. This development will add to the academic support costs of a high-quality computer science program.

To a certain extent, the costs of courseware and other academic resources can be reduced by taking advantage of the tremendous range of resources available from the World-Wide Web. A list of the major existing courseware repositories is maintained on the ACM Special Interest Group in Computer Science Education (SIGCSE) home page at http://sigcse.org.

13.4 Attracting and retaining faculty

One of the most daunting problems that computer science departments face is the problem of attracting faculty. In most academic fields, the number of faculty applicants is much larger than the number of available positions. In computer science, there are often more advertised positions than candidates [Myers98, Roberts99], although there are some signs that the crisis is easing with falling student enrollments in the wake of the economic downturn. The shortage of faculty applicants, coupled with the fact that computer scientists command high salaries outside academia, makes it difficult to attract and retain faculty.

To mitigate the effects of the faculty shortage, we recommend that institutions adopt the following strategies:

  • Adopt an aggressive plan for faculty recruitment. Scarcity is in itself no reason to abandon the search; the shortage of candidates simply means that computer science departments need to look harder. Being successful is usually a matter of initiative and persistence. Departments must start the recruiting process very early and should consider reaching out to a wide range of potential applicants, including overseas students and people currently working in industry.
  • Create academic positions that focus on teaching. As in most disciplines, faculty positions in computer science typically require a Ph.D. and involve both research and teaching. If there were a sufficient pool of candidates with the right credentials and skills, insisting on these qualification would cause no problem. Given the shortage of faculty candidates, it is not clear whether computer science departments can afford such selectivity. It is not necessary for every institution to maintain a research program in computer science. At the same time, it is hard to imagine that any university today could get away without offering courses in this area. Opening faculty positions to those who enjoy teaching but are not drawn to academic research increases the size of the available pool.
  • Make sure that faculty receive the support they need to stay in academia. Studies undertaken by the National Science Foundation in the 1980s found that faculty members who left academia for industry typically did not cite economics as their primary motivation [Curtis83]. Instead, they identified a range of concerns about the academic work environment -- huge class sizes, heavy teaching loads, inadequate research support, the uncertainty of tenure, and bureaucratic hassles -- that the NSF study refers to collectively as "institutional disincentives." As enrollments in computer science courses rise, it is critical for institutions to ensure that faculty workloads remain manageable.
  • Get undergraduates involved as course assistants. The crisis in computer science education arises from the fact that there are too few teachers to serve the needs of too many undergraduates. One of the best ways to meet the rising student demand is to get those undergraduates involved in the teaching process. Using undergraduates as course assistants not only helps alleviate the teaching shortfall but also provides a valuable educational experience to the student assistants [Roberts95].

13.5 Conclusion

There is no single formula for success in designing a computer science curriculum. Although we believe that the recommendations of this report and the specific strategic suggestions in this chapter will prove useful to a wide variety of institutions, every computer science program must adapt those recommendations and strategies to match the characteristics of the particular institution. It is, moreover, important to evaluate and modify curricular programs on a regular basis to keep up with the rapid changes in the field. The computer science curricula in place today are the product of many years of experimentation and refinement by computer science educators in their own institutions. The curricula of the future will depend just as much on the creativity that follows in the wake of this report to build even better computer science programs for undergraduates throughout the world.


CC2001 Report
December 15, 2001
Document Actions