Grading#

Computer Networks applies social gamification and computes your course grade differently than courses that follow a traditional design.

Your final grade is equal to \( f(p) = \min\left(10,\ g\left(\frac{p}{1000}\right)\right) \), where \(p\) is your total number of points, and

$$ g(y) = \begin{cases} \dfrac{\lfloor 2y + 0.5 \rfloor}{2} & \text{if } y \notin (5, 6) \\\\ \lfloor y + 0.5 \rfloor & \text{if } y \in (5, 6) \end{cases} $$

We expect students to focus on the learning experience and not on maximizing the points obtained during the course. Points come naturally with gaining knowledge and understanding the course material. The grading philosophy of this course reflects this expectation: students receive points not only for regular (pre-defined) activities, but also for exceptional, additional work. In short, we reward exceptional academic behavior.

The total number of points, \(P\), you can earn in Computer Networks far exceeds 10,000. If you obtain a grade higher than 10, we (unfortunately) round it down to 10. This has two important implications:

  1. You can experiment: participating in optional assignments cannot lower your final grade. It can only increase it.
  2. Obtaining a 10 requires excellence, not perfection. You can make mistakes or not participate in some parts of the course and still obtain a 10/10 score.

Final Grade Calculation#

To pass the course, students must meet the following conditions:

  1. Obtain a minimum of 5,500 points across the different course components.
  2. Pass the mandatory lab assignments and have them approved by a teacher assistant during the lab sessions before your designated deadline.
  3. Answer correctly at least 13 questions (>50%) on the exam.

You can use the code below to check if you meet the passing criteria and to compute your final grade:

def final_grade(
    points: int,  # Your total number of points
    passed_lab_a1: bool,  # Did you pass lab assignment A1?
    passed_lab_a2: bool,  # Did you pass lab assignment A2?
    correct_exam_a1: int,  # Number of questions correct on exam A1 (the midterm)
    correct_exam_a2: int,  # Number of questions correct on exam A2 (part A of the final exam)
    correct_exam_a3: int,  # Number of questions correct on exam A3 (part A of the resit)
    correct_exam_b1: int,  # Number of questions correct on exam B1 (part B of the final exam)
    correct_exam_b2: int,  # Number of questions correct on exam B2 (part B of the resit)
    did_final_exam: bool,  # Did you participate in the final exam?
    did_resit: bool,  # Did you participate in the resit?
) -> float | str:
    # If you do not participate in the final exam nor in the resit,
    # we register a "no show" (NS)
    if not did_final_exam and not did_resit:
        return "NS"

    passed_lab = passed_lab_a1 and passed_lab_a2

    correct_exam_a = max(correct_exam_a1, correct_exam_a2, correct_exam_a3)
    correct_exam_b = max(correct_exam_b1, correct_exam_b2)
    correct_exam = correct_exam_a + correct_exam_b

    # If you do not pass the mandatory lab assignments
    # or you do not pass the exam,
    # your grade is set to "niet voldaan" (NVD),
    # in English: requirements not met
    if not passed_lab or correct_exam < 13:
        return "NVD"

    # Your grade is calculated by dividing your points by 1000
    unrounded_grade = points / 1000

    # If your grade is between 5 and 6,
    # it gets rounded to the nearest integer
    if 5 < unrounded_grade < 6:
        unrounded_grade = round(unrounded_grade)

    # Your grade gets rounded to the nearest multiple of 0.5
    multiple = 0.5
    grade = round(unrounded_grade / multiple) * multiple

    return grade

Lecture Point Rewards#

You can earn up to approximately 1000 points by attending and participating in the lectures. The exact maximum depends on the number and length of the quizzes we will do.

In-Class Activity#

The lecturer typically asks the audience a handful of questions during each lecture. If you give a good answer, the lecturer will tell you so, and you can collect 50 in-class activity points at the end of the lecture. You can also earn such points by asking a good question about the content. You cannot earn more than 50 points per session.

Quizzes#

We occasionally do a quiz during the lecture. These quizzes take place after the content has been discussed during the lectures, but before you practiced with the material during the tutorial. Therefore, we expect that you will struggle with most of these quizzes. However, if you get a score that is lower than expected, it is a clear sign that you need to pay extra attention during the tutorial that covers the material.

The quizzes take approximately 10 to 15 minutes and can earn you up to approximately 100 points. These are pen and paper quizzes: no calculators, LLMs, notes, or other help allowed.

Lab Point Rewards#

You can earn up to 4200 points in the labs. You may earn additional points by submitting exceptional solutions to the optional lab assignments.

You are rewarded 500 points for completing the mandatory lab assignments and having (both of) them approved by a teaching assistant before the deadline. Completing both mandatory lab assignments in the first week of the course (April 7th & 10th for the Tuesday and Friday registrations respectively) will earn you an additional 150 points.

You can earn up to 1000 additional points by completing optional lab assignments, totalling 3700 available extra points. The optional lab assignments are designed to encourage you to explore the course material in depth and to apply your knowledge to solve challenging problems. The rewarded points are directly proportional to the difficulty of the assignment. Exceptional solutions to the optional lab assignments may earn you additional points, up to a maximum of 200 points per assignment.

Tutorial Point Rewards#

You can earn up to approximately 800 points by attending and participating in the tutorials. The exact maximum depends on the number and length of the quizzes we will do.

In addition to the lectures quizzes, we also frequently do a quiz at the end of the tutorial. Because these quizzes take place after the content has been discussed during the lectures and after you practiced with the material during the tutorial, we expect that, overall, you will do well in these quizzes. If you get a score that is lower than expected, it is a clear sign that you need to practice more with the material.

The quizzes take approximately 10 to 15 minutes and are graded for up to approximately 200 points. These are pen and paper quizzes: no calculators, LLMs, notes, or other help allowed.

Self-Study Point Rewards#

You can earn up to 1500 points with the self-study.

You can earn up to 300 points per completed chapter. We award points based on the number of correctly solved exercises (calculation steps and final answer) and the structure and overall quality of your report. Poor quality submissions or exercises without calculation steps are unlikely to receive any points. See Self-Study Report and Practices for Good Document Quality for more information.

Exam Point Rewards#

You can earn up to 7500 points with the exams.

Exam Parts A and B consist of 10 and 15 questions respectively. Every question is worth 300 points, for a total of 7500 points.

To compute your final grade, we add your maximum number of correct questions across the three attempts for part A (midterm, final, and resit) to your maximum number of correct questions across the two attempts for part B (final and resit). This means, among other things, that you can redo the midterm during the final, and that your midterm only counts if it improves your score.