## Rules of the Game

 1. First of all, I am very sorry in case you lost.
 2. The seminar is worth 2 credits and there is no exam. Instead,
    you will collect points as we go and when you have 60 of those,
    you pass. There will be various ways to collect those points.
 3. Each week, there will be a simple homework (only slightly more
    complicated than the exercises in the seminar). Working it out
    and handing it in will get you 2-4 points. More about this
    later.
 4. In some weeks, your homework will be graded by one of the
    teachers, and you may get additional points (up to 6, exact
    amount depends on the homework, see the table below).
 5. You can also collect points for writing feedback (peer reviews)
    on your classmates' exercises. But only if you passed those
    exercises yourself! Each instance is worth 0.5 or 1 point, again
    depending on the homework.

The summary of obtainable points:

 • max 36 points for assignments,
 • max 30 points for teacher grades,
 • max 12 points for attendance (1 point per week),
 • max 12 points for activity (3 points per instance),
 • max 10 points for peer review,

for a total of 100 points that can be had (you need 60 to pass).

### Attendance

While attendance is not compulsory, the points you get for attending
should make it significantly easier to pass the course. In case you
cannot attend (e.g. due to illness), make sure to file the required
paperwork so that your absence is excused: in that case, work out 3
of the exercises (those found in ‹1.txt› through ‹4.txt›) from the
week you missed and show them to your tutor. That will earn you the
‘attendance’ point for that week. Alternatively, if you get better
mid-week, you can attend a different group – just be sure to confirm
with the tutor of that group beforehand.

### Homework

Each homework is a simple extension of what was done in the seminar.
You get 6 attempts at submitting each assignment, spread out across
2 weeks. The deadlines are at midnight on Monday, Wednesday and
Friday. It does not matter when you pass the assignment, only that
you do (but it pays to work early, giving you a lot more space to
correct mistakes or misunderstandings).  More details about the
assignments can be found in ‹homework.txt›.

The ‘pts’ column gives the points for a working solution + points
for the best possible review.

│    │ pts │ given │ try 1 │ try 2 │ try 3 │ try 4 │ try 5 │ try 6 │
├┄┄┄┄│◀┄┄┄▶┼┄┄┄┄┄┄▶│┄┄┄┄┄┄▶┤┄┄┄┄┄┄▶┤┄┄┄┄┄┄▶│┄┄┄┄┄┄▶┤┄┄┄┄┄┄▶┤┄┄┄┄┄┄▶┤
│ 01 │ 2+0 │ 18.2. │ 21.2. │ 23.2. │ 25.2. │ 28.2. │  2.3. │  4.3. │
│ 02 │ 2+3 │ 25.2. │ 28.2. │  2.3. │  4.3. │  7.3. │  9.3. │ 11.3. │
│ 03 │ 3+0 │  4.3. │  7.3. │  9.3. │ 11.3. │ 14.3. │ 16.3. │ 18.3. │
│ 04 │ 3+3 │ 11.3. │ 14.3. │ 16.3. │ 18.3. │ 21.3. │ 23.3. │ 25.3. │
│ 05 │ 3+6 │ 18.3. │ 21.3. │ 23.3. │ 25.3. │ 28.3. │ 30.3. │  1.4. │
│ 06 │ 3+6 │ 25.3. │ 28.3. │ 30.3. │  1.4. │  4.4. │  6.4. │  8.4. │
│ 07 │ 4+6 │  1.4. │  4.4. │  6.4. │  8.4. │ 11.4. │ 13.4. │ 15.4. │
│ 08 │ 4+0 │  8.4. │ 11.4. │ 13.4. │ 15.4. │ 18.4. │ 20.4. │ 22.4. │
│ 09 │ 3+0 │ 15.4. │ 18.4. │ 20.4. │ 22.4. │ 25.4. │ 27.4. │ 29.4. │
│ 10 │ 3+0 │ 22.4. │ 25.4. │ 27.4. │ 29.4. │  2.5. │  4.5. │  6.5. │
│ 11 │ 3+6 │ 29.4. │  2.5. │  4.5. │  6.5. │  9.5. │ 11.5. │ 13.5. │
│ 12 │ 3+0 │  6.5. │  9.5. │ 11.5. │ 13.5. │ 16.5. │ 18.5. │ 20.5. │

NB. The 3rd of June is the final deadline to collect the required
points: peer reviews will no longer be accepted after this date
either.

### Assignment Grading

Each teacher review will be graded on this scale:

 • A = no problems, nice and clean code – could be shown as a
   reference solution to other students (you get the full amount),
 • B = nice, with some minor problems (you get 2/3 of the maximum),
 • C = not great, not terrible – does not set an example, but the
   mistakes are not grave (you get 1/3),
 • D = this is bad, you made your reviewer very unhappy (and you
   don't get any points).

Unless you get an A, you will have one week to fix and resubmit your
code. Of course, the updated code must still pass the tests (which
continue to run on the standard Mon-Wed-Fri schedule). The grading
schedule is this:

│    │ pts │ given │ deadline │ review │ resubmit │
├┄┄┄┄┼┄┄┄┄┄┼┄┄┄┄┄┄▶┤┄┄┄┄┄┄┄┄┄▶┤┄┄┄┄┄┄┄▶┤┄┄┄┄┄┄┄┄┄▶┤
│ 02 │  3  │ 25.2. │    11.3. │  18.3. │    25.3. │
│ 04 │  3  │ 11.3. │    25.3. │   1.4. │     8.4. │
│ 05 │  6  │ 18.3. │     1.4. │   8.4. │    15.4. │
│ 06 │  6  │ 25.3. │     8.4. │  15.4. │    22.4. │
│ 07 │  6  │  1.4. │    15.4. │  22.4. │    29.4. │
│ 11 │  6  │ 29.4. │    13.5. │  20.5. │    27.5. │

### Plagiarism

Please work on your own. If you get caught cheating, you will fail
the course and you may have to explain yourself to the disciplinary
committee. You are also responsible for keeping your solutions
private. If you only use the ‹pb152› command on ‹aisa›, it will make
your ‹~/pb152› directory inaccessible to anyone else (this also
applies to school-provided UNIX workstations). Keep it that way. If
you work on your solution using other computers, make sure they are
secure. Do not publish your solutions anywhere (on the internet or
otherwise). It doesn't matter whether you copied someone else's work
or let them copy yours.

### Summary

 • collect 60 points by the 3rd of June.

That's the rules. We can now start with the seminar proper.

    $ cd ../01
    $ cat intro.txt
