CS322
Introduction to Scientific Computing
Spring 2007

Announcements

29 April Lecture notes for data fitting statistics (covering maximum likelihood estimation, Monte Carlo error analysis, and chi-squared statistics) are posted.

2 April Prof. Marschner will be canceling his office hrs today because he is sick. He plans on holding hrs tomorrow.

31 March Homework 5 has been separated into HW5 and HW6, and updated versions have been posted.

29 March Notes for the SVD lectures (covering SVD, SVD applications, and principal components) are posted.

13 March The FAQ for Project 2 has been updated.

4 March A correction to HW4 has been made, to make the allegedly full-rank matrices in problem 2 in fact full rank.

26 February The FAQ for HW3 has been updated.

15 February The review session will be on Sunday 2/18 from 1-2:30PM in Kimball B11.

14 February Since the University is closed because of the snow, Project 1 is now due tomorrow rather than today.

13 February Prelim 1 is on 2/20 in Upson B17 at 7:30. There will be a review session on Sunday, 2/18 from 1:00-2:30. Room TBD.

09 February
The FAQ section of Project 1 has been updated, and a minor revision to the handout has been posted.

06 February We will be sending you an email about every other week to get your feedback on the pace of lecture. the email will direct you to an anonymous web form.

05 February A minor revision to Project 1 has been posted.

26 January We will be adding a section and need your help finding a time that the most people can attend. If you are registered for lecture but not section, please fill out this form by Monday at 8:00am.

26 January A minor correction to hw1 has been made.

25 January Because all three sections are full, we will be adding a fourth section. For this week please go to one of the existing sections, even if you are not enrolled in it.

18 January All sections for 322 will be held in the CSUG lab, 330 Upson. 330 is locked with a code, which you will receive on the first day of class. You can also email Kelly at  patwell@cs.cornell.edu for the code.

18 January Welcome to CS322!

About CS322

Professor:
Steve Marschner, srm at cs.cornell.edu
  ofc hrs MF 3-4 in 5159 Upson

TAs:
Jon Kaldor jmk224 at cs.cornell.edu
 ofc hrs Tu 1:30-2:30; W 4:30-5:30 in 328C Upson
Michael Friedman, mwf23 at cornell.edu
 ofc hrs Tu 3:30-4:30 in 328B Upson
Staff List, cs322-staff-l at lists.cs.cornell.edu

Time and place:
lecture: MW 10:10–11:00, 203 Phillips
sections:
 01 R 12:20–1:10, 330 Upson
 02 R 3:35–4:25, 330 Upson
 03 F 2:30–3:20, 330 Upson
 04 F 10:10–11:00, 330 Upson

Textbooks:
Moler, Numerical Computing with Matlab (required)
Tufte, The Visual Display of Quantitative Information (supplementary)

Coursework

Homework

There will be (usually) weekly homeworks, due in class on Mondays, consisting of one or two problems. 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 drawing graphs or other pictures.

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 Monday following the due date) 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.

Programming assignments

There will be three projects:

  1. Colorcal: Color calibration for digital cameras and printers
  2. Spline: A spline-based drawing/CAD program
  3. Springies: A 2D interactive simulation with masses and springs

These programs are to be done in teams of two. If you really want to work by yourself, that is OK but you will still have to do all the work. If you want to work with a partner but can't find one, please contact the course staff and we will help.

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.

Exams

There will be two evening prelims and a final exam:

Together the two midterms 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.

Grading

Each item to be graded in this course will be scored out of 4 points on a 5-point scale:

Having everything correct leads to a score of 4. A score of 5 is for a correct solution that is exceptionally creative or insightful.

Your final grade will be computed from the grades on the assignments and exams. The homeworks will account for 30% of the grade, the projects will account for 30%, and the three exams will account for 40% (each midterm 10% and the final 20%).

Due dates and late assignments

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 in two phases. The source code and results are dut at 11:59 pm on the due date (normally Wednesday), and an associated writeup is due two days later (normally Friday). Projects are accepted up to 48 hours late (normally project on Friday, documentation on Sunday) with a one-point (out of 4) late penalty.

Starred problems

Both the homeworks and the projects will include some starred problems. These optional parts are a little bit more challenging and/or open-ended than the rest. Starred problems will be graded in the same way as the others, but the scores are tallied separately. In computation of final grades, successful completion of all the regular problems will be calibrated to a grade of B+, and the scores on starred problems will be used to distinguish among B+ and higher grades.

Three observations about starred problems:

  1. You can get a perfectly reasonable grade without working on any starred problems. If you are finding enough challenge in the class without them, you can leave them alone.
  2. Other people's work on starred problems will not affect the curve for grades below A.
  3. In order to get an A in the class you need to work on some of the starred problems and show a basically successful completion of the regular problems. Working on starred problems won't help your grade if you aren't solving pretty much all of the regular problems.

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, 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.