Evaluation #
Evaluation for this course is based on:
- assignments: up to 30 points,
- a group project: up to 60 points, and
- an oral exam: up to 10 points.
Your final grade is the sum of the above, multiplied by 0.3.
Assignments #
There will be 7 or 8 assignments for this course. These are standard programming exercises, related to notions seen during the lectures. The labs are (mostly) dedicated to these assignments.
The assignments are individual (do not submit the code of another student).
The release of each assignment is announced via Teams.
Assignments are submitted via GitHub classroom. You can submit an assignment multiple times (but only before its deadline).
Note. In order to submit your assignments (and your project), you will need a GitHub account. If you do not have one already, please create one and communicate it to the lecturer, preferably via Teams. Make sure that you use a single GitHub account for all your assignments and your project.
Group project #
Guidelines for the content of the project are in the dedicated chapter. We focus here on organization and evaluation.
-
Each group must consist of 3 to 4 students. Groups should be decided by March 20, and communicated via mail or Teams to the lecturer.
-
Projects are delivered via GitHub.
-
The project’s code is expected to apply techniques seen during the lectures, but only if relevant. Please do not add artificial functionalities to your project for the sole purpose of illustrating a certain technique.
-
Grades for a project are awarded individually, based on each student’s contribution. Students are expected to work on different computers. Make sure that:
- each student uses a different (and only one) GitHub account, and
- each student commits (via git) his/her own code.
-
Among other evaluation criteria, we consider:
- quantity of work,
- non-trivial logic, appropriate data types and data structures,
- structure of the code (no code duplication, good usage of methods, classes, interfaces, inheritance, etc.)
- readability, documentation, naming,
- collaboration, integration with the rest of project,
- evidence of testing,
- etc.
Oral exam #
The oral exam is individual.
No revision is needed.
We will ask you questions about your code and/or involvement in the project.
For instance:
- which design choices you made,
- which difficulties you encountered,
- the expected behavior of a certain method,
- how some portions of the code may be improved,
- etc.
In particular, we will check whether you have a good understanding of the code that you submitted. If not, then your mark for the project may be reevaluated.