Grading
-
10 written homeworks, each with 3 problems (30% total), two midterms (20% each),
and a final exam (30%).
-
We will not accept late homework for any reason.
-
To offset this strict no-lateness policy, we will drop the your 5 lowest homework problem scores (out of the 30 homework problems).
-
In case of truly extenuating circumstances (such as documented illness, injury, or emergency), let the instructor know as soon as possible and we might
decide to "forgive" your missed homework (i.e., ignore it and
give more weight to your other homeworks).
Extenuating circumstances do not include
registering late, travel for job interviews or conferences, forgetting the homework deadline, or just not finishing on time.
-
If you have submitted less than 15 homework problems, you may automatically get an F.
If your exam average is less than 25%, you may automatically get an F.
-
We determine your letter grades using the following fixed cutoffs:
94-100 | A+ |
88-94 | A |
82-88 | A- |
76-82 | B+ |
70-76 | B |
64-70 | B- |
58-64 | C+ |
52-58 | C |
46-52 | C- |
40-46 | D |
0-40 | F |
-
As a backup, we also determine your letter grades using the following curved cutoffs:
The mean is the center of the B range, and each standard deviation is worth 3/4 of a letter grade. For example, the B+/A– cutoff is 2/3 standard deviations above the mean, and the B–/C+ cutoff is 2/3 standard deviations below the mean.
Outliers and graduate students are excluded from the cutoff computation, to avoid unfairly skewing the curve for undergraduates.
-
Your actual letter grade is the higher of the above two letter grades.
-
We reserve the right to adjust grades upwards at the instructors' whim.
-
Regrade requests:
All homework and exam regrade requests must be submitted (in Gradescope) within one week after the graded work is returned. Requests must include a written justification. Note that as a result of closer scrutiny of your work, your grade may go up or down.
Homework: How to submit
- All homework solutions must be submitted electronically via Gradescope. Submit one PDF file for each numbered homework problem. Gradescope will not accept other file formats such as plain text, HTML, LaTeX source, or Microsoft Word (.doc or .docx).
-
You can replace your submission as often as you like before the deadline; only your last submitted version will be graded. We strongly recommend submitting something well before the deadline, to avoid any last-second emergencies
(since late submissions are not accepted).
- If you are using an alias or a non-university email address on Gradescope, please tell us who you are via this
form so we can give you credit for your homework.
-
Homework solutions may be submitted by groups of at most three students. Students are responsible for forming their own homework groups. Groups may be different for each numbered homework problem.
- For group solutions, exactly one member of each group submits the solutions to each problem.
- Whoever submits any group solution must also submit the names of the other group members via Gradescope. Gradescope will then automatically apply the grade for that submission to all group members. If this information is not entered correctly, the other group members' grades will be delayed or possibly lost entirely.
- If you discover that your name was omitted from a group homework submission, please submit a regrade request.
-
As error correction, each submitted homework solution should include the following information at the top of the first page.
- Your Gradescope name
- Your Gradescope email address
- The problem number (which is of the form "X.Y")
For group solutions, include the Gradescope name and email address of every group member.
- If you are typesetting your solutions with LaTeX, please use our solution template (see pdf).
Homework: How to write
- Write everything in your own words, and properly cite every outside source you use.
The only sources that you are not required to cite are the official course materials from this semester and sources for prerequisite material (which we assume you already know by heart). List everyone you worked with on each homework problem. Please read our academic integrity policy carefully.
- Your solutions will be judged not only for correctness but also
for clarity and style:
- Write legibly and sensibly. If we can't decipher your solution, we can't give you credit. If you have sloppy handwriting (or even if you do not), we highly recommend using LaTeX. You will lose points for poor spelling, grammar, punctuation, arithmetic, algebra, logic, and so on.
- Be precise.
We can only grade what you actually write, not what you mean. We will not attempt to read your mind. If your answer is ambiguous, we will deliberately choose the interpretation that makes it wrong.
- Be concise. Most homework problems can be answered completely in one or two typeset pages.
- Aim for simplicity and readability. You may lose points if your solution is overly complicated and difficult to follow. Don't submit actual code; describe algorithms using clean, human-readable pseudocode. Often, supplementing your pseudocode with explanation (in English) of the intuition or the main ideas may help make your solution easier to understand.
- Don't regurgitate. Don't explain binary search; just write "binary search". Don't write the pseudocode for Dijkstra's algorithm; just write "Dijkstra's algorithm". If your answer is similar to something we've seen in class, just say so and (carefully!) describe your changes. You will lose points for vomiting.
- Don't submit your first draft. Revise, revise, revise. After you figure out the solution, then think about the right way to present it, and only then start writing what you plan to submit. Yes, even on exams; do your initial scratch work on the back of the page.
- Whenever a homework or exam problem asks you to describe an algorithm, to get
full credit you should give not only a pseudocode description of your algorithm, but also justification of correctness (i.e., a proof whenever
correctness is not obvious), and analysis of the running time. If we do not specify
what running time to shoot for, faster algorithms would be worth more points.
Web page adapted from previous semesters.