tP: v3.0
Deadline for all v3.0 submissions is Sat, Nov 14th 2359 unless stated otherwise.
Penalty for late submission: Given that you are part-time students, we'll try to be as lenient as possible w.r.t. the late submission penalty but there will be no free deadline extensions, to be fair to those who submit on time.
Submit to LumiNUS folder we have set up, not to your project space.
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 freeze period.
Submissions:
To convert the UG/DG/PPP into PDF format, go to the generated page in your project's github.io 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.
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.
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 i.e., the responsibility for (and any penalty for problems in) team submissions are best shared by the whole team rather than burden one person with it.
The icon indicates individual submissions.
v3.0
.[team ID][product name].jar
e.g. [TIC4001-2][Contacts Plus].jarAdmin tP → Deliverables → Executable
@@author
annotations after the deadline will be considered a later submission). Note that the quality of the code attributed to you accounts for a significant component of your final score, graded individually.Admin tP → Deliverables → Source Code
[TEAM_ID][product Name]UG.pdf
e.g.[TIC4001-2][Contacts Plus]UG.pdfAdmin tP → Deliverables → User Guide
In UG/DG, using hierarchical section numbering and figure numbering is optional (reason: it's not easy to do in Markdown), but make sure it does not inconvenience the reader (e.g., use section/figure title and/or hyperlinks to point to the section/figure being referred to). Examples:
In the section Implementation given above ...
docs/UserGuide.md
file (for ease of tracking by grading scripts).Coming soon
.[TEAM_ID][product Name]DG.pdf
e.g. [TIC4001-2][Contacts Plus]DG.pdfAdmin tP → Deliverables → Developer Guide
docs/DeveloperGuide.md
file (for ease of tracking by grading scripts)..puml
files in the docs/diagrams
folder.AB3 uses PlantUML (see the guide Using PlantUML @SE-EDU/guides for more info).
You may use any other tool too (e.g., PowerPoint). But if you do, note the following:
Choose a diagramming tool that has some 'source' format that can be version-controlled using git and updated incrementally (reason: because diagrams need to evolve with the code that is already being version controlled using git). For example, if you use PowerPoint to draw diagrams, also commit the source PowerPoint files so that they can be reused when updating diagrams later.
Can i.e., automatically reverse engineered from the Java codeIDE-generated UML diagrams be used in project submissions? Not a good idea. Given are three reasons each of which can be reported by evaluators as 'bugs' in your diagrams, costing you marks:
0..1
vs 1
, composition vs aggregation*Command
classes using a placeholder XYZCommand
).ref
frames to break sequence diagrams to multiple diagrams.These class diagrams seem to have lot of member details, which can get outdated pretty quickly:
In this negative example, the text size in the diagram is much bigger than the text size used by the document:
It will look more 'polished' if the two text sizes match.
delete
command
[TEAM_ID][Your full Name as Given in LumiNUS]PPP.pdf
e.g.[TIC4001-2][Leow Wai Kit, John]PPP.pdf-
in place of /
if your name has it e.g., Ravi s/o Veegan
→ Ravi s-o Veegan
(reason: Windows does not allow /
in file names)github.io
Admin tP → Deliverables → Project Portfolio Page
At the end of the project each student is required to submit a Project Portfolio Page.
Team-tasks are the tasks that someone in the team has to do.
Examples of team-tasks
Here is a non-exhaustive list of team-tasks:
Keep in mind that evaluators will use the PPP to estimate your project effort. We recommend that you mention things that will earn you a fair score e.g., explain how deep the enhancement is, why it is complete, how hard it was to implement etc..
docs/team/githbub_username_in_lower_case.md
e.g., docs/team/goodcoder123.md
To convert the UG/DG/PPP into PDF format, go to the generated page in your project's github.io 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.
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.
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 i.e., the responsibility for (and any penalty for problems in) team submissions are best shared by the whole team rather than burden one person with it.
The icon indicates individual submissions.
Content | Recommended | Hard Limit |
---|---|---|
Overview + Summary of contributions | 0.5-1 | 2 |
[Optional] Contributions to the User Guide | 0.5 | |
[Optional] Contributions to the Developer Guide | 1.5 |
AboutUs.md
etc.) on GitHub. Ensure the website is auto-published.Admin tP → Deliverables → Product Website
When setting up your team repo, you would be configuring the GitHub Pages feature to publish your documentation as a website.
This deliverable is optional.
The purpose of the profile photo is for the reader to identify you. Therefore, choose a recent individual photo showing your face clearly (i.e., not too small) -- somewhat similar to a passport photo. Given below are some examples of good and bad profile photos.
If you are uncomfortable posting your photo due to security reasons, you can post a lower resolution image so that it is hard for someone to misuse that image for fraudulent purposes. If you are concerned about privacy, you may use a placeholder image in place of the photo in module-related documents that are publicly visible.
Admin tP → Deliverables → Demo
[TEAM_ID][product Name].mp4
e.g.[TIC4001-2][Contacts Plus].mp4 (other video formats are acceptable but use a format that works on all major OS'es).Here is an example:
Hi, welcome to the demo of our product FooBar. It is a product to ensure the user takes
frequent standing-breaks while working.
It is for someone who works at a PC, prefers typing, and wants to avoid prolonged periods
of sitting.
The user first sets the parameters such as frequency and targets, and then enters a
command to record the start of the sitting time, ... The app shows the length of the
sitting periods, and alerts the user if ...
...
Mr aaa
is not a realistic person namerealistic demo data. e.g at least 20 data items. Trying to demo a product using just 1-2 sample data creates a bad impression.