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

Week 8 [Fri, Mar 3rd] - Project


  1. Evaluate two peer iPs Sat, Mar 11th 2359


  1. Ensure you know tP expectations
  2. Start proper milestone management
  3. Add the first functionality increment


1 Evaluate two peer iPs Sat, Mar 11th 2359

This activity is worth 2x2=4 participation points.

  1. Wait for the email notifying you which iPs are allocated for you to evaluate. When the email is sent out, it will also be announced via module announcements.

  2. Download the latest JAR file of the first iP by following the link provided.

    FAQ: What if the student has not uploaded a JAR file, or the JAR file doesn't work at all?
    A: When you submit the evaluation (step 8 below), there will be a way to indicate that the JAR was not available, or any other serious issues you faced.

  3. Locate the User Guide of the app by following the link provided.

  4. Open the Canvas survey (the one named iP Peer Evaluation 1) that you will be using to submit your evaluation and take note of the things you need to evaluate.

  5. Run the jar file in the following manner:

    1. Put the jar file in an empty folder, to prevent data files created by other jar files you tested earlier from interfering with the current jar file.
    2. Run the java -version command to confirm you are using Java 11.
    3. Run the jar file using the java -jar {file_name} command (rather than double-clicking) in the same terminal.
  6. Do a light testing of the app (not more than 10 minutes) to ensure the claimed features actually exist.

  7. Do a quick examination of the code (~ 5 minutes) by following the provided link.

  8. Submit your evaluation using the survey.

  9. Repeat the above steps for the 2nd iP allocated to you (use the survey iP Peer Evaluation 2).

  10. Take note of the effort required for a typical iP: Now that you have seen two more iPs, you should now be in a better position to estimate how much you need to do for the tP (reason: the expected workload for the tP is that each team member puts in about one typical iP worth of effort).

tP: mid-v1.2


PR review comments matter! Remember to do proper PR reviews throughout the tP, at least for non-trivial changes, as the quality and quantity of PR review comments you have given to peers affect your tP marks (under the project management aspect).

1 Ensure you know tP expectations

  • If you haven't done so already, make sure you know individual and team expectations of the tP

2 Start proper milestone management

  • Set up the issue tracker as described in the panel below, if you haven't done so already.

  • Start proper schedule tracking and milestone management as explained in the panel below.

Try to achieve all milestone requirements, but do not fret if you miss a few. You will get full marks for this aspect as long as you achieve about 75% of the milestone requirements on average. Yes, that's a pretty low bar, but we have set it low in order to reduce workload and stress. Ideally, you should achieve 90-100%.

3 Add the first functionality increment

  • Add functionality in small steps, aiming to deliver the first working version of your product by the mid-milestone (i.e., in one week), and v1.2 at the end of this iteration (i.e., in two weeks).
    As mentioned in the last week, if you split the iteration into two smaller increments of one-week each (recommended), name the first one v1.2 and the second one v1.2b.

  • Push as hard as you can afford to in this iteration: While we have kept the expectations bar low for this iteration (so as not to overwhelm inexperienced programmers), you are encouraged to push as hard as you can in this iteration. Reason: past students have lamented not doing enough in v1.2 that left 'too much' to do in v1.3 and v1.4.
    That said, you should also play it safe by aiming to reach a smallest possible version in v1.2 before squeezing in more implementation work into v1.2b.

  • From this point onwards each member is expected to contribute code to each , preferably each week; only merged code is considered as contributions .

  • If you plan to rename the Java packages, you may want to do it around this time. Doing it later can be more difficult (e.g., it can cause more merge conflicts), and can cause problems in our code authorship tracking. Also note that renaming packages is optional.

  • Note: you are required to follow the forking workflow for at least for the first part of this iteration: