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

iP (Individual Project): OverviewiP: Week 3


iP: Week 2

  1. Learn about the project
  2. Set up prerequisites
  3. Set up the project in your computer
  4. Add Increments while committing frequently: Level-0, Level-1, Level-2, Level-3, Level-4, A-TextUiTesting, Level-5, Level-6, A-Enums Fri, Jan 26th 1600

The iP (and the tP) undergoes changes after each semester. As such, teething issues are a possibility. If you encounter any problem while doing the iP/tP, please post in the forum so that we can take necessary actions.

We discourage you from doing project tasks allocated to future weeks. Reasons: In order to help you gain (and also to better simulate real projects), we want the project work to be and span a longer period, rather than to be done as a short burst.

Reminder: as per iP grading criteria, some increments need to to be done in each week for you to get full marks. That is, clumping all the iP work into a short burst of work will not earn you full marks.

Please follow instructions carefully. Any deviations can cause our grading scripts to miss your work (and result in you not getting credit for the work).

Deadline:

Note the typical deadline weekly project tasks:

As per the above, you have until the next weekly briefing to finish this week's iP tasks, but if you fail to do so, we won't penalize you if you can catch up within one more week after that deadline.

1 Learn about the project

  • Read the following two sections, if you haven't done so already:

Admin iP - Overview


Admin iP - Grading


2 Set up prerequisites

  • Ensure you have followed the Preparation sections of the following course tools:

Admin Programming Language


3 Set up the project in your computer

Read through this week's topics before starting the project.
If you encounter technical problems while doing the iP, follow the guidelines given below:

Admin Appendix D: Getting Help


  1. Fork https://github.com/nus-cs2103-AY2324S2/ip, while noting the points below:
    Keep the fork name as ip or else our grading scripts will not be able to detect it. You can change the fork name to something else after the semester (and the grading) is over e.g., after receiving your grade for the course.
    Untick the [ ] Copy the master branch only option so that you get a copy of the full repo.
  2. Enable the issue tracker of your fork (Go to Settings of your fork, scroll to the Features section, and tick the Issues checkbox). Reason: at times we post feedback on your issue tracker.
    If the issue tracker is enabled, you should be able to visit the following URL https://github.com/{your_user_name}/ip/issues
    e.g., https://github.com/johnDoe/ip/issues
  3. Clone the fork onto your computer.
  4. Set up the project in your IDE as explained in the README file, if you plan to use an IDE for the project.

4 Add Increments while committing frequently: Level-0, Level-1, Level-2, Level-3, Level-4, A-TextUiTesting, Level-5, Level-6, A-Enums Fri, Jan 26th 1600

Implement the given below in the given order.

Keep in mind ...
  • From this point onward, commit code at important points. Minimally, commit after completing each increment.
    Remember not to commit .class files and any other file that should not be revision controlled.
  • From this point onward, after completing each increment,

  • Remember to take note of our plagiarism policies, if you haven't done so already:

iP feels like 'same same' ...?

As you do the iP, if you feel like you are not learning enough new stuff as you've done similar work before (at least on the Java/OOP side), there is an alternative approach you can take to the iP. See the panel below if you are interested.

Duke Level-0: Rename, Greet, Exit

Duke Level-1: Echo

Duke Level-2: Add, List

Duke Level-3: Mark as Done

Duke Level-4: ToDo, Event, Deadline

Duke A-TextUiTesting: Automated Text UI Testing

Duke Level-5: Handle Errors

Duke Level-6: Delete

Duke A-Enums: Use Enums if-applicable

FAQ about iP increments

Q. How are the iP git tags used in grading?


Q. What if I discovered a bug after I finished an increment?


Q. I did multiple increments in the same commit. How to fix?


Q. The requirements of an increment scheduled for this week is already satisfied by the work I did in an earlier week. What now?


Q. My iP increments are not detected by the dashboard because I forgot to push my tags earlier. What now?


Q. Oh no! I made a mistake in my tag/branch name.



iP (Individual Project): OverviewiP: Week 3