iP plays mostly a formative role in this course, i.e., it aims to ensure everyone has achieved the basic competency level needed for the tP (it does not aim to rank you based on programming ability or differentiate strong programmers from the rest). Hence, it is graded somewhat like an S/U component and almost everyone is expected to receive full marks for the iP.
The iP is worth 15 marks.
- If you meet all the bars specified below, you earn the full
15marks for your iP. - If you fall below any of the bars specified below, your iP score will be less than half the marks.
That is, you either get full marks or less than half the marks.
Implementation [10 marks]
- More than 90% of all deliverables have been completed in the final version of the iP submitted.
Requirements marked as optional or if-applicable are not counted when calculating the percentage of deliverables.
When a requirement specifies aminimalversion, reaching that minimal version is enough for it to be counted for grading. However, we recommend you go beyond the minimal version; the farther you go, the more practice you will get. - Has a GUI that is at least as good as the one reached by part 4 of the JavaFX tutorial (i.e., features covered in part 5 are not required) and .
- No major bugs.
- Reasonable use of OOP, e.g., at least some use of inheritance, with code divided into classes in a sensible way (e.g.,
Ui,Storage,Parser,Todo,Deadline,Event, etc.). - At least half of the public methods/classes have Javadoc comments.
- Reasonable code quality:
- No blatant violations of the coding standard (both Java and Git conventions).
- 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.
- At least some errors are handled using exceptions.
- At least two methods have good unit tests using JUnit.
Project Management [2 marks]
- Submitted some deliverables in at least 4 out of the 5 iP weeks (i.e., week 2 to week 6)
- Followed the other specified requirements (e.g., using Git/GitHub for each increment and doing peer reviews) in at least 4 weeks
To qualify for full marks, your last 5 iP commits need to comply with our convention for Git commit message subjects (i.e., your Git Standard tag is green). If this item is not green for you, add more commits containing small code tweaks until you satisfy this requirement instead of modifying past commit messages (which requires force-pushing). (Reason: this will hopefully help you remember the convention better in the tP).
Grading is mostly based on a manual check of your final submission. Automated checks done along the way mainly help you self-monitor your progress.
You can track your iP progress (as detected by our scripts) on the iP Progress Dashboard page.