iP: Week 6iP: Week 8


iP: Week 7

  1. Add Increment: A-MoreOOP
  2. Add Increments as PRs: Level-8, Level-9, A-JavaDoc
  3. Set up a product website
  4. Submit the final version Fri, Mar 6th 2359

1 Add Increment: A-MoreOOP

  • As before, commit, tag, and push, after each increment.
Duke A-MoreOOP: Use More OOP

Why more OOP?


2 Add Increments as PRs: Level-8, Level-9, A-JavaDoc

Duke Level-8: Dates and Times optional

Duke Level-9: Find

Duke A-JavaDoc: JavaDoc

3 Set up a product website

  • Add a brief User Guide (UG)
Duke A-UserGuide: User Guide

4 Submit the final version Fri, Mar 6th 2359

  1. Double-check to confirm your iP meets the criteria for full marks, as given in the panel below.

Admin iP - Grading


  1. Create a new jar file

    • Create the JAR file in one of these ways:
      • If you have added a GUI or using third-party libraries: use Gradle.
      • Else: you can use IntelliJ.
    • The JAR file should be cross-platform and should work in a computer that has Java 17. To avoid version compatibility issues, we strongly recommend the following approach:
      1. Open a terminal window, and navigate to the root of your project folder.
      2. Run the java -version command to confirm the terminal is using Java 17.
      3. Run the ./gradlew clean shadowJar command to create the JAR file.
  2. Do the following smoke tests to ensure the jar file works (reason: a similar flow will be used when grading your iP).

    1. Copy the jar file to an empty folder and test it from there. This should surface issues with hard-coded file paths.
      When running the jar file for smoke testing, instead of double-clicking the jar file, do the following: open a terminal -> navigate to the jar location -> run the java -jar "JAR_FILE_NAME" command.
    2. Pass the jar file to team members and ask them to do a test drive. Assuming some of your team members' OS differ from yours, this should verify if the app is cross-platform.
      If you don't have ready access to a specific OS, you can ask others' help to smoke-test it by posting a smoke-testing request in the forum -- some of them will even appreciate the opportunity to help a classmate.
      Note that concepts you encounter while doing course project tasks (e.g., smoke testing) are in the scope of the final exam.
  3. Create a new release on GitHub (e.g., v0.2) and upload the JAR file.

    • Recommended to refrain from uploading multiple JAR files as this can cause extra work for the evaluators.
Duke A-Release: Release

FAQ How to get a deadline extension for the iP final submission?



iP: Week 6iP: Week 8