CS206 - Principles of Scientific Computing
Instructor: Wayne Hayes whayes@uci.edu
Computing Environment
Note that the programming assignments will all be done on the Department of Computer Science "openlab" computers, under Unix.
You can learn more about openlab here and here. If you already have access to a Unix/Linux machine, use "ssh" to get to openlab. If you're using Windows, then a popular program to remotely log in to a Unix machine is call PUTTY; another is MobaXterm, which allows a limited amount of graphical interaction.
ALL HOMEWORK CODE MUST BE SUBMITTED ONLINE, ON THE OPENLAB, USING THE COMMAND "/home/cs206/bin/submit"; math or write-ups should be submitted in PDF on GradeScope.
Textbook
Textbook available online for free as a PDF here
Lecture 1 - Why Scientific Computing?
Intro lecture slides compliments of Prof. Dr. Chr. Zenger and Prof. Dr. H.-J. Bungartz
from the University of Stuttgart, Germany.
Collapse of the Sleipner A oil platform:
Report and Video
Assignment 3, due Tuesday of Week 4: Question 5 on p. 99 of the text (see above, it's online), then read question 12 starting on page 101, and do exercise 12(b) on page 102 (you don't need to understand everything about question 12 to do this).
Readings
Week 1: Floating point errors + propagation (Chapters 1 and 2 up to and including section 2.2)
Week 2: Condition numbers + intro to solving linear system (sections 2.6 through 2.8 inclusive)
Week 3: Solving linear systems: LU- factorization; iterative methods (Chapters 4+5)
Week 4: Iterative methods (con't); Optimization (6.1); Zeros vs Fixed points; Taylor Series (section 3.1)
Weeks 5+6: Nonlinear Optimization; Newton +Quasi-Newton Methods, Gradient Descent + Conjugate Gradient, Steepest Descent (Chapter 6);
Weeks 7-8: Polynomial approximations; integration + quadrature (chapters 7+8)
Weeks 9-10: Monte Carlo Methods, Case studies (chapter 9)