Total: 20 marks
Implementation [10 marks]: Requirements to get full marks:
- Achieve more than 90% of all deliverables by the end.
- Requirements marked as optional or if-applicable are not counted when calculating the percentage of deliverables.
 - When a requirement specifies a 
minimalversion of it, simply reaching that minimal version of the requirement is enough for it to be counted for grading -- however, we recommend you to go beyond the minimal; the farther you go, the more practice you will get. 
 - The code quality meets the following conditions:
- Reasonable use of OOP e.g., at least some use of inheritance, code divided into classes in a sensible way
 - No blatant violations of the coding standard (both Java and Git conventions)
 - At least some errors are handled using exceptions
 - At least half of public methods/classes have javadoc comments
 - The code is neat e.g., no chunks of commented out code
 - Reasonable use of SLAP e.g., no very-long methods or deeply nested code
 
 
Project Management [5 marks]: To get full marks, you should achieve,
- Submit some deliverables in at least 3 out of the 5 iP weeks (i.e., week 2 - week 6)
 - Follow other requirements specified (e.g., how to use Git/Github for each increment) in at least 4 weeks
 
Documentation [5 marks]: To get full marks, you should achieve the following.
- The user guide: not hard to read, covers all features, no major formatting errors in the published view.
 - The developer guide: Explains the design of the project using appropriate UML diagrams and descriptions.
 
You can monitor your iP progress (as detected by our scripts) in the iP Progress Dashboard page.