Evaluation of the course will be done in two parts. The first part tests your understanding of the conceptual aspects of the course and is graded by compulsory written assignments and an optional comprehensive exam. The optional exam is only for those students who fail to obtain at least 50% of the points in the written assignments. The second part evaluates how well you apply the concepts learned during the course when developing systems. This part will be graded by compulsory programming projects.

There is only one final course grade that is obtained by combining the scores from both parts of the evaluation in the following way.

Final_score = (written_assignments_points + project_points) / 2

The score for each part is calculated by adding the scores of each individual assignment/project.

Written assignments, total points = 100

Programming projects, total points = 100

You must obtain at least 50 points on each part of the evaluation to pass the course. For the practical part of the course, you must attempt all three projects and score at least 50 points. For the written assignments, in case that you don't obtain at least 50 points, you have the chance to take a comprehensive exam to make up for those points. This exam is only for those students who fail to reach 50 points on the written assignments. Students who do not pass the comprehensive optional exam, may take a second or third comprehensive test on the stipulated dates. A student who has passed an examination may not be re-examined.

The final grade is calculated using the following table.

Number of points Grade
Final_score ≥ 80 5
65 ≤ Final_score < 80 4
50 ≤ Final_score < 65 3
Final_score < 50 U (Fail)