## About CS3220

**Professor:**

Steve Marschner,
srm at cs.cornell.edu

ofc hrs We 4:00–5:00; Fr 3:00–4:00 in 5159 Upson

**TA hours:**

- Ruben Sipos, rs at cs.cornell.edu: Th 2:50–3:20pm and Fr 1:15–2:15pm, Upson 328
- Manolis Savva, mss86 at cornell.edu: Sa 10:00am–12:00pm, Upson 328
- Manuel Vargas, mev25 at cornell.edu: Su 2:00–4:00pm in CSUGlab (361 Upson)

**Time and place:**

Lectures: MW 10:10–11:00, 205 Thurston

Sections: R 12:20–01:10, 111 Upson

R 03:35–04:25, 307 Phillips

F 02:30–03:20, 314 Hollister

F 10:10–11:00, 320 Hollister

**Textbook:**

Michael T. Heath, *Scientific Computing: An Introductory
Survey*, second edition
(required)

**Electronic communication:**

Staff List: cs3220-staff-l at lists.cs.cornell.edu

Course blog, for announcements and discussion

### Prerequisites

You'll need to know calculus, including basic multivariable calculus, and linear algebra. The standard Engineering math sequence is fine, or Math 1110-1120-2210, or other courses covering the same material.

You'll also need to know the basics of the Matlab programming language and environment. If you have never used Matlab, consider taking or just following CS 1132, Transition to Matlab, a one-credit self-paced web course intended to quickly teach Matlab to students who have already learned another programming language, such as Java.

### Coursework

#### Homework

There will be (usually) weekly homeworks, due in class on Mondays. See the schedule for the exact due dates. They will involve things like working out numerical or other short answers (which should always be backed up by some brief reasoning), answering "why" questions, and making plots. Some homeworks will be computer-based problems to be done in Matlab.

The homweworks may be handwritten or printed and are to be turned in at the beginning of class. After they are graded, the grades are posted on CMS, and the papers can be picked up in 363C Upson between 10am and noon or between 2pm and 4pm, weekdays. Regrade requests must be submitted within one week of receiving the graded homework.

#### Projects

Some weeks, instead of homeworks, there will be small projects, in which you'll apply some of the methods we learn to practical problems involving cool pictures. Likey topics include:

**Root Finding**: Compute pictures of 3D blobby objects and simulation data by finding roots of functions.**Shadow Box**: Discover the mystery lights that cast complex shadows by analyzing them using SVD.**Springies**: Build an interactive mass-spring simulation using a variety of differential equation solvers.

These projects may be done individually or in teams of two. If you want to work with a partner but can't find one, please contact the course staff and we will help.

You'll implement the projects in Matlab based on the code we hand out. The CSUGlab machines are set up to support this course. You are free to work on whatever computer you like, using any programming environment, but your code must run on the machines in the lab. You will hand in your source code using CMS.

#### Exams

There will be two evening prelims and a final exam:

- First Prelim: Tuesday, February 23, 7:30 pm
- Second Prelim: Thursday, April 8, 7:30 pm
- Final: TBA Monday, May 17, 9:00 am

Together the two prelims cover the first 2/3 of the course. The final is comprehensive, so it covers all material from the whole course.

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, you can find the exams and solutions on the exams page.

#### Sections

The tutorial sections will review material from lecture, go over solutions to additional example problems, and provide additional help for the programming assignments.

### Grading

Your final grade in CS3220 will be computed from the grades on the assignments and exams using the following weights:

- homework: 5% times 8 homeworks (lowest grade is dropped)
- projects: 7% times 4 projects
- prelims: 8% times 2 prelims
- final: 16%

#### Due dates and late projects

Homework assignments are due at the start of class on the due date (normally Monday), and are not accepted late. The lowest homework grade will be dropped in computing your final score.

Projects are due at 11:59pm on the due date (normally Monday) and are accepted with a late penalty two days after the due date (normally Wednesday). Programs are accepted late as follows:

- Hand in by late deadline: 10% off score (about a leter grade)
- Hand in within one week of due date: graded pass/fail; pass receives 50% credit
- More than one week late: no credit

Assignments that are handed in under option 2 will not be graded carefully and may be returned very late. That option is just intended to give you a chance to reduce the effect of zeros averaged into your grade.

### Policies

#### Collaboration

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 (or even gives you the whole
solution), that's fine, but it's *imperative* that
you credit that fact on your homework or in a comment in your code. Otherwise
you would be falsely claiming to have invented the idea yourself.

#### Academic Integrity

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.