Course Policies

Attendance and Participation Policy

Early in the semester, we will have an in-person lecture which is also broadcast live in Zoom. Video recordings of lecture will be available for the first few lectures, but after that, will not be regularly available, except shortly before exams to help you study for the exams.

We believe that in-person attendance better supports your learning, and we encourage you to attend in-person if you are able. We will remove the Zoom lecture option later in the semester when the number of students in attendance fits in the capacity of the classroom.

We have lectures on Mondays and Wednesdays. Our quizzes and exams are on Fridays, and we occasionally have optional help and review sessions on Fridays. Please see the course schedule for details.

You should attend your assigned recitation section in-person at its regularly-scheduled time. If you have a legitimate conflict with your recitation (e.g., due to another course or university activity), then you have our permission to attend another recitation that works for your schedule. You should check with us to ensure that there is available capacity in the section you would like to attend instead.

Attendance: We will track recitation attendance and participation for grading purposes. You are permitted a small (but unspecified) number of recitation absences; with a reasonably small number of absences, you will still receive full participation credit.

Grading Policy

Overall grades in this course will be computed approximately as follows:

Our philosophy is to use grading as a tool to encourage clarity of explanation, introspection, and self-learning. We hope that both instructors and students can think about grades in as relaxed a manner as possible. We don't want you to stress out about grades, because we don't think they matter as much as what they are made up to be. In return, we expect you to be relaxed about grading. This means that you should focus your energy on learning rather than stressing about a few points that you might have lost on an exam.

There will be weekly assignments (12 total), 2 exams during the semester, three quizzes, and a final exam. The due dates and exam dates are posted on the course schedule. The assignments will be distributed via Ed. Each assignment will have a programming section, a written section, or both. Programming and written tasks will be submitted and graded on Gradescope.

You don't need to earn all the points to get full credit for each assignment; we use what we call "the bucket system". If you reach 90% of the total available points for an assignment, you get full credit on that assignment. Scores less than 90% are scaled accordingly; e.g., a raw score of 72% would be adjusted to 80% when the bucket system is applied, because 80% = (72/90). The bucket system is applied to the total assignment score (the sum of any programming and written parts) after any late penalties have been applied (see below); thus, you can still get full credit for an assignment even after receiving a late penalty.

Each assignment will have a total score usually between 100 and 200 points. The 12 assignments are equally weighted when calculating your final semester grade.

Participation means attending, and being actively engaged in, recitation, as well as being respectful to other students and course staff. We actively take attendance in recitation. As with homework scores, our computation of your participation grade forgives a small but reasonable number of absences; you will receive full participation credit if you regularly attend and participate in recitation.

Quizzes occur in-class throughout the semester. There will be three. These quizzes are related to the topics from the labs prior to the quiz. Quizzes are graded similar to exams, and we do not use a bucket system for them.

In grading, we will reward not only correctness but also clarity and simplicity. To avoid losing points for hard-to-understand solutions, you should make sure your code is either self-explanatory or contains good comments; bad comments make your code harder to read. We reserve the right to manually deduct correctness points for code that passes some test cases but does not show a sincere attempt to complete the assignment.

Grading your assignments is a lot of work for your TAs, especially determining the cost bounds for your code. For each programming assignment, you can help us by providing a statement of what you think your cost bound is and a short description of why you think that this bound holds. Think of this as a safety mechanism to help you avoid losing points; just as we may take off points for unclear code, we may take off points if we don't understand the costs associated with your solution. Thus you want your comments to be helpful! See the 210 style guide for an example.

We may sometimes choose to not grade certain questions or certain parts of each assignment (although we will grade the majority of your work). In such cases, everyone will receive either a full score or zero for the ungraded parts.

Late Assignments

Homeworks are due at 11:59 PM US Eastern Time unless otherwise stated on the assignment. You may submit up to two days late on Gradescope, with a 10% score penalty for each late day. For example, if you turn in your work one day late and would have scored 85 points, then you would actually receive 76.5 points (an 8.5 point deduction).

In terms of late days, the programming and written portions of each assignment are separate; you could, for example, submit the programming part one day late for a 10% penalty and the written part two days late for a 20% penalty.

Late penalties are applied gradually at a rate of 1% every five minutes, rather than the whole penalty being applied at once. Please do not email us asking for an extension if you accidentally submit your work a couple minutes late; it will still receive up to 99% of the credit.

Note that the bucket system also absorbs late penalties, so if your work earns a full score and is at most one day late, it is equivalent to full credit.

We grant additional extensions on homeworks only in extraordinary circumstances, almost always involving a family or medical emergency. Please discuss exceptional circumstances with your academic advisor or the Office of Student Affairs before requesting an additional extension outside the regular late policy. Please email the instructors, CCing your academic advisor, for any extension request outside the usual late policy.

Style Grading

Handed in code will be graded for style and clarity on a pass/fail basis. You should refer to the style guide on the resources page for general guidelines.

If your coding style on a particular homework assignment is sufficiently poor, then you will receive a score of 0 for the programming portion of that assignment. To recover the grade, you must:

If your new code is acceptable, the TA will change your style grade for the assignment to a "pass". Your original Autograded score will then be restored. It is very important that you do not attempt to resubmit any fixed code; a resubmission after the deadline would be considered late, and will be graded with a penalty.

2 Week Cut-off

All issues regarding a given assignment or exam must be resolved within two weeks of the grades being released and announced. After the two week deadline, we will throw away unclaimed written feedback, and set the grades in stone. This means that if you need to contest a grade, fix a failed style grade, or have any other problems regarding an assignment, you must come to the course staff within two weeks.

To resolve any grading issues, you must submit a regrade request on Gradescope within the regrade request deadline. Please do not send us emails to request regrades.

Exams

For extra time and other special accommodations on exams (or otherwise) students should submit an accommodation letter to one of the instructors. To receive accommodations on exams or quizzes, you must arrange your exams through the Office of Disability Resources. We can not proctor exams or quizzes with accommodations in the usual setting.

We give make-up exams only in extraordinary circumstances, such as, a serious medical condition or an official, university-related athletic competition.

Extraordinary circumstances eligible for a make-up exam do not include other situations such as job interviews, site-visits, social commitments, common cold, etc.

If you believe you need a make-up exam due to another qualifying reason, please ask your academic advisor to request the make-up exam on your behalf.

If you believe you need a make-up exam for an official athletics-related activity, you can directly email the instructors.

We reserve the right to adjust your overall grade computation (based on your other exam and homework scores) to exclude a missed exam, rather than give you a make-up exam.

Communication

Our course discussion board (Ed) makes it more efficient for the course staff and instructors to handle course related communications, also while reasonably protecting your privacy. Your questions and feedback will likely receive better attention and a faster response on the discussion board, compared to email. You should use the course discussion board rather than email for most circumstances. You may email the instructors if you believe that your post is too personal to be visible to the course's TAs.

We will post announcements, clarifications, corrections, hints, to the discussion board---please check it on a regular basis.

When not to email staff

Class related communications are best handled via the course communication platform discussion board. We recommend that you avoid emailing course staff for any of the following reasons:

AI Policy

You are not allowed to use AI tools on any assessments (labs, quizzes, exams) for any reason. Exams and quizzes in this course do not allow any electronic devices unless explicitly required for an accommodation and approved by the Office of Disability Resources and the course staff.

15-210 is a course about mathematics, abstraction, and problem solving.
Although AI is increasingly relevant to these areas, our course is intended to strengthen your personal mathematics and problem solving skills. But we also recognize that AI tools are increasingly ubiquitous and can be hard to avoid, especially when simple web searches implicitly use AI to generate search results.

Our course homeworks and quizzes are designed to give you practice solving difficult problems, and our exams require you to solve similarly difficult problems without using a computer. Based on past semesters, we have noticed a negative correlation between students who self-reported AI usage and midterm scores. We hope you don't rob yourself of the practice necessary to succeed in this course.

Academic Integrity

All students are expected to be familiar with, and to comply with, the University Policy on Academic Integrity

Any work submitted as a homework assignment or examination must be entirely your own and may not be derived from the work of others, whether a published or unpublished source, the worldwide web, another student, other textbooks, materials from another course (including prior semesters of this course), or any other person or program. You may not copy, examine, or alter anyone else's homework assignment or computer program, or use a computer program to transcribe or otherwise modify or copy anyone else's files. It is not acceptable to share or receive exam problems from prior semesters.

Collaboration and Whiteboard Policy

To facilitate cooperative learning, it is permissible to discuss a homework assignment with other students, provided that the following whiteboard policy is respected. A discussion may take place at the whiteboard (or using scrap paper, etc.), but no one is allowed to take notes or record the discussion of what is written on the board, and you must allow two hours to lapse after any discussion before working on the assignment. The fact that you can recreate the solution from memory is taken as proof that you actually understood it.

It is not acceptable to share your solutions or give hints to your friends for a lab after you have already discovered the correct idea. You are not helping your friends by doing so. The right thing to do is to not talk about the lab after you have a solution. Anyone struggling with the homework should visit office hours to talk to an instructor or TA.

We run automatic code comparison programs on student solutions. These programs are very good at detecting similarity between code, even code that has been purposefully obfuscated. Such programs can compare a submitted assignment against all other submitted assignments, against all known previous solutions of a problem, etc. The signal-to-noise ratio of such comparisons is usually very distinctive, making it very clear what code is a student's original creative work and what code is merely transcribed from some other source. Cheating is simply not worth the risk.

One final note: receiving credit for an assignment or exam is not an indication that we did not catch you cheating. Because dealing with cheating cases is a lot of work for the TAs and the instructors, we often delay enforcement until well into the second half of the semester and take action all at once, after we identified a number of cases. This usually leads to unfavorable outcomes for the students involved.

The minimum penalty for cheating (including plagiarism) will be a zero grade for the whole assignment; a typical penalty will be -100% on the assignment. Dishonesty while discussing an academic integrity issue (i.e. lying to course staff) usually results in an 'R' in the course. All violations of this collaboration policy will be referred to the appropriate University disciplinary board, with possible additional disciplinary action. For more information, see the University Policy on Academic Integrity.

There is no statute of limitations for violations of the collaboration policy; penalties may be assessed (and referred to the university disciplinary board) after you have completed the course, and some requirements of the collaboration policy (such as restrictions on you sharing your solutions) extend beyond your completion of the course.