Evaluation Criteria (Advanced Prog)
Below is a list of the criteria that will be used to grade your projects.
- quality:
- README: Presence and completeness of the README
- maven: Does the project compiles and run based on the
pom.xml
file only. - tests: Proportion of the code covered by the tests. Are the tests sensible, correct and well organized
- repository: Structure of the git repository (directories, gitignore, presence of undesired files)
- structure: Structure of the code into sensible and independent packages
- reliability: Thread safety and error handling
- style: Variable naming, indentation, comments, ...
- functionalities:
- discovery: Connection and contact discovery phase
- messaging: Peer2peer messaging
- interface: Is the interface functional, complete, ergonomic, beautiful
- db: Handling of the history of message
- extra: Placeholder for non-basic features (image, avatars, resend on connection, ...)
- report:
- structure: General structure and conciseness
- motivation: Presentation of the reasons behind the technical choices guidelines: Usage guidelines
- tests: Presentation of the testing campaign
For each criterion, you will be given a grade between A+ and D, with the following semantic:
- A: Mastered (what I was hoping for)
- B: Concepts appear to be reasonably assimilated, with progress still possible in their exploitation
- C: Clearly insufficient
- D: Absent or completely wrong
As much as possible, you will be given a comment for each of the grade. This is of course very time-consuming for us, so focus will be given on parts where you can leverage them (i.e. especially in the quality section).
The formula to compute the final grade will be kept secret, as it remains subject to adjustements (clue: it can be perfectly learned with a perceptron).
Note: this only covers the advanced programming part of the course. You will be given independent grades for the conception (UML) and project management parts.