This site is from a past semester! The current version will be here when the new semester starts.
CS2103/T 2020 Aug-Dec
  • Full Timeline
  • Week 1 [Mon, Aug 10th]
  • Week 2 [Fri, Aug 14th]
  • Week 3 [Fri, Aug 21st]
  • Week 4 [Fri, Aug 28th]
  • Week 5 [Fri, Sep 4th]
  • Week 6 [Fri, Sep 11th]
  • Week 7 [Fri, Sep 18th]
  • Week 8 [Fri, Oct 2nd]
  • Week 9 [Fri, Oct 9th]
  • Week 10 [Fri, Oct 16th]
  • Week 11 [Fri, Oct 23rd]
  • Week 12 [Fri, Oct 30th]
  • Week 13 [Fri, Nov 6th]
  • Textbook
  • Admin Info
  • Dashboards
  •  Individual Project (iP):
  • Individual Project Info
  • iP Upstream Repo
  • iP Showcase
  • iP Code Dashboard
  • iP Progress Dashboard

  •  Team Project (tP):
  • Team Project Info
  • Addressbook-level3
  • Team List
  • tP Code Dashboard
  • tP Progress Dashboard
  • Report Bugs
  • Forum
  • Gitter (Chat)
  • Instructors
  • Announcements
  • Files
  • Tutorial Schedule
  • Java Coding Standard
  • Git Conventions
  • Forum Activities Dashboard
  • Participation Dashboard
  • Week 11 [Fri, Oct 23rd] - Tutorial

    0 Demo v1.3

    The tutor to confirm the following has been done.

    • [one member] As was done in v1.2,
      • Run your application using the JAR file that you released for v1.3.
      • Take screenshots of each available feature in action (or screen-record a demo -- need not be polished).
      • Add those screenshots (or upload the demo video somewhere and give the link) to your collaborative project notes document with an appropriate heading e.g., v1.3 features demo.

    You may release a newer version to be used for the PE dry run, but make sure it is released by Friday 10am.

    1 Exercise: Equivalence partitions, boundary values

    • Do the following exercise as directed by the tutor.
    1. What are the equivalence partitions for the parameter day of this method?

      /**
      * Returns true if the three values represent a valid day
      */
      boolean isValidDay(int year, int month, int day) {

      }
    2. What are the boundary values for the parameter day in the question above?

    3. Give 10 test inputs you would use for the parameter day in the question above.


    2 Exercise: Combining multiple test inputs

    • Do the following exercise similar to the previous one.

    Apply heuristics for combining multiple test inputs to improve the E&E of the following test cases, assuming all 6 values in the table need to be tested. Underlines indicate invalid values. Point out where the heuristics are contradicted and how to improve the test cases.

    SUT: consume(food, drink)

    Test case food drink
    TC1 bread water
    TC2 rice lava
    TC3 rock acid

    3 Exercise: Apply design pattern

    • Do the following exercise similar to the previous one.

    Suppose the Processor component of a software application is designed as follows:

    If you want to provide the ability for other components to get notified when a Job is finished running, without the Processor component becoming dependent on those other components,

    1. which design pattern would you use?
    2. modify the above design accordingly.

    4 Exercise: Patterns in the tP

    1. Does AB3 use the MVC pattern?
    2. Does AB3 use the Observer pattern?