CS 322 Introduction to Scientific Computing

Spring 2008

Cornell University

Course Catalog Description: An introduction to elementary numerical analysis and scientific computation. Topics include interpolation, quadrature, linear and nonlinear equation solving, least-squares fitting, and ordinary differential equations. The MATLAB computing environment is used. Vectorization, efficiency, reliability, and stability are stressed. Special lectures on parallel computation.

Professor:

Doug James, djames@cs.cornell.edu

Office Hours: Tues 2-4, Fri 10-noon (Upson 5146)

Teaching Assistants:

Jeff Chadwick

Office Hours: Tues 4:30-5:30 (Upson 4161)

Jeffrey Pang

Office Hours: Mon 1-3pm (657 Rhodes Hall)

Haibo Lu

Office Hours: Tues 11-noon (CSUGLab)

Time and Place :

Lecture: MW 10:10–11:00, ROOM CHANGE: 165 OLIN
HALL

Sections:

Sec 1, Thursday 12:20 - 1:10 pm, 314 Hollister - Jeff Chadwick

Sec 2, Thursday 3:35 - 4:25 pm, 216 Olin Hall - Jeffrey Pang

Sec 3, Friday 2:30 - 3:20 pm, 307 Phillips Hall - Jeff Chadwick &
Jeffrey Pang

Sec 4, Friday 10:10 - 11 am, Haibo Lu ROOM CHANGE: 314 Hollister

## Textbook: |
Numerical
Mathematics and Computing by Ward Cheney, David R. Kincaid (Required text) Other books (not required): * Scientific Computing: An Introductory Survey, by Michael Heath |

The homweworks may be handwritten or printed and are to be turned in at the beginning of class. Some homeworks may include Matlab parts to be turned in on CMS. After they are graded (normally by the following week) the grades are posted on CMS, and the papers can be picked up in 360 Upson between 10am and noon or between 2pm and 4pm.

- Root Finding (or "Rendering Implicit Surfaces and Fluids")

- ShadowBox (or "Monte Carlo Rendering and the
SVD-Powered X-Ray Glasses")

- Advection (or "Making Explosions at Home")

The projects are to be done in Matlab. The CSUGLab in Upson 330 is set up to support this course. You are free to work on whatever computer you like, using any programming environment, but your code must work on the machines in our lab. You will hand in your source code using CMS.

There will be two evening prelims and a final exam:

- First Prelim: Tuesday, February 19 - 7:30 pm start - B17 Upson
- Second Prelim: Thursday, April 3 - 7:30 pm start - B17 Upson
- Final Exam: Wednesday, May 7 - 7:00 pm start - B17 Upson

All three exams are closed book, but you're allowed to bring one letter-sized piece of paper with writing on both sides, to avoid the need to memorize things.

After the fact, the exams and solutions will be posted.Your final
grade will be computed from the grades on the assignments, exams, and
the course blog as follows:

- 10% blog posts (see blog guidelines)

- 25% homeworks (lowest HW grade dropped)

- 30% projects (three)

- 35% three exams (each midterm 10% and the final 15%).

Homework assignments are due at the start of class on the due
date (normally Wednesday), *but* will be accepted up to 48 hours late at a 20% deduction. If you will not
be able to attend that class, then it is your responsibility to submit
the assignment earlier. The lowest
homework grade will be dropped in computing your final score.

Project source code, results and writeup (e.g., PDF) are due at 11:59 pm on the due date. Projects are accepted up to 48 hours late with a one-point (out of 4) late penalty.

The principle is that an assignment is an academic document, like a journal article. When you turn it in, you are claiming that everything in it is your original idea (or is original to you and your partner, if you're handing in as a pair) unless you cite a source for it.

You are welcome (encouraged, even) to discuss the homeworks and projects among yourselves in general terms. But when it comes to writing up the homeworks or implementing the projects, you need to be working alone (or only with your partner if you are doing a project as a pair). In particular, it's never OK for you to see another student's homework writeup or another team's program code, and certainly never OK to copy parts of one person's or team's writeup, code, or results into another's, even if the general solution was worked out together.

You're also welcome to read any published sources—books, articles, public web sites—that help you learn. If you find an idea in one of these sources that becomes part of your solution, that's fine, but it's imperative that you give credit on your homework or in a comment in your code. Otherwise you would be falsely claiming to have invented the idea yourself.

In this course we expect complete integrity from everyone. School can be stressful, and your coursework and other factors can put you under a lot of pressure, but that is never a reason for dishonesty. If you feel you can't complete the work on your own, come talk to the professor or the TAs, or your advisor, and we can help you figure out what to do. Think before you hand in!

Clear-cut cases of dishonesty will result in failing the course.

For more information see Cornell's Code of Academic Integrity .