The core of the work in the course comes from multiple assignments. Some of them are intended for pairs of students (to facilitate discussion about design and to try working with someone else), while others have to be submitted individually. The final grade is mostly determined by the assignments and the course can be passed with flying colors solely on the basis of excellent work during the semester.

Individual tasks

The maximal amount of points from individual assignments is shown in the following table:

Task Points
T1: API design 10
T2: API presentation 5
T3: API design review 15
T4: Unit tests, CI 20
T5: Implementation 30
T6: Progress presentation 5
T7: Final review 15

 

Final grade

The final grade is determined by the percentage of points gained from all assignments as shown in the following table:

Percentage
 
Grade
≥ 87% 1
≥ 73% 2
≥ 60% 3
< 60% fail

 

Please keep in mind that NO assignments can be skipped (or submitted empty). You will be providing other teams with feedback for their design and tests for their code. Likewise, your team will be receiving tests and feedback from other students. Skipping assignments would be grossly unfair to other students.

Penalties

This section deals with the unpleasant side of things. It needs to be said, but the situations should be avoided.

Late submissions

The output of most tasks will be handed over to other students and there is not much time to spare between tasks. To keep the course running smoothly, it is important to submit your tasks on time and avoid late submissions.

The schedule is available on the web as an importable Google calendar. It is also a good practice to set (earlier) internal deadlines.

In case of late submission, the penalty is 20% of task maximum per each started day, with the task being awarded zero points if submitted later than 3 days. This does not prevent completion of the course, but the solution must not be considered null/trivial.

If you find yourself in some sort of complicated life situation, please get in touch with the course instructor as soon as possible to discuss options.

Unbalanced team effort

Team work should not be obviously unbalanced. If discovered, it may result in disbanding of the team and/or loss of points. Make sure that both team members commit to the repository.

Null/trivial submissions

Solutions that are empty or obviously trivial/zero-effort will be considered as attempts to game the system and will not be accepted, resulting in failing the course.