Education Programs

For parallel computing technology to be truly useful, hardware and software developments must be coupled with educational innovation. Since the CRPC's inception, one of its primary goals has been to help train a new generation of scientists and engineers who are familiar with both scientific problem-solving and parallel computation. A secondary goal has been to undertake programs that will increase the number of students entering educational programs in computational science and engineering, with a special emphasis on participation by minorities and women. To achieve these goals, the CRPC has developed an educational plan aimed at all educational levels from K-12 to postgraduate. The essential provisions of this plan are to: The CRPC has already implemented many aspects of this plan and will expand that implementation in the coming years.

Above: Herb Keller and Richard Tapia (second and third from left) of the CRPC discuss career opportunities with participants in the program, "Computers: The Machines, Science, People, and Jobs!" held at the California Institute of Technology.

Graduate and Postgraduate Programs

Computational Science Curricula

At Caltech, Syracuse University, and Rice University, the CRPC has helped to establish ground-breaking computational science programs that emphasize parallel computing. Syracuse University's School of Computer and Information Science offers a graduate program of courses in computational science. These courses include the study of computational techniques in physics, biology, geology, mathematics, and engineering. Other courses focus on new algorithms, languages, and models in computer science and applied mathematics. At Rice University, the Computational Science and Engineering graduate degree program offers degrees in computational science at both the master's and Ph.D. levels. Students learn methods in parallel-vector processing, scientific visualization, networking, compiler technology, programming environments, parallel algorithms, numerical methods, and modeling with an emphasis on a particular area in science or engineering.

Danny Sorensen's current research activities involve iterative techniques for the solution of very large linear systems of equations and for large-scale algebraic eigenvalue problems. The techniques he is most interested in are based upon projection methods (such as Lanczos, Arnoldi, and GMRES). He has also worked extensively in the area of nonlinear numerical optimization. Sorensen was an Assistant Professor of Mathematics at the University of Kentucky from 1977 to 1980, was a Senior Computer Scientist in the Mathematics and Computer Science Division of Argonne National Laboratory from 1980 to 1989, and has been a professor in the Computational nd Applied Mathematics Department at Rice University since 1989. He was one of the founders of the Advanced Computing Research Facility at Argonne National Laboratory, one of the first facilities to provide public access to a variety of parallel computers.

CRPC researchers have also implemented graduate and undergraduate courses in parallel computing at Argonne, Caltech, Rice University, Syracuse University, and the University of Tennessee. Topics of study include parallel processing, scientific visualization, networking, compiler technology, programming environments and templates, numerical methods, structured parallel programming, and modeling with an emphasis on applications in a particular science or engineering field. The CRPC at Argonne offers semester-long courses using various parallel machines supported in part by CRPC funding. PCN and Compositional C++ are being used at Caltech to teach undergraduate courses in programming and algorithms. Short courses have been taught in conjunction with the annual CRPC research review, with several SIAM and SUPERCOMPUTING conferences, and at many other symposia.

Courses for Supercomputer Center Staff

In a joint effort with the National Center for Supercomputer Applications, which is an NSF supercomputer center at the University of Illinois, and the University of Illinois at Urbana-Champaign Computer Science Department, the CRPC has designed a two-week course for supercomputer staff members who will be teaching short courses on parallel computation to users. This course includes material on parallel computer architectures, parallel programming paradigms, languages for parallel programming (including High Performance Fortran and HPC++), performance tuning and debugging tools, algorithms and mathematical software, parallel input/output, and visualization. The course incorporates hands-on experience working with users to parallelize scientific applications. A key goal of the course is to provide course materials and software technologies that can be used in teaching parallel computation to users. This course, introduced in fall 1993, is offered annually and is open to staff members from any state or national center with a commitment to teaching parallel computing courses to its users.

Undergraduate Programs

Undergraduate Research

The CRPC has been very active in its efforts to provide research opportunities for undergraduates, especially in the summer. Several of these programs have emphasized participation by minority and female students. The overall goal of these programs is to attract more students to research careers in computational science and engineering.

Below: Daniel Bauman, a participant in the "Research Experiences for Undergraduates" (REU) program at Syracuse University, funded by the National Science Foundation. CRPC summer programs give students valuable research experience and motivate them to pursue careers in science and engineering.

Undergraduate Courses in Computational Science

Several courses on parallel computing and computational science have been introduced at institutions participating in the CRPC. For instance, at Rice University, the "Introduction to Computational Science" course introduces undergraduates to the basic principles of computational science, focusing on vector and parallel computer architectures, parallel numerical algorithms, scientific visualization, analysis and enhancement of performance, and use of programming tools and environments. Students receive hands-on experience with high-performance computers.

At Caltech, a concurrent scientific computing course has been offered since 1988. Although it is a graduate-level course, it is heavily attended by advanced undergraduates. The course introduces basic numerical methods for linear algebra and partial differential equation problems. Through the application of stepwise refinement, concurrent implementations are obtained. A consistent methodology is applied to problems ranging from LU-decomposition fast Fourier transform to multigrid methods and fast particle methods. Students gain practical experience on concurrent computers through an extensive set of homework problems. The lecture notes for this course are being published by Springer-Verlag.

Another novel course at Caltech introduces students to parallel and sequential programming together. The course also integrates algorithms and programs in Fortran, C, C++, and Ada with performance tuning for parallel machines and software engineering issues. Course lectures are based on multimedia text that allows students to study on their own. The text is organized around programming "archetypes" or "templates" that help students take a systematic approach to programming. Each archetype has an abstract code that can be specialized to get code for a specific application, documentation explaining program correctness, performance analysis on parallel and sequential machines, or recommendations for test suites.

Rick Stevens is pursuing the following research activities: evaluating architecture and performance of high-performance computing systems, developing scientific algorithms for use of MPP systems, combining symbolic and numerical methods in scientific applications, improving modeling and CAD systems for molecular nanotechnology, and using virtual reality in the visualization of scientific data and processes. Most recently he has led the joint ANL/IBM activity in parallel computing, which includes the installation of a large SP1 system at ANL.

Programs for Undergraduate Teaching Faculty

The CRPC has been developing workshops to educate undergraduate teaching faculty in the fundamentals of computational science, so that these faculty can take these materials back to their home institutions and incorporate them into courses. The goal is to attract more students to careers in computational science and engineering. If this effort is successful, it will ultimately help in providing industry with a well-educated workforce that has experience with emerging technologies in high-performance computing.

Pre-college Programs

Awareness Workshops

The CRPC has pioneered a program of awareness workshops for pre-college teachers. The first series of such programs was offered by Richard Tapia at Rice University during the summers from 1989 to 1992. These workshops exposed high school, middle school, and elementary school teachers to career opportunities for students in computational science. Since the program was aimed at teachers from schools with large minority populations, a significant portion of these workshops was devoted to minority issues. These workshops have been so successful that they are now emulated by other research centers and universities. The following workshops at CRPC sites have similar goals of encouraging minority involvement in science.

Richard Tapia's research interests are primarily in the area of computational optimization theory. Under his leadership, the Rice/CRPC effort in the area of interior-point methods for linear and nonlinear programming has received international visibility. Rice/CRPC education activities, also under his leadership, include the Spend a Summer with a Scientist program for underrepresented undergraduate and graduate minorities, the Mathematical and Computational Sciences Awareness workshop for K-12 teachers, and the recruitment and retention of underrepresented minority students into Rice Ph.D. programs in the computational sciences. All of these efforts have received excellent national recognition and visibility. He has been named Noah Harding Professor of Computational and Applied Mathematics at Rice, elected to the National Academy of Engineering (the first Mexican-American to receive this honor), given the Hispanic Engineering Magazine National Achievement Award for Education, given the George R. Brown Award for Superior Teaching, and named one of the 20 most influential leaders in minority math education by the National Research Council.

Curriculum Development

The CRPC is collaborating with John Muir High School of Pasadena, California, the Art Center College of Design, Jet Propulsion Laboratory, and Pasadena City College to develop a curriculum for ninth graders in danger of dropping out of school. This curriculum will use design problems as tools to introduce these students to basic mathematics and to develop their social and verbal skills. The project team is assisting in the development of specific design problems and contests and arranging campus visits for selected teams of students. They are also helping the high school in setting up a computer laboratory. This effort is led by Eric Van de Velde of Caltech.

Future Programs

In the future, the Center for Research on Parallel Computation plans to initiate two other programs aimed at K-12 education: If successful, these programs will have a significant impact on the pre-college teaching of science in America.