Grading and collaboration policy

From 6.034 Wiki

(Difference between revisions)
Jump to: navigation, search
m (Grading policy moved to Grading and collaboration policy)
m (rewrite for 2008)
Line 1: Line 1:
 +
== 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.
 +
 +
== Grading policy ==
Your grade in 6.034 will be calculated the average of six scores:
Your grade in 6.034 will be calculated the average of six scores:
Line 26: Line 37:
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.
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.
-
== Quizzes ==
+
=== 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.
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.
Line 33: Line 44:
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.
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 ===
-
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.
+
Problem sets are submitted as Python programs, and are graded automatically.
-
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.
+
Every problem set comes with a file called "tester.py", 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.
-
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.
+
Sometimes, the tester will generate random test cases. The point is to make sure that 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.
+
Hard-coding the answers to non-randomized tests you would otherwise fail in your code is cheating. Don't do it.
-
Problem sets are graded on the same 1-5 scale. Here's what it means:
+
==== Problem set grades ====
-
{|
+
As stated above, problem sets count for 1/6 of your grade.
-
|'''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<br>(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 ===
+
Problem sets are graded out of 5. If you pass all the online tests, you get a 5. If you miss one online test, you get a 4. (Remember that you can fix the bug and try again!) From there, your grade decreases linearly with the number of test cases you miss.
-
* 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 ===
+
==== Submitting your problem set code ====
-
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.
+
When you test your problem set online, you also send a copy of your problem set directory to the server. Make sure that this directory actually contains all the code you wrote to solve the problem set. If you mess it up, submit again. Despite that we have an automated grader, we do like to look at your problem sets ourselves sometimes.
-
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.
+
==== Late problem sets ====
-
 
+
You can submit late problem sets at any time for some credit. Your grade for a late problem set has a half-life of one week. In practical terms, your problem set loses about 10% of its remaining credit for each day it is late.
-
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 <tt>6.034-tas@mit.edu</tt> 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.
+

Revision as of 03:58, 3 September 2008

Contents

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.

Grading policy

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.

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 Python programs, and are graded automatically.

Every problem set comes with a file called "tester.py", 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 doing just barely enough to pass the public tests.

Hard-coding the answers to non-randomized tests you would otherwise fail in your code is cheating. Don't do it.

Problem set grades

As stated above, problem sets count for 1/6 of your grade.

Problem sets are graded out of 5. If you pass all the online tests, you get a 5. If you miss one online test, you get a 4. (Remember that you can fix the bug and try again!) From there, your grade decreases linearly with the number of test cases you miss.

Submitting your problem set code

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

Late problem sets

You can submit late problem sets at any time for some credit. Your grade for a late problem set has a half-life of one week. In practical terms, your problem set loses about 10% of its remaining credit for each day it is late.

Personal tools