Assignments
Please Log In for full access to the web site.
Note that this link will take you to an external site (https://shimmer.mit.edu) to authenticate, and then you will be redirected back to this page.
For your final letter grade in the class, you will be evaluated on the following three categories of assignments:
- Finger exercises
- Problem sets (i.e., psets)
- Exams
The sections below describe how we grade and each type of assignment in more detail.
1) Grading
Rather than compute a weighted average as your total score, we will consider the trajectory of your performance across all assignments. Our guiding standard is MIT's grade definitions, and we evaluate everyone individually. We do not set cutoffs on total scores for letter grades.
The primary factor for your grade is your exam performance. For example, someone who gets nearly full credit on all exercises and psets, but scores consistently at a C-level on the exams, would probably receive a C in the course.
Finger exercises and psets are meant to help you learn, and making mistakes is essential to the process of learning. Hence, we are more interested in your sustained effort throughout the term, and imperfect scores on these assignments do not concern us as much.
For example, if someone scores in the high-B range on their exams, and they've maintained full participation, then we are more likely to consider assigning them an A-. If someone scores similarly on the exams, but has missed pset checkoffs, then we would be less inclined to give the A-.
Past experience has shown that it's possible to get nearly full credit on exercises and psets, but not demonstrate deep understanding on the exams. Thus, it is important not just to complete the homework problems, but also to ask why code is designed a certain way and to reflect on problem-solving strategies. Make time to ask these questions about code from lecture and recitation, too.
Finally, we will take into account the course staff's interactions with you. Hence, we encourage you to actively participate in class and reach out early for help if needed.
2) Finger exercises
After most lectures, we will release short exercises to help reinforce some concepts from different angles. Many of these exercises are adapted from microquizzes in the older versions of 6.100A and 6.100B. Hence, they can be a good check of your basic understanding, but they do not approach the level of our exams.
When you submit a finger exercise, the question box may show a score, but not yet the answer, and there is no penalty for repeat submissions. The website will grade your latest submission before the deadline. There is also the option to view an answer, but once you use it, you may not make further submissions for the exercise.
We recommend completing finger exercises as soon as possible, ideally within a day of the associated lecture. However, to remove the stress of missing a short deadline, we will accept finger exercise submissions without penalty until Friday, May 1 at 11:59 pm. There will be no extensions past this deadline.
3) Problem sets
There will be seven psets throughout the term. These are extended programming tasks that exercise concepts from class on grounded scenarios. Through these, you should develop skills in programming fluency, computational modeling, and problem decomposition.
For each pset, we will release initial code as scaffolding, along with test cases to check correctness of various components. When you submit your code file on the pset page, the server will run the same test cases and determine an autograder score. There will be no hidden test cases.
Like with finger exercises, you may submit as many times as you like, and we will grade your last submission before the deadline. Unlike finger exercises, each pset has its own deadline.
In addition to submitting your code, you must complete a checkoff conversation with course staff during office hours. Checkoffs are short (15-minute) interviews about your code's design and the underlying concepts. We will also give feedback on code style, which we expect you to apply on subsequent assignments.
Checkoffs for a pset will start the weekday after it is due, and must be completed in about a week (see the calendar). You should complete your checkoff as soon as possible when your work is fresh in your mind. Checkoffs will be given first-come first-serve by available staff. If you are still in the queue at the end of office hours when the deadline passes, you will not receive credit for the checkoff.
Note: Our last problem set's checkoff is due at 9 pm on the last day of classes for the semester, which occurs after our last scheduled class. We have received permission from the Chair of the Faculty for this deadline.
4) Exams
There will be three in-class exams and no final exam. See the course calendar for dates and locations. Watch your email for logistics announcements prior to each exam.
All exams are closed-book, on paper, and hand-graded. No additional resources are allowed: this means no notes, no "cheat sheets," and no electronics.
To help you gauge your performance throughout the term, when we release exam scores, we will also identify rough score ranges that we consider as middle-A/B/C performance. These ranges may be different for each exam.