CS 5740 SP21

Time: MoWe 1:35PM - 2:50PM
Listing: CS 5740

Instructor: Yoav Artzi
Teaching assistant: Ge Gao
Graders: Kuan-Ting Liu, Wenyi Chu, and Cheng Wang

Canvas 📋 | iCal 📆 | Forum 🗣


Policies are subject to change. If something is not clear, please contact the course staff.


CS 2110 or equivalent programming experience; CS 4780, CS 4786, CS 5785, or equivalent machine learning experience.

CS: This course is programming intensive. Students should have strong familiarity with Python and ideally some form of numerical library (e.g., numpy, scipy, scikit-learn, torch, tensorflow). Students should have a strong understanding of foundational CS concepts such as memory requirements and computational complexity.

Math: Students need to be comfortable with calculus and probability, primarily differentiation and basic discrete distributions. The course does not require proofs.


13pt each assignment, 28pt take-home final exam, 10pt class review quizzes, 10pt participation and engagement (including both forum and class). There will be four assignments throughout the semester. Points (pt) are not percentages of grade. Grading appeals must be submitted within 7 calendar days of the grade release for assignments, and within 2 days for the final exam and class grade. Later appeals cannot be considered. We will use peer evaluation for all group work.


The first five minutes of every class will be dedicated to a quiz. Only the top 20 quizzes count towards the grade. The material in each quiz is limited to the slides of the previous lecture. Physical attendance in class is required to complete a quiz. Quiz taking is subject to the same standards as exams.


Assignment grading is based heavily on the written report. Assignments will not be graded without both code and report submission. All assignments must be completed in groups. Please see the grouping FAQ. Allowed third-party code/frameworks/tools/data are specified in each assignment. If it is not specified, it is not allowed.

Final exam

The final exam is not considered as an assignment. The final exam is mandatory. A student not submitting the final exam will fail the class. The format of group work (or individual work) on the final will be decided later in the semester.


All assignments and the final exam must be implemented in Python. Jupyter notebooks are not accepted as code submissions (see rant).

Late policy

Late submissions of assignments or the final exam are not allowed.


Strong programming experience (CS 2110 or equivalent) and CS 4780, CS 4786, or CS 5785 with a grade of B or above.


This class does not have an auditing option.


Your access in this course is important. Please give the instructor, the TA, or the Course Coordinator your Student Disability Services (SDS) accommodation letter early in the semester so that we have adequate time to arrange your approved academic accommodations. If you need an immediate accommodation for equal access, please speak with the instructor after class or send an email message to the instructor and/or SDS at sds_cu@cornell.edu. If the need arises for additional accommodations during the semester, please contact SDS. You may also feel free to speak with Student Services at Cornell Tech who will connect you with the university SDS office.

Academic integrity

Each student in this course is expected to abide by the Cornell University Code of Academic Integrity. Any work submitted by a student in this course for academic credit will be the student’s own work. For this course, collaboration is allowed in the following instances: working on assignments as detailed above. You are encouraged to study together and to discuss information and concepts covered in lecture and the sections with other students. You can give “consulting” help to or receive “consulting” help from such students. However, this permissible cooperation should never involve one student having possession of a copy of all or part of work done by someone else, in the form of an e-mail, an e-mail attachment file, a diskette, or a hard copy. Should copying occur, both the student who copied work from another student and the student who gave material to be copied will both automatically receive a zero for the assignment. Penalty for violation of this Code can also be extended to include failure of the course and University disciplinary action. During examinations, you must do your own work. Talking or discussion is not permitted during the examinations, nor may you compare papers, copy from others, or collaborate in any way. Any collaborative behavior during the examinations will result in failure of the exam, and may lead to failure of the course and University disciplinary action. All course material is under copyright. Posting any material, including lectures, assignments, report templates, reports, code, exams, or quizzes, in public or private forums, except the course forum, is not allowed.