Princeton University
Computer Science Department

Computer Science 590 / APC 590
Computational Methods & Their Applications Across Disciplines

Jaswinder Pal Singh

PICASso
Spring 2004


Interested in broad knowledge of state-of-the-art computational methods useful across many scientific disciplines?

Course Summary

A collection of state-of-the-art computational methods and their application in multiple scientific disciplines, emphasizing the practical application of methods such as: equation solvers for fluid dynamics (including multigrid), N-body, molecular dynamics, Monte Carlo, optimization, eigen-analysis, statistical analysis and machine learning. This is a new type of course, and will have a strong interdisciplinary flavor. Methods will be discussed in the context of motivating problems in different disciplines, and presented by faculty from different departments specializing in those areas. Key issues for scalable, high-performance, computing will also be discussed, including overview of parallel architecture and software. Course includes lectures, reading, and programming.

 

Administrative Information

Lectures: Monday/Wednesday 1:30 - 3:00 p.m.

Location: Computer Science Building, Room 105 (Small Auditorium)

Contact Professor: Jaswinder Pal Singh

Coordinator: Steven Kleinstein

Teaching Assistant: Ben Phillips

 


Reading: Each section of the course will require reading a small number of primary articles or book chapters.

Homework: Two parallel programming assignments: one to write and run a small parallel program in the message-passing programming model and one in the shared address space model.

Project: A programming project will involve parallelizing a real application (your own or one you are interested in if applicable), understanding the performance bottlenecks, and implementing and evaluating some optimizations.


Syllabus (and classes of methods covered):

SPECIAL PUBLIC OPENING LECTURE FOR COS 590 / APC 590 (2/2/2004):

Determining the Properties of the Universe from Cosmological Background Observations: The Role of Computation in Science journal's "Breakthrough of the Year"

David Spergel (Astrophysics, Princeton University)

 

Week 1-2

(2/4,9,11)

Jaswinder Pal Singh (Computer Science)
·         Introduction to parallel architecture and software

READING:
"Parallel Computer Architecture: A Hardware-Software Approach" (Culler and Singh, with Gupta)
Chapters 1-3

LECTURES: 1 2 3

Week 3-4
(2/16,18,23,25)

James Stone (Astrophysics)
·         N-body problems
·         Time-integration, tree codes, particle-mesh

READING:
The Gravitational Million-Body Problem, Heggie, D.C. & Hut, P. 2003 [Cambridge University Press]
Preface; Chapter 1 (Astrophysics); Chapter 2 (Theoretical Physics); Chapter 3 (Computational Physics); Chapter 4 (Mathematics)

LECTURES: 1 2 3 4

Week 5
(3/1,3)

David Srolovitz (MAE)
·         Monte Carlo Method, Kinetic Monte Carlo Method

READING: Monte Carlo Simulation for Statistical Physics

Week 6
(3/8,10)

Roberto Car (Chemistry)
·         Molecular Dynamics methods

READING:

Week 7

Spring Break

Week 8-9
(3/22,24,29,31)

Hans-Peter Bunge (Geosciences)
·         Elliptical equation systems
·         Multigrid methods

READING:
A Multigrid Tutorial, William L.Briggs
Chapters 1-3

Week 10-11
(4/5,7,12,14)

Luigi Martinelli (MAE)
·         Compressible viscous flows
·         Optimization in the context of problems constrained by PDEs

READING:
Aerodynamic Shape Optimization Techniques Based On Control Theory
Analysis and Design of Numerical Schemes for Gas Dynamics #1
Analysis and Design of Numerical Schemes for Gas Dynamics #2

Week 12
(4/19,21)

Moses Charikar (Computer Science)
·         Eigen Analysis and Clustering

READING:

Week 13
(4/26,28)

Robert Schapire (Computer Science)
·         Machine Learning

READING:

 

HOMEWORK

#1    (DUE March 26, 2004 by 5PM)