Policies are subject to change. If something is not clear, please contact the course staff.
CS 4780, CS 4786, or CS 5785 or by permission of instructor.
10pt each assignment, 30pt take-home final exam, 20pt class review quizzes, 5pt participation and engagement (including both forum and class). There will be five assignments throughout the semester. The assignment with the lowest grade will not be considered. Points (pt) are not percentages of grade. Grades are computed on a curve based on ranking. The curve is taken from previous years. 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 will not be considered.
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: no copying, no talking, and no browsing the web. Quizzes may be taken on laptops or mobile devices.
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 pairs only. Allowed third-party code/frameworks/tools are specified in each assignment. Please ask for anything beyond what is specified. If it is not specified, it is not allowed.
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. Work on the final exam is individual (i.e., not in groups or pairs).
All assignments and the final exam must be implemented in Python. Jupyter notebooks are not accepted as code submissions (see rant). Usage of third-party tools is allowed only as specified or as approved per-assignment by the instructor.
Late submissions are not allowed. Late submission of the final exam is not allowed.
No electronic devices are allowed in class except for quiz taking.
Strong programming experience (CS 2110 or equivalent) and CS 4780, CS 4786, or CS 5785 with a grade of B or above.
Auditing is not possible. Please see the pass/fail option.
There is a limited number of seats for taking the class with a pass/fail grade. The grade will be determined based on the top-20 quizzes. Pass requires an average of 60/100 at least. This option requires enrolling to a specific section (CS 5740-031), and requires pre-approval by the course instructor via a unique code. The code request form is here. We will only process requests sent after the end of the first class, and by the first Sunday of the semester. Students will be approved on a first comes, first served basis. We will only consider students not enrolled to the regular section on the Monday following the first Sunday. If you drop the class to request enrolling in the pass/fail section, we recommend budgeting at least 24hr for your change to propagate. Students enrolling for pass/fail must satisfy the same prerequisites as other students in the class. The pass/fail option has the same number of credits and the same course name. This is an experiment we are introducing this year, and might not be available in the future. The pass/fail section is an experiment, and will not be available in future years.
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
firstname.lastname@example.org. 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.
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.