Chapter12
Computing Curricula 2001
Computer Science Volume
Chapter 12
Computing across the Curriculum
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.
12.1 Goals and rationale
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.
12.2 Process questions
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.
12.2.1 Course specification
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:
- To satisfy general student interest in learning more about computing
- To meet institutional distribution requirements in the physical and/or mathematical sciences
- To give students knowledge of and experience with the effective use of computing technology in their own discipline
- To provide a broader understanding of information technology required for effective participation in society
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:
- What need will this course meet that is not currently being met by existing courses in the curriculum?
- Who is the target audience for this course? Which departments and programs within the university are likely stakeholders in the course? What type of student will enroll? Do we have some way to measure the interest and demand for such a course? Will the students we are trying to reach have room for this new course within their existing program?
- How will teaching the course affect our own department? Will it have an adverse impact on our ability to teach computer science majors?
- How will credit be awarded? Will the course count for general education or distribution credit, major or minor credit in some program(s), or university elective? Will the course, instead, be offered only as training or continuing education credit?
- Who will teach the course? Will it be team-taught? Who receives credit for developing and teaching it? Do we have sufficient faculty to teach this course even when people are on leave? If not, how can we retrain existing faculty or hire additional faculty with the necessary skills?
12.2.2 Course design
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:
- What specific computing skills should be included in the course, and are these skills important and current to the field of study? What level of expertise in these skills do we want our students to achieve?
- What fundamental and enduring computing concepts should be included in the course, and how do these concepts relate to and support the computing skills being taught?
- What, if any, social and ethical issues should be included in the course to complement the technical material being presented?
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:
- Computer-specific skills. This class of knowledge refers to the ability to use contemporary computing applications and includes such skills as word processing, browsing the World Wide Web, and MatLab programming. These skills need to be clearly identified and included during course design. However, as they may be short-lived, the specific set of skills needs to be periodically re-examined and updated if necessary.
- Fundamental and enduring computing concepts. As mentioned in the NRC Fluency Report, "Concepts explain the how and why of information technology, and they give insight into its opportunities and limitations. Concepts are the raw material for understanding new information technology as it evolves." Enduring computing concepts includes ideas that transcend any specific vendor, package, or skill set. Examples might include algorithms, complexity, machine organization, information representations, modeling, and abstraction. Understanding these fundamental concepts is essential to the effective use of computer-specific skills. While skills are fleeting, fundamental concepts are enduring and provide long-lasting benefits to students, critically important in a rapidly changing discipline.
- General intellectual capabilities. This class of knowledge consists of broad intellectual skills important in virtually every area of study, not simply computer science. These skills allow students to apply information technology to complex tasks in effective and useful ways. Examples include problem solving, debugging, logical reasoning, and effective oral and written communication skills. These capabilities are beneficial to all students and help to develop and improve a student's overall intellectual ability.
12.2.3 Course implementation
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:
- Should the class be taught using a large lecture format or small discussion sections? Should it include a formal laboratory? Informal laboratory? No laboratory?
- What learning activities are most useful for developing specific technical skills? Should there be few large projects? More smaller projects? Team assignments? What about written papers and/or oral presentations to improve communication skills?
- How can we best evaluate students' learning? What types of projects and/or examinations will be most effective at measuring student success in meeting course goals?
- What instructor expertise is necessary for teaching the course? Do we have such expertise in one individual or would it be better to use a team-teaching approach?
- Do we have adequate educational resources (e.g., computers, laboratories) to offer this course?
- Will there be sufficient student interest to generate adequate enrollment? How often should the course be offered? How many credits should the course be and how many times a week will it meet?
12.2.4 Course assessment
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:
- Does this course meet its stated goals? If not, should we redesign it or simply eliminate it from the program and consider an alternative approach?
- Has any important topic been omitted? Is anything unnecessarily included?
- Based on examination results and course evaluations, do students completing the course possess the desired skills, knowledge, and capabilities?
- Is the client department satisfied with our course offering? If not, what can we do to improve their satisfaction?
12.3 Course models
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.
12.3.1 General fluency
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.
12.3.2 Area-wide or multidisciplinary courses
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.
- A computational science course offered for science majors
- A computational modeling course for economics, finance, management, and business majors
- An artificial intelligence course for cognitive psychology, linguistics, and philosophy majors
- A computer graphics course for art and graphic design students and other fine arts majors
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.
12.3.3 Single-discipline courses
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.
12.4 Summary
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.
![]() |
CC2001 Report
December 15, 2001 |
![]() |



