CS 6241, Spring 2018: Numerical Methods for Data Science
Lecture time: TR 2:55-4:10
Lecture location: Hollister B14
This is a graduate level course on numerical methods prominent in modern data analysis and machine learning. Students must have a strong grounding in linear algebra and probability as well as sufficient mathematical maturity. Prior experience with numerical methods at the level of CS 4210/4220 or CS 6210/6220 will be highly useful, though not strictly required. The course will consist of six units of about two weeks each:
- Least squares and regression
- Low-rank factorizations for matrix and tensor data
- Low-dimensional structure in function approximation
- Kernel interpolation and Gaussian processes
- Numerical methods for graph data analysis
- Methods for learning models of dynamics
We will pay particular attention throughout to sparsity, rank structure, and spectral behavior of underlying linear algebra problems; convergence behavior and “regularization via iteration” effects for standard solvers; and comparisons between numerical methods for data analysis with large-scale numerical methods used in other areas of science and engineering.
The course work consists of:
- Lecture (10%): Participation is expected! Readings will sometimes be posted in advance of meetings to prime discussion.
- Homework (25%): There will be one homework per unit to
- Scribe notes (20%): Students will participate in developing a set of notes over the course of the semester. A template for the scribe notes is provided [here][TODO].
- Final projects (40%): The final project should be developed over the course of the semester. Projects will be subject to peer review and evaluation (worth 10% of the grade).
In addition, 5% of the grade is reserved for written feedback at the middle and end of the class.
Course discussion system
This term we will be using Piazza for class discussion. Rather than emailing me questions, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email firstname.lastname@example.org.
Find our class page at: http://www.piazza.com/cornell/fall2018/cs6241.
Graded work will be weighted as follows:
- Class participation and scribe notes: 40%
- Final project: 60%
An assignment is an academic document, like a journal article. When you turn it in, you are claiming everything in it is your original work, unless you cite a source for it.
You are welcome to discuss homework and projects among yourselves in general terms. However, you should not look at code or writeups from other students, or allow other students to see your code or writeup, even if the general solution was worked out together. Unless we explicitly allow it on an assignment, we will not credit code or writeups that are shared between students (or teams, in the case of projects).
If you get an idea from a classmate, the TA, a book or other published source, or elsewhere, please provide an appropriate citation. This is not only critical to maintaining academic integrity, but it is also an important way for you to give credit to those who have helped you out. When in doubt, cite! Code or writeups with appropriate citations will never be considered a violation of academic integrity in this class (though you will not receive credit for code or writeups that were shared when you should have done them yourself).
We expect academic integrity from everyone. School is stressful, and you may feel pressure from your coursework or other factors, but that is no reason for dishonesty! If you feel you can’t complete the work on the own, come talk to the professor, the TA, or your advisor, and we can help you figure out what to do.
For more information, see Cornell’s Code of Academic Integrity.
In the event of a major campus emergency, course requirements, deadlines, and grading percentages are subject to changes that may be necessitated by a revised semester calendar or other circumstances. Any such announcements will be posted to Piazza and the course home page.