Computational Science and Numerical Methods (CN)

   CN1. Numerical analysis [elective]
   CN2. Operations research [elective]
   CN3. Modeling and simulation [elective]
   CN4. High-performance computing [elective]

From the earliest days of the discipline, numerical methods and the techniques of scientific computing have constituted a major area of computer science research. As computers increase in their problem-solving power, this area -- like much of the discipline -- has grown in both breadth and importance. At the end of the millennium, scientific computing stands as an intellectual discipline in its own right, closely related to but nonetheless distinct from computer science.

Although courses in numerical methods and scientific computing are extremely valuable components of an undergraduate program in computer science, the CC2001 Task Force believes that none of the topics in this area represent core knowledge. From our surveys of curricula and interaction with the computer science education community, we are convinced no consensus exists that this material is essential for all CS undergraduates. It remains a vital part of the discipline, but need not be a part of every program.

For those who choose to pursue it, this area offers exposure to many valuable ideas and techniques, including precision of numerical representation, error analysis, numerical techniques, parallel architectures and algorithms, modeling and simulation, and scientific visualization. At the same time, students who take courses in this area have an opportunity to apply these techniques in a wide range of application areas, such as the following:

Each of the units in this area corresponds to a full-semester course at most institutions. The level of specification of the topic descriptions and the learning objectives is therefore different from that used in other areas in which the individual units typically require smaller blocks of time.

CN1. Numerical analysis [elective]

Topics:

Learning objectives:

  1. Compare and contrast the numerical analysis techniques presented in this unit.
  2. Define error, stability, machine precision concepts. and the inexactness of computational approximations.
  3. Identify the sources of inexactness in computational approximations.
  4. Design, code, test, and debug programs that implement numerical methods.
CN2. Operations research [elective]

Topics:

Learning objectives:

  1. Apply the fundamental techniques of operations research.
  2. Describe several established techniques for prediction and estimation.
  3. Design, code, test, and debug application programs to solve problems in the domain of operations research.
CN3. Modeling and simulation [elective]

Topics:

Learning objectives:

  1. Discuss the fundamental concepts of computer simulation.
  2. Evaluate models for computer simulation.
  3. Compare and contrast methods for random number generation.
  4. Design, code, test, and debug simulation programs.
CN4. High-performance computing [elective]

Topics:

Learning objectives:

  1. Recognize problem areas where computational modeling enhances current research methods.
  2. Compare and contrast architectures for scientific and parallel computing, recognizing the strengths and weaknesses of each.
  3. Implement simple performance measurements for high-performance systems.
  4. Design, code, test, and debug programs using techniques of numerical analysis, computer simulation, and scientific visualization.

CC2001 Report
December 15, 2001