Grading and collaboration policy

From 6.034 Wiki

Revision as of 12:20, 13 September 2007 by Phw (Talk | contribs)
Jump to: navigation, search

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

  • max(Quiz 1, Final part 1)
  • max(Quiz 2, Final part 2)
  • max(Quiz 3, Final part 3)
  • max(Quiz 4, Final part 4)
  • Final part 5
  • Average problem set grade

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 will not calculate class averages in this class -- but based 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 more than about 4.5, a B if it is between about 3.5 and about 4.5, and so on. If you are near one of the halfway points, your tutorial and recitation instructors can decide whether to round your grade up or down based on your class participation.

Contents

Quizzes

There are four 1-hour quizzes, held in the same time slot as lectures. There are also five sections of the final, where the first four correspond to the four quizzes.

The grades you receive for topics 1 through 4 are the maximum of your quiz grade and your grade on the corresponding section of the final. This means you're allowed to have a bad day.

If you accidentally miss a quiz, there is no need to contact us about how to make it up later. You already have a way to make it up, which is the final.

Problem sets

Problem sets are submitted as Scheme programs, and graded automatically, out of necessity. This could be good news for you: there's no human in the loop to be offended by your coding style. Or it could be bad news, because a computer can't give you partial credit if you mess something up.

Every problem set comes with a file called "tester.scm", which makes sure your code does the right thing on several provided examples. Your code should pass every test case in the tester before you submit it.

A "hidden tester" will also be used in grading. It will contain essentially the same kinds of test cases as the public tester. The point of the hidden tester is to make sure your code is actually doing the right thing, not doing just barely enough to pass the public tests.

Hard-coding the answers to public tests you would otherwise fail in your code is cheating. Don't do it. We look at people's code ourselves if it seems there's something funny going on.

Problem sets are graded on the same 1-5 scale. Here's what it means:

5 Passes the public tests, misses at most one hidden test
4 Passes the public tests, misses some hidden tests
3 Passes the public tests, but fails many hidden tests
(Note: you do not get a 3 if you accomplish this by cheating.)
2 Fails a few public tests
1 Fails many public tests
0 Never submitted or doesn't run

Things that can go wrong on problem sets

  • The TAs will not fix your syntax errors, undefined variables, and so on. If the code doesn't run, you get a 0, so make sure you run it through the tester.
  • Remember to submit every file you changed. Forgetting a file is an easy way to end up with undefined functions.
  • Infinite loops are no longer a huge problem. After PS0, the tester will enforce time and space limits on every test case.

Late problem sets

You'll notice that a half-finished problem set will probably get you a grade of 1 or 2. If you can't pass the public tests, you may be better off working on it past the due date, with the cost that your grade will be decreased by 1.

Sometime after midnight on Wednesday night, we run the script that collects problem sets from students' home directories. To handle late submissions, we will run it again on Friday night. If your late submission performs better than your on-time submission, you'll receive your late submission's grade minus 1.

If you hand it in later than that, the TAs will have to go out of their way to collect your problem set again. Send an e-mail to 6.034-tas@mit.edu and tell them. You'll receive your late submission's grade minus 2, and you should no longer expect to receive your grade in a timely manner.


Collaboration policy

You may collaborate with other students on your problem sets, 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 problem set, 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.

Grade distribution

Because MIT does not, by policy, permit grading on a curve, and because there will be little or no time pressure on the quizzes and the final, we expect the grade distribution to reflect understanding. In the past year, we have seen a great deal of understanding.

Personal tools