CS banner

CS 3200 - Introduction to Scientific Computing, Spring 2012

torso argon bubble

Welcome to the CS 3200 - Scientific Computation class webpage. Here you will find the latest class information, assignments, handouts, and other useful information.

Scientific Computation - CS 3200 will present scientific computation relevant to computational science and engineering, with an emphasis on the process of modeling, simulation, visualization and evaluation. Possible topics related to the four areas include: (modeling) continuous and statistical modeling; (simulation) solving and linear and non-linear systems, interpolation and approximation, numerical differential equations; (visualization) scalar and vector field visualization techniques; (evaluation) connection of results back to case-studies of interest from areas such as physics, biology, etc. Basic knowledge of programming, matrix operations, and calculus.


Class Personnel:

Chris Johnson
Instructor: Chris Johnson
Email: crj at sci dot utah dot edu
Office: WEB 3850
Office Hours: MW Noon - 1:00 p.m. and by appointment
Alex Stuart
TA: Alex Stuart
Email: alex at cs dot utah dot edu
Office: MEB 3115
Office Hours: T, TH 2:00 - 3:00 p.m.
Chris Gritton
TA: Chris Gritton
Email: Chris.Gritton at utah dot edu
Office: CADE Lab
Office Hours:   M, W 12:00 - 1:00 p.m.
Raghav Aggarwal
TA: Raghav Aggarwal
Email: raghav.aggarwal at utah dot edu
Office: TBA
Office Hours:  TBA

Course Mechanics and Resources:


Class Schedule:


> > >
Date Topic Handouts
Jan-9 Syllabus
Jan-11Introduction to Scientific Computing
Jan-16 No Class - MLK Day
Jan-21 Monte Carlo Method
Random Numbers
Assignment 1
Jan-23 Euler's Method (cont.) and Monte Carlo Method (cont.)
Jan-25 Tools Introduction - Gnuplot
Tools Introduction - Matlab
Tools Introduction - SciPy
Jan-30 Errors, Sensitivity, Conditioning, and Stability
Assignment 2
Feb-1 Introduction to Meshing
Feb-6 Meshing Continued
Feb-8 Interpolation Assignment 3  
Feb-13 1D Finite Difference Method  
Feb-15 2D Finite Difference Method  
Feb-20 No Class - Presidents' Day
Feb-22 Gaussian Elimination & LU Decomposition Assignment 4  
Feb-27
Introduction to Iterative Solvers (Jacobi & Gauss-Seidel)
 
Feb-29
Iterative Solvers (Cont.) (Steepest Decent & Conjugate Gradient)
 
Mar-5
Introduction to Visualization (Perception and Color)
 
Mar-7 Sparse Storage and Bandwidth Reduction Assignment 5  
Mar-12 and 14 No Class - Spring Break
Mar-19
Scalar Field Visualization Techniques - Part 1
 
Mar-21
Scalar Field Visualization Techniques - Part 2
 
Mar-26 Volume Rendering Assignment 6  
Mar-28
Vector Field Visualization Techniques - Part 1
 
Apr-2
Vector Field Visualization Techniques - Part 2
 
Apr-4
Verification and Validation
 
Apr-9
Information Visualization - Guest Lecturer, Professor Miriah Meyer
 
Apr-11
SCIRun Problem Solving Environment
 
April-16 Uncertainty Quantification Assignments 7 and 8  
Apr-18
Monte Carlo Part 2 and Random Walks
 
Apr-23
Apr-25 Last Day of Class
May-3 Final Exam Due

SCI Institute Distinguished Lecture Schedule

Date Speaker
Jan 20 Gene Myers - Janelia Howard Hughes Medical Institute Research Campus
Jan 27 Scott Delp - Stanford University
Feb 10 Jack Dongarra - University of Tennessee/ORNL
Feb 24 David Lipman - NIH National Center for Biotechnology Information (NCBI) - Postponed until next year.
Mar 2 Stephen Smith - Stanford University
Mar 23 Heinz-Otto Peitgen - Fraunhofer MEVIS - Institute for Medical Image Computing
Apr 6 Ben Santer - LLNL
Apr 13 Fran Berman - Rensseaer Polytechnic Institute

SCI Institute Image Lunch


SCI Institute VisLunch


References and On-Line Resources:

Because there does not exist a single book that covers all the materials we will cover in this class, we will use a combination of class notes, class lecture slides, and books and other references. Here is a list of those additional books and on-line resources that cover many of the topics covered in CS 3200.

Books:

  • Numerical Computing with Matlab This book is a very nice overview of numerical analysis with several examples using Matlab. The book is available for free on-line. The Matlab codes used in the book are also available on-line.
  • Scientific Computing: An Introductory Survey, Second Edition by Michael T. Heath, published by McGraw-Hill, New York, 2002.
  • Guide To Scientific Computing, Second Edition by Peter R. Turner, published by CRC Press, 2000.
  • Introduction to Computational Science: Modeling and Simulation for the Sciences by Angela B. Shiflet and George Shiflet, Princeton University Press, 2006.
  • Scientific Computing with MATLAB by Alfio Quarteroni and Fausto Saleri, Springer, 2003.
  • MATLAB Guide by Desmond J. Higham and Nicholas J. Higham, SIAM Press, 2005.
  • Mastering MATLAB 7 by Duane C. Hanselman and Bruce L. Littlefield, Prentice Hall, 2004.
  • Octave - an open source, freely available alternative to Matlab
  • The Visualization Handbook. edited by Charles Hansen and Chris Johnson, Academic Press, 2004.
  • Visualization Toolkit 4th Edition by Will Schroeder, Ken Martin and Bill Lorenson, Kitware, 2006.
  • The Nature of Mathematical Modeling by Neil Gershenfeld, Cambridge University Press, 1998.
  • Python Scripting for Computational Science by Hans Petter Langtangen, Springer, 2004.
  • Python Essential Reference (3rd Edition) by David M. Beazley, Sams, 2006.
  • SCIRun Software System: A scientific problem solving environment for modeling, simulation and visualization developed by the Scientific Computing and Imaging Institute at the University of Utah.
  • Links to Scientific Computing Software collected by Michael Heath of UIUC.
  • Links to large integer arithmetic packages
  • Parallel Scientific Computing in C++ and MPI: A Seamless Approach to Parallel Algorithms and their Implementation by George Em Karniadakis and Robert M. Kirby, Cambridge University Press, 2003.
  • Scientific Parallel Computing by L. Ridgway Scott, Terry Clark, Babak Bagheri, Princeton University Press, 2005.
  • Introduction to High-Performance Scientific Computing by Lloyd D. Fosdick, Elizabeth R. Jessup, Carolyn J. C. Schauble, and Gitta Domik, MIT Press, 1996.

Tools:

gnuplot

MATLAB

SciPy

Mathematical Topics

General Resources

Fundamentals

Random Numbers
Vector and Matrix Basics
Interpolation

Numerical Solution Techniques

Forward Euler
Monte Carlo
Numerical Integration

Topics from a set of numerical analysis notes with other resources:

1D Finite Difference Method; Heat Equation
2D Finite Difference Method; Poisson's Equation
Iterative Solvers
Steepest Descent and Conjugate Gradient Method

Scientific Visualization

Meshing

Delaunay Triangulation and Voronoi Diagrams

Points Inside Triangles

Scalar Field Visualization

Volume Rendering

Vector Field Visualization


People:

Here are some links to some of the mathematicians, computer scientists, scientists, and engineers that we will mention during the course:


Disability Notice:

The University of Utah seeks to provide equal access to its programs, services and activities for people with disabilities. If you will need accommodations in the class, reasonable prior notice needs to be given to the Center for Disability Services, 162 Olpin Union Building, 581-5020 (V/TDD). CDS will work with you and the instructor to make arrangements for accommodations. All written information in this course can be made available in alternative format with prior notification to the Center for Disability Services.