đź“ś Syllabus
Welcome to CS-GY 6923 in Fall 2024! This page should answer most of the questions you might have about how the course is run. If you don’t find what you’re looking for here, feel free to make a post on EdStem.
Instructor
- Dr. Akbar Rafiey
arafiey@ucsd.edu
webpage
Lecture: 2:00pm-4:30pm Fridays in Tandon, Jacobs Academic Bldg Room 473 Loc: Brooklyn Campus
Office Hours: 9:00am-10:00am Fridays in TBD
Getting Started
To get started in CS-GY 6923, you’ll need to set up accounts on a couple of websites.
Ed Discussion
We’ll be using EdStem as our course message board. You should have received an invitation via email, but if not you should be able to join by clicking the link above. Be sure sure to join EdStem as soon as possible, since all course communication will be done through it.
If you have a question about anything to do with the course — if you’re stuck on a homework problem, want clarification on the logistics, or just have a general question about data science — you can make a post on EdStem. We only ask that if your question includes some or all of an answer, please make your post private so that others cannot see it. You can also post anonymously if you would prefer.
Course staff will regularly check EdStem and try to answer any questions that you have. You’re also encouraged to answer a question asked by another student if you feel that you know the answer.
Gradescope
We’ll be using Gradescope for homework submission and grading. Most of the assignments will be a mixture of math and coding. You should have received an email invitation for Gradescope, but if not you can join with code Z3GWBN
.
Course Prerequisites
Modern machine learning uses a lot of math! More than most other subjects in computer science that you will study. Fortunately, the breadth of math used is relatively narrow: besides basic calculus, you can get very far with an understanding of just probability and linear algebra. That understanding needs to be solid for you to succeed in this course. I list specific topics you should know from probability and linear algebra:
1. Probability
- Random variables, discrete and continuous probability distributions, expectation, variance, covariance, correlation, conditional and joint probability, Gaussian random variables, law-of-large-numbers.
2. Linear Algebra
- Matrices and vectors, vector inner and outer products, matrix-vector and matrix-matrix multiplication, vector norms (e.g., Euclidean), matrix norms (e.g., Frobenius, operator), triangle inequality, Cauchy-Schwarz, solving systems of linear equations, linear independence, matrix rank, column/row span, null space, orthogonal matrices, basics of eigenvectors, eigenvalues, and eigendecomposition.
You also need to be a good programmer for this course. All coding exercises and assignments will be in Python. No prior experience specifically with Python is required, but I will not be focused on teaching the language, besides showing you specific tools useful for machine learning. So if you are not familiar with the basics, you will need to spend time familiarizing yourself. See the TAs if you run into any issues!
Required Materials
You will not need to purchase any materials for this course; we’ll use lecture slides the main resourc. If you’d like additional textbooks to study from, we can recommend these:
- An Introduction to Statistical Learning, by James, Witten, Hastie, and Tibshirani. This book is available free for download from the NYU library.
- Elements of Statistical Learning, by Hastie, Tibshirani, and Friedman for some more advanced topics. A free version of the book is available here.
Lectures
Lectures will be held in-person at the regularly-scheduled time and place, but they will be podcasted and posted online for remote viewing. Attendance is appreciated, but not required.
You will be able to find the lecture recordings at NYU Brightspace.
Office Hours
Course staff, TAs, and instructors, will hold office hours regularly throughout the week. Please see the office hours page for the schedule and for instructions.
Labs and Homeworks
These as- signments are completed at home and reinforce the material discussed in class. I expect a lot of your learning to occur while working on these exercises, and investing time on them is the best way to prepare for the exams. Assignments and their due dates will be posted on the course webpage.
There will be two types of assignments in CS-GY 6923: programming labs and homeworks. Homework (both written problems and coding labs) must be turned in to Gradescope by the specified deadline. Use the code Z3GWBN to join the class on Gradescope. We do not accept late work without prior permission (see “Slip Days”).
Programming labs: Labs should be turned in as evaluated Jupyter notebooks. Do not clear the output before turning in.
Written problem sets: Turned in via Gradescope. While not required, I encourage students to prepare written problem sets in LaTeX or Markdown (with math support.) You can use the template for LaTeX provided on the course webpage. Students will receive 10% extra credit on the Problem Set 1 for preparing it in LaTeX or Markdown. If you do write problems by hand, scan and upload as a PDF.
Regrade Requests
If you feel that the grader has made a mistake, you may submit a regrade request via Gradescope within one week of the grades being released. Or you can contact the TAs on Ed, who will escalate to me as necessary. Note that part of your grade is clarity, so if your answer was mostly right but unclear you may still not receive full credit.
Collaboration and AI
You are highly encouraged to think about the lab and homework problems together, but you must turn in your own solutions written in your own words. We feel that discussing homework problems is an excellent way to learn, but writing the solutions in your own words promotes a deeper, more solid understanding than discussion alone.
We recommend the following way of working on the labs and homeworks. First, meet with your partner to discuss the solutions, but don’t leave the meeting with anything written down. Wait an hour or so, then write up the solutions in your own words working from memory. In that hour, you inevitably forgot some of the details of the solution. If you find that you have trouble filling them in, its a sign that you might not have understood the solution as well as you first thought!
You’re also encouraged to use AI (ChatGPT, etc.) in a similar way: you can talk to ChatGPT about a problem, but don’t copy its answer verbatim. Instead, wait about an hour and put the answer in your own words. Keep in mind that ChatGPT is infamous for being very confidently wrong, so be critical of its output. Also keep in mind that you won’t have ChatGPT on the exams, so you’ll need to understand the fundamental concepts for yourself in order to do well.
We have a zero tolerance policy for copied code or solutions: any students with duplicate or very similar material will receive a zero on the offending assignment. This means both the student who copied material and the student they copied from will receive a zero. My advice is to never share code or solutions with other students.
If you have any questions or worries about whether your collaboration constitutes a violation of academic integrity, feel free to ask us on EdStem.
Slip Days
You have three slip days to use throughout the quarter on any lab or homework, except for those we specifically exclude, such as the homework due before the midterm. A slip day extends the deadline by 24 hours. Slip days cannot be “stacked” or “combined” to extend the deadline further — the latest any assignment can be submitted is 24 hours after the deadline. Slip days are applied automatically at the end of the semester, but it’s your responsibility to keep track of how many you have left.
Slip days are designed to be a transparent and predictable source of leniency in deadlines. You can use a slip day if you are too busy to complete an assignment on its original due date (or if you forgot about it). But slips days are also meant for things like the internet going down at 11:58 PM just as you go to submit your homework. Slip days are to be used in exceptional circumstances, so you probably shouldn’t get close to using all of them — if you do get close to using that many, we will likely reach out to make sure that everything is OK.
Note that slip days are not designed to help in the case of a serious illness or other unfortunate event that severely disrupts your ability to participate in the class. If something like that should arise, please let us know ASAP!
Exams
Midterms
There will be one midterm exam and one final exam:
- Midterm: Friday, Oct 18
- Final Exam: TBD
The midterm exam will be held in-person during the regularly-scheduled lecture times. Make sure you are available on those day. If there is any issue, let me know ASAP. The final will be during the finals weeks.
Exam Pass Criterion
In order to pass the class, the mean of your two exams scores must be 60% or greater.
The reason for this policy is that the exams are the only assessment in this class which you are sure to complete by yourself, and so they are (in theory) the purest measure of your individual understanding. This policy is not meant to be punitive: If your exam scores are not above passing, it indicates that you might be better served by retaking the class with a fresh start.
Grading
We’ll be using the following grading scheme:
- 20%: Programming Labs
- 20%: Written Homeworks
- 25%: Midterm
- 25%: Final exam
- 10%: Class participation: This grade captures how much you contribute to your own learning and that of your peers. Since different students have different styles, there are many ways to earn full credit for this part of the course. You can actively participate in class. You can ask good questions, or answer those of your peers, on the class Ed forum. You can attend and actively contribute to office hours.
Note that in order to pass the class, the mean of your two exams scores must be 60% or greater.
Course Objective
Students will learn how to view and formulate real world problems in the language of machine learning. Categories of problems include those involving prediction, classification, pattern recognition, and decision making.
Through in-class demonstrations and at-homeprogramming labs, students will gain experiencea pplying the most popular and most successful machine learning algorithms to example problems. The goal is to prepare students to use these tools in industrial or academic positions.
In addition to experimental exploration, students will learn how theoretical analysis can help explain the performance of machine learning algorithms, and ultimately guide how they are used in practice, or lead to the design of entirely new methods.
Students will build experience with the most important mathematical tools used in machine learning, including probability, statistics, and linear algebra. This experience will prepare them for more advanced coursework or research in the subject.
A major goal is to prepare students to read and understand contemporary research in machine learning, including papers from NeurIPS, ICML, ICLR, AAAI, JMLR, and other major machine learning venues. Since machine learning is a rapidly evolving field, many of its most powerful tools today may no longer be relevant in 15 years. The goal is to provide students with a theoretical foundation that will allow them to keep up with changes in the field.
At the end of this course, every student should feel confident holding a conversation about machine learning with anyone, no matter their experience in the field. This would include a potential employer, a professor or graduate student working in the field, or a stranger on the subway.
Support and Resources
As instructors, our job is to foster an environment where everyone, regardless of identity, feels welcome and is able to focus on learning. If there is something we can do in this mission, or if there is something preventing you from succeeding in the class, please let us know. If you feel uncomfortable speaking with us or are searching for help on a specific concern, there are several campus resources available to you.
More generally, if you have any concerns about your ability to focus or succeed in this course, or just need someone to talk to, please contact us ASAP and we’ll figure something out.
OSD Exam Accommodations
If you are student with a disability who is requesting accommodations, please contact New York University’s Moses Center for Students with Disabilities (CSD) at 212-998-4980 or mosescsd@nyu.edu. You must be registered with CSD to receive accommodations. Information about the Moses Center can be found here.
NYU School of Engineering Policies and Procedures on Academic Misconduct
A. Introduction
The School of Engineering encourages academic excellence in an environment that promotes honesty, integrity, and fairness, and students at the School of Engineering are expected to exhibit those qualities in their academic work. It is through the process of submitting their own work and receiving honest feedback on that work that students may progress academically. Any act of academic dishonesty is seen as an attack upon the School and will not be tolerated. Furthermore, those who breach the School’s rules on academic integrity will be sanctioned under this Policy. Students are responsible for familiarizing themselves with the School’s Policy on Academic Misconduct.
B. Definition
Academic dishonesty may include misrepresentation, deception, dishonesty, or any act of falsification committed by a student to influence a grade or other academic evaluation. Academic dishonesty also includes intentionally damaging the academic work of others or assisting other students in acts of dishonesty. Common examples of academically dishonest behavior include, but are not limited to, the following:
Cheating: Intentionally using or attempting to use unauthorized notes, books, electronic media, or electronic communications in an exam; talking with fellow students or looking at another person’s work during an exam; submitting work prepared in advance for an in-class examination; having someone take an exam for you or taking an exam for someone else; violating other rules governing the administration of examinations.
Fabrication: Including but not limited to, falsifying experimental data and/or citations.
Plagiarism: Intentionally or knowingly representing the words or ideas of another as one’s own in any academic exercise; failure to attribute direct quotations, paraphrases, or borrowed facts or information.
Unauthorized collaboration: Working together on work meant to be done individually.
Duplicating work: Presenting for grading the same work for more than one project or in more than one class, unless express and prior permission has been received from the course instructor(s) or research adviser involved.
Forgery: Altering any academic document, including, but not limited to, academic records, admissions materials, or medical excuses.
NYU School of Engineering Policies and Procedures on Excused Absences
The complete policy can be found here.
- Introduction: An absence can be excused if you have missed no more than 10 days of school. If an illness or special circumstance has caused you to miss more than two weeks of school, please refer to the section labeled Medical Leave of Absence.
- Students may request special accommodations for an absence to be excused in the following cases:
- Medical reasons
- Death in immediate family
- Personal qualified emergencies (documentation must be provided)
- Religious Expression or Practice
Deanna Rayment, deanna.rayment@nyu.edu, is the Coordinator of Student Advocacy, Compliance and Student Affairs and handles excused absences. She is located in 5 MTC, LC240C and can assist you should it become necessary.
NYU School of Engineering Academic Calendar
The full calendar can be found here. Please pay attention to notable dates such as Add/Drop, Withdrawal, etc. For confirmation of dates or further information, please contact Susana Garcia: sgarcia@nyu.edu.