Skip to content

Assignments

There will be 10 homework assignments. We drop 2 homework grades, meaning you can miss 2 homework assignments without any penalty to your grade. These drops are intended to cover illness, emergencies, or any other personal circumstances that may prevent you from being able to complete homework assignments. We do not track excuses for homework assignments, and we do not provide additional drops.

You must type all solutions – we will not accept handwritten solutions. Grades will be deducted for formatting that makes it difficult to read your submissions. You will submit on Gradescope, which will also be linked/integrated into Canvas.

If you work with a partner then you should submit one document on Gradescope and use the group submission feature. Do not submit separate submissions of the same work or it may be flagged as plagiarism. For the sake of your learning, we encourage you to consider working fully collaboratively and ensure that you individually understand all parts of every problem, rather than splitting up the problems. The latter approach will reduce your opportunities to practice and learn and may result in your not being fully prepared for exams.

Problem Types

Homework will be lightly graded; homework is intended to be practice. Problems are one of three types as described below. The lowest problem will be dropped from every homework, meaning you can skip one problem per assignment without penalty to your grade (though we encourage you to try all for practice).

  • Theory problems Typically ask you to design and/or analyze algorithms using a combination of precise English descriptions, pseudocode, and mathematics. Each theory problem will be graded at the problem or subproblem level on the following scale:
    • S: Satisfactory. 100% credit. Represents a significant effort using appropriate techniques and analysis demonstrating the important ideas. May have some errors in cases or could be more precise or clarified in places.
    • U: Unsatisfactory. 67% credit. Misses the important ideas of the solution, but represents a significant attempt using appropriate techniques and analysis. For example, a slower brute force, or a solution that is essentially incorrect but represents a good attempt.
    • I: Incomplete. 33% credit. Some nontrivial attempt but not significant or complete.
    • N: No Attempt. 0% credit.
  • Applied problems generally ask you to design and/or implement algorithms in real code, benchmarking or experimenting with them empirically. We support the Python and Java programming languages.
    • Most applied problems have an autograder on Gradescope and the problem will describe how to submit. For these, you will be able to submit as often as you like up to the deadline, and will see your full score. Part of the score is for correctness, part is for efficiency.
    • Some applied problems may instead ask you to conduct experiments and report your results and implementation. Such problems will be graded on the same above theory scale.

Lateness

Assignments turned in on time will earn 3 out of 100 total points for being on time. Assignments will be accepted late for 72 hours, earning 2 timing points for the first 24 hours, 1 timing point for 24-48 hours, and no timing points for 48-72 hours. We do not provide exceptions to the minor late penalty, nor do we provide extensions beyond the 72 hour late penalty. If you will not be able to complete the homework within the late period, remember that 2 will be dropped.

Assignment Grading in Detail

Each assignment has 3 points for timeliness and the remaining 97 from the problems. You will be able to see individual problem grades on Gradescope, but you will only see the overall assignment grade after the drop, timeliness points, and averaging on the Canvas Gradebook. This score is calculated as follows.

  1. For an applied problem, your score will be the better of your Python or Java autograder score (as a percentage) on Gradescope. For a theory problem, it is as scored on Gradescope (as a percentage). If a problem has subproblems, the weighted average percentage of subproblems is taken for the overall problem.
  2. The lowest scored problem is dropped for the assignment.
  3. The resulting scores are averaged and you get this percentage of the 97 points from problems.

For example:

  • Suppose a given assignment has two theory problems and one applied problem. Suppose you turn in the assignment 3 hours late and have scores of 100%, 67%, and 80% percent on the three problems respectively.
  • Then you get 2 points for timeliness. Dropping the lowest score of 67%, the average of the remaining two problems is 90%, so you get 87.3 = 90% of the 97 points for problems.
  • The final grade should be 2 + 87.3 = 89.3.