iP serves mostly a formative role in this course i.e., it aims to ensure everyone has achieved a basic competency level that is a prerequisite to survive the tP (it does not aim to rank you based on strength 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.
Full marks for the iP is 15
.
- Meeting all the bars specified below you earn your iP full
15
marks. - Falling below any of the bars specified below will limit your iP score to 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 completed.
Requirements marked as optional or if-applicable are not counted when calculating the percentage of deliverables.
When a requirement specifies aminimal
version 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. - Has a GUI that is at least as good as the one reached by the JavaFx tutorial part 4 (i.e., no need to have features covered in part 5).
- No major bugs.
- Reasonable use of OOP e.g., at least some use of inheritance, code divided into classes in a sensible way (e.g.,
Ui
,Storage
,Parser
,Storage
,Todo
,Deadline
,Event
etc.). - At least half of 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 unit tested well using JUnit.
Project Management [2
marks]
- Submitted some deliverables in at least 4 out of the 5 iP weeks (i.e., week 2 - week 6)
- Followed other requirements specified (e.g., how to use Git/GitHub for each increment, do 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 subject. If you forgot to do this, add more commits with some small tweaks to the code until you satisfy this requirement, in order to satisfy this requirement (Reason: doing so will help you remember this convention better in the tP, hopefully).
You can monitor your iP progress (as detected by our scripts) in the iP Progress Dashboard page.