This site is from a past semester! The current version will be here when the new semester starts.

Week 13 [Fri, Apr 7th] - Project

tP: v1.4

  1. Do final polish-ups
  2. Submit deliverables Mon, Apr 10th 2359
  3. Wrap up the milestone Wed, Apr 12th 2359
  4. Submit the demo video Wed, Apr 12th 2359
  5. Prepare for the practical exam
  6. Attend the practical exam during the lecture on Fri, Apr 14th
  7. [if needed] Attend the makeup practical exam Sun, Apr 16th 1400-1600

tP: v1.4

1 Do final polish-ups

  • Continue with any remaining bug fixing and test/code-quality/documentation improvements.

2 Submit deliverables Mon, Apr 10th 2359

  • Deadline for all v1.4 submissions is Mon, Apr 10th 23:59:00 unless stated otherwise. Note that 23:59:01 is considered late, as per the Canvas deadline mechanism.
  • Penalty for late submission:
    -1 mark for missing the deadline (up to 2 hour of delay).
    -2 for an extended delay (up to 24 hours late).
    Penalty for delays beyond 24 hours is determined on a case by case basis.
    • Even a one-second delay is considered late, irrespective of the reason.
    • For submissions done via Canvas, the submission time is the timestamp shown by Canvas.
    • When determining the late submission penalty, we take the latest submission even if the same exact file was submitted earlier. Do not submit the same file multiple times if you want to avoid unnecessary late submission penalties.
    • The whole team is penalized for problems in team submissions e.g., a -1 penalty for a team submission will be a -1 penalty for each team member.
      Only the respective student is penalized for problems in individual submissions.
  • Submit via the Canvas assignment we have set up. cs2103T students: documents should be submitted to both modules. It's not enough to submit to CS2101 side only.
  • Follow submission instructions closely. Any non-compliance will be penalized. e.g. wrong file name/format.
  • Do not update the code during the 14 days after the deadline. Get our permission first if you need to update the code in the repo during that code-freeze period.
    • You can update issues/milestones/PRs even during the code-freeze period.
    • [CS2103T only] You can update the source code of the docs (but not functional/test code) if your CS2101 submission deadline is later than our submission deadline. However, a code-freeze period of 1-2 days is still recommended, so that there is a clear gap between the tP submission and subsequent docs updates.
    • You can update the code during the code-freeze period if the change is related to a late submission approved by us.
    • You can continue to evolve your repo after the code-freeze period.


Don't take PDF conversion lightly: To convert the UG/DG/PPP into PDF format, go to the generated page in your project's site and use this technique to save as a pdf file. Using other techniques can result in poor quality resolution (will be considered a bug) and unnecessarily large files.

The PDF versions of the UG/DG/PPP should be usable by the target readers, even if not as neat/optimized as the Web versions. For example, margins and page breaks need not be optimized but they should not hinder the reader either. Assume some will occasionally choose the PDF version over the Web version e.g, for printing, offline viewing, annotating etc.

PE uses the PDF versions of UG/DG, not the Web version! Any problems in those PDF files (e.g., broken links, messed up formatting) can be reported as bugs.

Ensure hyperlinks in the pdf files work. Your UG/DG/PPP will be evaluated using PDF files during the PE. Broken/non-working hyperlinks in the PDF files will be considered as bugs and will count against your project score. Again, use the conversion technique given above to ensure links in the PDF files work.

Try the PDF conversion early. If you do it at the last minute, you may not have time to fix any problems in the generated PDF files (such problems are more common than you think).

Side benefits for early submissions: Given that using buffers to reduce the risk of deadline overruns is a learning outcome of this module, we strongly encourage setting an internal submission deadline a few hours earlier than the actual deadline. As an incentive, we plan to perform some checks on early submissions and inform you if we found issues with your submission (e.g., incorrect file name/format), thus giving you a chance to fix them before the deadline and avoid a penalty for it.

The icon indicates team submissions. Only one person need to submit on behalf of the team but we recommend that others help verify the submission is in order
We will not entertain requests to limit late penalties of team submissions to one person even if the delay was one person's fault. That is, the responsibility (and the penalty) for team submissions are to be shared by the whole team rather than burden one person with it.

  • Product:
    • Do a release on GitHub, tagged appropriately e.g., v1.4 or v1.4b.
    • Upload the jar file to Canvas.
      File name: [team ID][ProductName].jar e.g. [CS2103-T09-2][ContactsPlus].jar
      Recommended to avoid spaces and special characters in the product name as it can cause problems when running the JAR file using the command line.
      This name requirement is for the JAR file you upload to Canvas only. You may name the JAR file you upload to GitHub in any reasonable way.

  • Source Code: Push the code to GitHub and tag with the version number. Source code (please ensure the code reported by RepoSense as yours is correct; any updates to RepoSense config files or @@author annotations after the deadline will be considered a late submission). Note that the quality of the code attributed to you accounts for a significant component of your final score, graded individually.

  • User Guide: Convert to pdf and upload to Canvas.
    File name: [TEAM_ID][ProductName]UG.pdf e.g.[CS2103-T09-2][ContactsPlus]UG.pdf

  • Developer Guide: submission is similar to the UG
    File name: [TEAM_ID][ProductName]DG.pdf e.g. [CS2103-T09-2][ContactsPlus]DG.pdf

  • Project Portfolio Page (PPP):
    • PDF file: submission is similar to the UG
      File name: [TEAM_ID][Your full Name as Given in Canvas]PPP.pdf e.g.[CS2103-T09-2][Leow Wai Kit, John]PPP.pdf
      Use - in place of / if your name has it e.g., Ravi s/o VeeganRavi s-o Veegan (reason: Windows does not allow / in file names)
    • HTML version: make available on

  • Product Website: Update website (home page,Ui.png, etc.) on GitHub. Ensure the website is auto-published.

3 Wrap up the milestone Wed, Apr 12th 2359

  • As usual, wrap up the milestone on GitHub i.e., close issues/PRs/milestone (no code changes allowed). Note that the deadline for this is the same for everyone (i.e., does not depend on your tutorial).

4 Submit the demo video Wed, Apr 12th 2359

5 Prepare for the practical exam

  • After reading the above 2, we strongly recommend you read ahead the info given in the item 6 below as well, to know in advance what will happen during the PE itself.

6 Attend the practical exam during the lecture on Fri, Apr 14th

  • Ensure you read the instructions on PE Preparation (given in item 5 above)
  • Attend the practical test, to be done during the lecture.

7 [if needed] Attend the makeup practical exam Sun, Apr 16th 1400-1600

  • In the very unlikely event that the PE had to be cancelled due to technical issues, attend the makeup PE on this day.
  • Note: This is not an alternative option for students who could not attend the PE, as all students need to do the PE at the same time.