Scientific Computing
Spring 2008, Math 164 (http://www.math.hmc.edu/math164)
TTh 1:15-2:30 pm, Olin B143 (math computing lab)
Prof. Darryl Yong (dyong@hmc.edu), Olin 1265, x72844
Office Hours: Wed 1:30-4:30 pm, open-door policy

Course description

Math 164 is a survey course designed to introduce students to a broad range of modern computational techniques through the modeling of real-world problems. Discretization, the importance of linear algebra, and the balance between accuracy and speed are three themes that we'll see frequently during the course.

By the end of this course, I hope that you will be able to carry out the modeling process for real world problems that require numerical computation, meaning that

Topics covered: Limits of computer arithmetic, interpolation, numerical integration, numerical differentiation, root finding, finite difference methods for ODEs and PDEs, numerical linear algebra, spectral methods, finite element methods, parallel and distributed computing, stochastic simulations.

Suggested texts

There is no required textbook for this course, but you may find some of the books in the list below helpful. I personally own these and many more textbooks and am happy to recommend some to you based on your preferences.

You can also find these and many other scientific computing books at Sprague library. Try searching for "scientific computing" or "numerical analysis".

Lecture notes

Lecture notes are available to students in this class accessing this web site using a computer on the Claremont Colleges.

Tentative list of topics in order of presentation:

Topic 1: Computer Arithmetic (Jan 22)
Topic 2: Solving Nonlinear Equations (Jan 24, dumbexp.m, newton.zip)
Topic 3: Interpolation and Integration (Jan 31, rungedemo.m)
Topic 4: Numerical Solutions to ODE IVPs (Feb 7, Inverted pendulum example, Feb 12, Plotting a circle, Feb 14)
Topic 5: Numerical Solutions to ODE BVPs (Feb 19, Matlab code, Feb 21)
Topic 6: Numerical Differentiation (Feb 21, finite_difference_formulas.nb, Feb 28, spectralderiv.m)
Topic 7: Optimization (Mar 4, gss.m)
Topic 8: Direct methods for solving linear equations (Mar 6, Mar 11)
Topic 9: Solving partial differential equations (Mar 25, poisson.zip, Mar 27, heat.zip, Apr 8, wave.m)
Topic 10: What's next? (Iterative methods in linear algebra, finite elements, finite volume, spectral methods) Apr 15

Handouts and links

Note: If you're getting the error "Error reading linearized hint data" when opening the PDF files on a Windows machine, try using Task Manager to kill the acrobat.exe task and try again. Alternatively, open Adobe Acrobat, turn off the option "Allow Fast Web View" in Acrobat's preferences, then try again.

Assignments and Final Project

Over the course of the semester, you will complete several computing assignments (worth 60% of your grade) and a final project (worth 40% of your grade). Each of these tasks is also an exercise in written communication. Where indicated, please provide include written explanations along with your calculations. Pay attention to grammar and spelling. Please visit this page for general guidelines about mathematical writing. All of your assignments must be composed on a computer (no hand-written write-ups) unless otherwise noted.

Please keep in mind that Harvey Mudd's honor code is in effect for all students in this course. In particular, remember to acknowledge all sources of help (people, books, websites, etc) that you receive to complete your work. I encourage all of you to work together. However, resist the urge to receive help from someone for the purpose of getting the right answer rather than understanding how or why something works. For that reason, only when your own computer program is working are you allowed to look at someone else's code for an assignment. When helping someone debug a computer program, please seek to help him or her understand, rather than just fix the problem.

Assignment #1: First draft due Jan 29; Peer review due Jan 31; Final draft and presentation on Feb 5

Assignment #2: Due on Thurs, Feb 7 at 5 p.m. (pendulumlength.f, Jan 29 lecture notes)

Assignment #3: Draft due on Thurs, Feb 14; Final version due on Fri, Feb 22

Assignment #4: Due on Friday Feb 29

Assignment #5: First draft due on Friday March 7; Final draft due on Friday, March 14

Your final project will consist of a final paper and oral presentation to the class exploring some computational problem of your own choosing. You can look at projects from 2003, 2004, 2006, or 2007 to get some ideas.

Your final paper will be evaluated using this rubric.

  4 3 2 1
Description of the project The description of the project is well-motivated, convincing, clearly conveyed, and tailored to the intended audience of the paper. The project is described well, but is missing one or two things that the audience would need to know to fully understand the problem. The project is hastily described or is missing significant details. The project is ill defined.
Problem formulation The mathematical model is accurately formulated; all assumptions are clearly stated and warranted. Some unwarranted assumptions were made in the mathematical model. There are some flaws in the formulation of the mathematical model. The mathematical model is either largely incorrect or inappropriate for the given problem.
Quality of mathematical work The computational techniques chosen are well-suited to the problem. The computations performed are thorough, complete and correct. The computational techniques work well for the problem, but there may be other techniques that are superior. The computations are mostly complete and correct. The computational techniques chosen are not well implemented or inappropate. Some computations are incorrect. There are serious mathematical errors that lead to incorrect results.
Insightfulness and depth of understanding Numerous insightful and thoughtful conclusions from data are presented. It is clear that the author designed the model and computations well to reach these conclusions and that the author learn many thing through the project. Some insightful conclusions are reached through the computations. There are a few obvious things the author could have done to draw more conclusions from the model. The author makes a cursory attempt to draw conclusions from the data. The author demonstrates a minimal advancement of technical ability through the projct. The report gives no insights on the original problem or shows no signs of learning on the part of the student.
Grammar and mechanics Excellent Few errors Several errors Poorly written

I am happy to read drafts of your final paper at any time during the semester, so please get in the good habit of writing via revisions. Remember to structure your final paper in a logical way. Typically, you will begin by describing the problem you are solving. Next, state your objectives in solving this problem. These objectives should then lead to how you formulated your problem mathematically and why you chose the computational techniques that you used. Explain any relevant mathematics behind the problem and how you carried out your computations. Finally, draw appropriate conclusions from your data and summarize what you learned from solving the problem.


<dyong@hmc.edu> Last modified: Thu Apr 24 10:27:19 Pacific Daylight Time 2008