An introduction to some fundamental algorithms and data structures used in current applications. Cryptocurrencies (hashing, Merkle trees, proofs of work), AI (nearest neighbor methods, k-d trees, autoencoders), and VR/AR (gradient descent, least squares, line-drawing algorithms). Lectures will be supplemented with occasional applied clinics taught in the evening. Programming assignments in Python.
Familiarity with basic programming, algorithms and data structures (at the level taught in a sophomore course), or permission of instructor.
Instructors: Ramin Zabih and Greg Zecchini
TA: Richard S. Bowen
Graders/consultants: TBA
Lecture: Tuesdays and Thursdays, 12:30pm - 1:45pm, Bloomberg Center 131, Cornell Tech
Evening clinics 6:30-8pm on the following Thursdays: 8/23, 8/30, 9/6, 9/20 and 10/4
Class number: 17766
- Grade Breakdown: Your grade will be determined by the assignments (30%), one prelim (25%), a final exam (35%), and quizzes (10%).
- Homework: There will be approximately six short programming assignments. Each assignment will have a due date for completion.
- Late Policy: Each student has a total of one slip day that may be used without penalty for homework. We will also drop your lowest quiz score.
- Collaboration: You are required to work in groups of 2 students on each assignment. Please indicate the name of your collaborator at the top of each assignment and cite any references you used (including articles, books, code, websites, and personal communications). If you're not sure whether to cite a source, err on the side of caution and cite it. You may submit just one writeup for the group. Remember not to plagiarize: all solutions must be written by members of the group. If you are the odd person out we will have you join an existing group of 2.
- Quizzes: There will be short multiple-choice quizzes, generally at the end of the week. These are take home, and due within 24 hours.
- Prelim: In class, on Thursday October 25. The exam is closed book.
- Final Exam: In class, on Tuesday December 4. The exam is closed book.