As we describe in Chapter 1, the CC2001 Task Force appointed a set of pedagogy focus groups to look at the curriculum from a broad perspective that would supplement the perspective provided by the body of knowledge. By adopting a more holistic approach, the pedagogy focus groups sought to identify unifying themes among the different areas that might well be missed in a strictly bottom-up, area-based assessment of the discipline.
Most of the pedagogy focus groups were charged with making recommendations regarding specific aspects of the undergraduate computer science curriculum. The focus group on "Computing across the curriculum" had a more inclusive charge, which consisted in part of articulating those aspects of computer science relevant to all citizens and academic disciplines and proposing guidelines for the role computer science can play in helping students achieve that knowledge.
This chapter consists of the report of that group, which addresses the responsibilities of computer science departments to the college and university community as a whole. In its report, the pedagogy focus groups interpreted the phrase "computing across the curriculum" to describe curricula (i.e., courses and/or course modules) targeted at students other than computer science majors. While computer science students might enroll in such courses, they are designed primarily to meet the needs of students outside computing. These courses represent one of the ways that computer science is attempting to address the issues of the expanding nature of the discipline.
This chapter is organized into three parts. In section 12.1, we discuss the important role that general-education courses play within the academic community and argue that developing and teaching these courses must be viewed as part of the mission of a computer science department. In section 12.2, we outline the process of course specification, design, implementation, and assessment. This section also includes questions to facilitate the design process; the set of questions is not complete but can act as a starting point for identifying essential educational goals. In section 12.3, we identify and describe three distinct courses formats that computer science departments might choose to offer.
Computer science departments exist within the broader context of a college or university setting, which typically includes such divisions as social sciences, humanities, and fine arts. Earlier chapters in this report have documented the dramatic growth of computing and the enormous impact that computing is making on virtually every field of study. Today, computer science is not only an area of study in its own right but an important supporting area for many other disciplines. The urban planner constructing a demographic database, the graphics designer utilizing CAD/CAM software, and the economist creating computer models are all examples of people exploiting important developments in computing to assist them with their professional work. The pervasiveness of computing and information technology creates both an opportunity and a responsibility to provide high-quality classroom instruction for an audience that reaches well beyond our own students. While we must, of course, make sure that we provide a solid educational program for our majors, we must not lose sight of the important academic services we also provide to students in other fields.
When financial resources are tight or when there may not be enough personnel to meet the needs within computer science itself, departments will feel pressure to focus their limited resources on their own students by reducing the offerings to students outside the department. We believe that such a policy -- while understandable from the departmental perspective -- is inappropriate for the university as a whole. Given the impact of computing on all aspects of society, every university has a responsibility to offer courses in computer science for all students. Because such courses are most effectively taught by computer science departments, universities must make sure that those departments have the resources to (1) educate students in the discipline of computer science, and (2) help students from other disciplines understand and use computing and information technology. Both missions are vitally important.
A useful model for the course development process is, appropriately enough, the software development process. As with software, the course development process can be divided into four phases: specification, design, implementation, and assessment. We elaborate on each of the phases in the sections that follow.
The design of a general-education course entails asking and answering a number of important questions. But to whom should these questions be addressed? Who should have the primary responsibility for specifying the goals and content of a general-education course in computer science? While computing faculty must, of course, be fully involved in helping to formulate specifications, we must be careful not to dictate them. It is important that an in-depth discussion of course goals occur both inside and outside computer science to ensure that course design is driven by curricular needs and not simply by a desire to teach a certain type of class. In the past, mathematics departments have been criticized for creating introductory courses that focus almost exclusively on pure mathematics, even though many students are interested in and need more applied topics. Computer science should not repeat this mistake. While we should offer assistance during course design, we must also listen carefully to the needs of students and faculty from other departments and be responsive to these needs.
There are four possible goals of a general-education course in computing:
The first step in developing new general-education courses is identifying a curricular need that is not currently being met. This may be done either reactively or proactively. Computing departments should certainly respond to requests from faculty or industry representatives for a new course that could be quite useful to their students or employees. Alternately, computer science can approach other departments with a proposal for a new course that covers material not included in the existing curriculum. Regardless of how a need is identified, if there is interest expressed by all parties the next step is to identify the target audience and seek input from everyone with a stake in the course's content and structure. A number of questions are appropriate to pose at this time:
Once a curricular need has been clearly identified and all departments support the development of a course to meet this need, the next step is course design. Course design involves identifying explicit educational goals and objectives by specifying the technical skills and concepts to be included in the course syllabus and the educational outcomes that we want our students to have. To do so, it is important to pose these basic questions:
As in the discussion of course specification in the preceding section, we recommend that departments use the National Research Council's (NRC) Fluency Report [CSTB99] as a guide. This report identifies three distinct types of knowledge that are appropriate to consider for inclusion in a general-education course:
Once the general course content and goals have been established, developers can turn their attention to implementation-specific details about how the proposed course will be structured by asking themselves the following questions:
Following implementation, a department is ready to offer the new general-education course to the college community. This leaves only the final step in the course development process -- assessment. After the course has been offered once or twice, its design and implementation should be carefully reviewed and evaluated. The data needed for assessment can be collected in a number of ways: written student evaluations, in-class observations, and personal interviews with students and faculty from the client departments. Once the course has been taught for a few years it is also a good idea to interview graduates regarding the value of this course to their professional work environment.
Some of the questions that should be asked during course assessment include the following:
We have identified three types of courses that can be offered by a computer science department: general fluency, area-wide, and single discipline. These three approaches are described in the following sections.
These courses address skills and concepts that are appropriate for all students at an institution, regardless of their specific field of study. General fluency courses are not concerned with providing specific computer-related skills to a particular discipline. Instead, they are meant to satisfy general student interests in computing, to meet college distribution requirements, and to help produce more informed citizens with respect to information technology.
One popular general fluency course involves a broad overview of the discipline of computer science, much like the breadth-first course CS100B described in Appendix B. Another possibility is a broad-based introduction to networking and communications -- including both conceptual and technical issues as well as discussions of the applications and uses of networks, and the positive and negative impacts of communications technology on society. Another example might be a course entitled "Computing and Ethics" that examines the social, legal, moral, and ethical issues of computing -- certainly something of importance to virtually all students.
Area-wide courses serve several departments that share a common need for particular computing skills and concepts. They share the characteristic that most, if not all, prerequisite material comes from outside computing. Examples probably best illustrate this category.
The NRC Fluency Report also includes a number of examples of this type of area-wide course. For example, the report describes a class on the applications of information technology to social research, including computerized databases, Web searching, sampling, data analysis, and statistical software. Such a course has obvious appeal to many of the social sciences including sociology, anthropology, and political science.
Computer science may work with other departments to identify this type of specialized need, or the impetus may come from one or more of the affected departments. Computer science may be asked to teach such a course because only its faculty have the necessary technical expertise. Alternately, it may be team taught using one faculty member from computer science and another from a client department.
At schools with limited enrollments, such as private liberal arts colleges and smaller state colleges, there is a better chance of success with a general-education course that is attractive to many departments rather than just one. For example, a course in Computational Physics might be difficult to justify at a small institution with few physics majors. However, an area-wide course entitled something like Computational Science would not only appeal to physicists but biologists, chemists, geologists, and economists as well, significantly increasing the likelihood of its success.
These courses are narrower in focus than those discussed in the two preceding sections, and they are generally offered to a homogeneous group of students majoring in a single department. For example, many of us are familiar with a course in discrete mathematics offered by mathematics essentially for computer science. This type of course would fit into the single-discipline category.
Examples of such courses are the Computational Physics course described in the preceding section or a course in Computational Biology. The NRC Fluency Report describes a course offered to economics students that uses spreadsheets and simulation packages to create models of economic problems or historical events to demonstrate the factors contributing to the outcome. In each case, such a course could be offered jointly by computer science and the relevant department to ensure that both the computer science aspects and the domain-specific aspects received the appropriate level of coverage. While much of the technical material in such a class comes from the department supplying the domain expertise, it is important to remember that the course remains a general-education class, and therefore should include fundamental and enduring computer concepts, in addition to specific computational skills.
In this chapter, we have argued the fundamental importance of well-crafted general-education courses; provided guidelines for the design, implementation, and assessment of these service courses; and, finally, presented examples of three distinct types of courses that departments may want to consider. When designing and developing these courses, computer science faculty must always be mindful of the needs of the intended audience and carefully design a course to meet those needs. We must not do this in a vacuum but, instead, seek out the advice of colleagues outside our department when developing the goals, content, learning activities, and outcomes of these courses.
Most nonmajors will take only a single course in computer science. Thus, it is important that we carefully design these courses to make them as useful as possible. We must present both computer-specific skills as well as broad fundamental concepts that together allows students to develop a rich, full, and long-lasting understanding of the material.
|
December 15, 2001 |
|