Given by Geoffrey C. Fox at Presentation at Illinois Computational Science Seminar on May 5,1995. Foils prepared January 26,1997
Outside Index
Summary of Material
I describe some issues in setting up computational science education programs at the undergraduate and graduate level based on my experience at Caltech and Syracuse University. Important issues include: |
Academic Implementation: a separate department or interdisciplinary program? |
Is it a fundamental field? is Computational science an "academic" discipline or a "Technical training course" |
Curriculum content: Is computational science the same as scientific and engineering computation?
|
Outside Index Summary of Material
University of Illinois |
Champaign-Urbana |
May 5,1995 |
Geoffrey C. Fox |
NPAC (InfoMall) |
Syracuse University |
111 College Place |
Syracuse |
NY 13244-4100 |
I describe some issues in setting up computational science education programs at the undergraduate and graduate level based on my experience at Caltech and Syracuse University. Important issues include: |
Academic Implementation: a separate department or interdisciplinary program? |
Is it a fundamental field? is Computational science an "academic" discipline or a "Technical training course" |
Curriculum content: Is computational science the same as scientific and engineering computation?
|
Computational Science is an interdisciplinary field that integrates computer science and applied mathematics with a wide variety of application areas that use significant computation to solve their problems |
Includes the study of computational techniques
|
Includes the study of new algorithms, languages and models in computer science and applied mathematics required by the use of high performance computing and communications in any (?) important application
|
Includes computation of complex systems using physical analogies such as neural networks and genetic optimization. |
Formal Master's Program with reasonable curriculum and course material |
PhD called Computer and Information Science but can choose computational science research |
Certificates(Minors) in Computational Science at both the Masters and PhD Level |
Undergraduate Minors in Computational Science |
All Programs are open to both computer science and application (computer user) students |
Currently have both an "Science and Engineering Track" ("parallel computing") and an "Information oriented Track" ("the web") |
I graduated many excellent students at PhD level with a computational science training and typically a Physics PhD. Also "retrained" several "staff scientists"
|
I was unable to set up an interdisciplinary program in Computational Science
|
I did set up a politically very carefully defined graduate program in the Physics department called PCCS............ |
Replaced some of physics phenomenology requirements (Quantum Physics) by two courses:
|
Realistically PCCS could only be taken by a Physics major
|
Conclusions of DOE Conference on Computational Science Education, Feb 1994 |
Industry and government laboratories want graduates with Computational Science and Engineering training - don't care what degree is called |
Universities - want graduates with Computational Science and Engineering training - want degrees to have traditional names |
Premature to have BS Computational Science and Engineering |
Master's Degree in Computational Science Course Requirements: |
Core Courses:
|
Application Area:
|
It is required to take one course in 3 out of the following 4 areas:
|
At Caltech, we used to teach in physics a basic course in Mathematical methods to undergraduates which was required for physics majors |
Non-physics majors chose between this and a corresponding course taught in engineering by applied mathematics |
Compared to these courses, CPS615 has less formal numerical methods than either of these courses but at Caltech neither course discussed computer architecture, how to exploit architecture to get good performance and more importantly, never discussed software issues. |
Minors in Computational Science |
Masters Level Certificate:
|
Doctoral level Certificate:
|
Doctoral level Certificate in Computational Neuroscience:
|
Introduction to Computational Science at Graduate Level |
This course in computational science shows how computational and numerical techniques from computer science and mathematics are used to solve problems in scientific and engineering applications.
|
There are a set of modules built around generic scientific and engineering problems. Each contains:
|
Example Course Module
|
Other Course Module Topics
|
Instructors:
|
Spring Semester 1995, we offered a version of CPS615 (CPS616) aimed at application areas based on information technologies |
CPS 713 Case Studies in Computational Science |
This course emphasizes a few applications and gives an in-depth treatment of the more advanced computing techniques, aiming for a level of sophistication representing the best techniques currently known by researchers in the field.
|
Instructor: Professor Geoffrey Fox, Computer Science and Physics |
Typical Program: |
Freshman year:
|
Sophomore year:
|
Junior year:
|
Senior year:
|
Courses taken for the concentration may also be used to fulfill degree requirements in the students major program of study. |
Prerequisite: Calculus, Physics, Programming |
Level: Sophomore/Junior |
System: CM5 with CMFortran (Approximately Fortran90) |
Topics: Calculation with Vectors and Arrays
|
Philosophy:
|
CPS 311/312 Introduction to Computational Science I and II (3 credits each) |
CPS313/314 Scientific Programming I and II ( 1 credit each) |
CPS312/314 Continues CPS311/313 using same System (CM5 with CMFortran in 1995) |
Topics: Elementary Linear Programming using the Simplex Method
|
Philosophy
|
Prerequisite: CPS312 or Intermediate Programming Course |
Level: Senior |
System in 1995: CM5 with *Lisp, C* and CMFortran |
Topics: Virtual Processor Model for Data Parallel Computing
|
Parallel Performance is a primary issue throughout although we try to preserve some degree of elegance and simplicity in our programs |
Many examples compare several programs for the same calculation so as to observe the performance of various styles of communication and different programming paradigms |
Several examples include programs adapted to different problem sizes, illustrating the significance of the problem size/machine size relation |
Students complete one substantial programming project and a few small exercises |
Prerequisite: CPS312/314 and knowledge of a project topic |
Level: Senior |
Course Contents:
|
Graduate and Undergraduate computational science courses with number of students completing:
|
Computation Science Graduations: June 1994 -
|
One need not have an academic program at all. For example very succesful is:
|
The academic program can be centered in
|
Computer Science -- Nationally viewed as central activity
|
Computer Engineering -- Historically Mathematics and Electrical Engineering have spawned Computer Science programs -- if from electrical engineering, the field is sometimes called computer engineering |
Applied Mathematics is a very broad field in U.K. where equivalent to Theoretical Physics. In USA applied mathematics is roughly mathematics associated with fluid flow
|
Computational Physics -- Practioners will be judged by their contribtion to physics and not directly by algorithms and software innovations.
|
Probably not important for Industry or Government (National Laboratory) jobs
|
However Academia (in general) only appoints faculty in existing well defined academic areas where peer review group exists
|
Advantages of a new department
|
Advantages of Using Interdisciplinary Program
|
Computational Science can attract computing development students (computer science) as well computer user (applications such as Physics, Engineering, Biology, Chemistry) students |
The same course material can sometimes be used for both classes of students although some adjustment can be needed
|
For "Information track" expect more serious mismatch in background with computer user community not having mathematical training of computer science. |
Computational science can be defined broadly as the discipline on the interface between computer science and applications of computers. The current Syracuse course CPS615 and others nationwide, can be considered as "Computational Science for Scientific Computing" or "Technologies and applications for Scientific Computing". The audience is both the technologists (Computer Science, Computer Engineering and Applied Mathematics) as well as the application fields such as Computational Chemistry, Physics and Aerospace Engineering. We propose a new course CPS616 playing a similar role to CPS615 but aimed at the Information related applications rather than scientific computing. At Syracuse University, application students could come from IST (Information studies which also covers technologies), Newhouse (Communications), Maxwell (Public Administration), VPA (Visual and Performing Arts), Education. Technology students are from Computer Science, Computer Engineering and IST. |
The conference proceedings "R and D for the NII: Technical Challenges" obtainable from EDUCOM (nii-forum@educom.com) is one useful general resource. It would be important to collect other useful general and specialized reference books for either teachers and/or students. There are currently 10 modules listed below. |
1) The Internet and Specialized Testbeds as Prototypes of the GII (Global Information Infrastructure) |
2) Physical Network |
3) The Consumer Multimedia Enterprise: Multimedia Videogames, PC's, Settop boxes, and Workstations |
4) Digital Media: Audio, Video, Graphics and Images |
5) User, Application and Service Interfaces |
6) Client and Server High Performance Multimedia Computer Requirements and Architecture |
7) Base Software and Systems Architecture of the GII |
8) Pervasive and Niche Applications for the GII |
9) Generic Services and Middleware on the GII |
10) The Emerging GII Enterprise in Industry, Academia and Society |
World Wide Web basics : HTTP,MIME, servers,clients |
PERL4 and object-oriented features in PERL5(to be finished) |
Wavelet and Other Compression Technologies |
Collaboration Technologies from MBONE to CLI |
ATM Networks with comparison with ISDN and traditional LAN |
Parallel Relational Databases and Web Integration |
Thread based Communication Environments |
Video servers and network management for good quality |
Parallel Web Servers (to be finished) |
Advanced Web Technologies -- agents, VRML, Java (to be finished) |
Joint Program set up between
|
12 3-credit courses with 3 required courses
|
Three tracks for specialization
|
Take 3 core courses, one course from each track(3), 6 elective courses with constraints to be determined |