Grading and collaboration policy

From 6.034 Wiki

Jump to: navigation, search


Collaboration policy

You may collaborate with other students on your labs (problem sets) so as to come up with general ideas on how to implement things, but your code must be your own. Aside from the standard code that comes with the lab, all the code you submit must have been written by you, with an understanding of what it does. We get very sore if we catch someone cheating.


We expect the grade distribution to reflect understanding. Accordingly, for each quiz and lab, we set thresholds for thorough understanding, acceptable understanding, some understanding, and poor understanding. These levels of understanding map to letter grades. We do not grade on a curve: We will, for example, give an A to every student who demonstrates A-level understanding. In past years, we have seen a great deal of A-level understanding.

Grading policy

Grades are calculated in accord with several student-oriented principles. For example, because we want to encourage each student to compete with themselves and not with each other, we do not compute a class average. Because anyone can have a bad day, each segment of the material is tested both in a quiz and on the final exam, and we only count the higher grade.

See Prof. Winston's article in the Faculty News Letter for discussion of the grading policy rationale.

Grade calculation

Your grade in 6.034 will be calculated as the weighted average of six scores:

  • max(Quiz 1 core, Final part 1 core)
  • max(Quiz 2 core, Final part 2 core)
  • max(Quiz 3 core, Final part 3 core)
  • max(Quiz 4 core, Final part 4 core)
  • Average lab (problem set) grade
  • Average spiritual/right-now (SRN) grade

The scores are weighted such that the core material sections make up 60% of your final grade, spiritual/right-now assignments are 15% of your final grade, and labs are 25%. In other words, your grade consists of:

  • 4 core quiz sections, 15% each
  •  ? spiritual/right-now assignments, ?% each (still working out this detail)
  • 10 labs, 2.5% each

The "right-now" part refers to talks given by right-now speakers. The "spiritual" part refers to lectures, given by 6.034 lecturers, that are not considered part of the core skill set. (See Frequently Asked Questions for more information about spiritual/right-now questions.)

See Reference material for assignment of material to quizzes.

All of these scores will be on a 1-5 scale, averaged together like a GPA. The 1-5 scale is not based on a class average---we do not calculate class averages---but rather on what the instructors consider the scores to mean:

5 Thorough understanding of the topic
4 Acceptable understanding of the topic
3 Some understanding of the topic
2 or 1 Poor understanding of the topic

You will get an A if your average score is 4.5 or higher, a B if it is 3.5 or higher, but below 4.5, and so on. If you are near one of the transition points, your recitation instructor can decide whether to round your grade up or down based on your class participation.


There are four 1-hour quizzes on core material . (Note: We are still working out details about quiz administration for Fall 2020.)

There are also four sections of the final exam, corresponding to the four quizzes.

The grade you receive for each of the four core material sections is the maximum of your quiz grade on that section and your grade on the corresponding section of the final exam. If you do well on a quiz, you need not do the corresponding section of the final exam. You may decide not to take a quiz with a view toward taking the corresponding section of the final, but we do not recommend this option.

Note that the maximizing is by quiz and final section, not by problem or topic. If you get a perfect score on one question of a quiz, and a zero on the other, you will have to do well on the entire corresponding section of the final exam to improve your score.

Quiz absence

If you have to miss a quiz for any reason---sickness, family emergency, marriage (including yours), conference, sporting event, job interview, another quiz, etc.---you need not worry about 6.034. You just need to take the corresponding section on the final examination.

Quiz regrades

Sometimes we make a mistake when grading a quiz. You may submit your quiz back to us for a regrade by talking to your TA. Regrade requests must be submitted before the day of the next quiz. Regrades can only result in increasing your grade; even if we find that your grade should have been lower, we will not take off additional points in the regrade.

Labs (aka Problem Sets)

Labs are submitted as Python programs and are graded automatically.

Every lab comes with a file called "", which you use both to test and to submit your code. It has an "offline" and an "online" (or "submit") mode, which may or may not contain the same test cases. When you use the online tester, you receive your grade automatically. You can always resubmit to try to improve your grade.

Sometimes the tester will generate random test cases. The point is to make sure that your code is actually doing the right thing, not just doing barely enough to pass the public tests.

Hard-coding the answers is cheating. Don't do it.

Lab grades

Labs are graded on a 5-point scale. If you pass all the online tests, you get a 5. Otherwise, the grading is linear, based on the number of test cases passed up to a 4. (Remember that you can fix the bugs and try again!). The final test cases that get you from a 4 to a 5 are often tricky, e.g., edge cases, so to demonstrate thorough understanding connoted by a 5, you must pass all the test cases.

You can view all of your grades for submitted labs on the lab grades page. Your grade for a lab will never decrease: If you resubmit a lab late or with a solution that passes fewer of the online tests, the command line output may show a lower grade, but your grade on the lab grades page will not go down.

It is your responsibility to make sure that your code is submitted correctly. We are unlikely to fix your grade when you realize a month later that you didn't actually submit your lab.

Submitting your lab code

When you test your lab online, you also send a copy of your lab directory to the server. Make sure that this directory actually contains all the code you wrote to solve the lab. If you mess it up, submit again. Even though we have an automated grader, we do like to look at your lab solutions ourselves sometimes.

Late labs

You can submit late labs at any time for some credit. As long as you submit a lab on (or before) its due date, even if the time is between 10pm and midnight, you won't lose any points. After the due date, your grade for a late lab has a half-life of one week. The equation is:

(your lab grade)*(0.5)^((t-0.5)/7)

where t is the integer number of days late. The table below shows examples of the maximum grade as a function of days late.

Extensions: In most cases, this lenient grading policy takes the place of an extension policy, but you can talk to your TA or S3 if you have extenuating circumstances. We do not grant extensions for job interviews.

Days Late Best possible Grade
0 5.0
1 4.76
2 4.31
3 3.90
4 3.54
5 3.20
6 2.90
7 2.63

Personal tools