This site is from a past semester! The current version is here.
CS2113/T Aug '19
  • Week 1 [Aug 12]
  • Week 2 [Aug 19]
  • Week 3 [Aug 26]
  • Week 4 [Sep 2]
  • Week 5 [Sep 9]
  • Week 6 [Sep 16]
  • Week 7 [Sep 30]
  • Week 8 [Oct 7]
  • Week 9 [Oct 14]
  • Week 10 [Oct 21]
  • Week 11 [Oct 28]
  • Week 12 [Nov 4]
  • Week 13 [Nov 11]
  • Textbook
  • Admin Info
  • Report Bugs
  • Slack
  • Forum
  • Project Info
  • Instructors
  • Announcements
  • File Submissions
  • Tutorial Schedule
  • Duke
  • Project Phase1 Dashboard
  • Java Coding Standard
  • samplerepo-things
  • Projects List
  • config.json templates for Reposense
  • PersonalAssistant-Duke
  • Project Phase2 Dashboard
  • Reference project - Addressbook
  • Repl.it classroom
  • Previous WeekNext Week

    Week 4 [Sep 2]

    Suggested tutorial activities

    Practice GitHub PR workflow


    Polymorphism

    Consider the two scenarios below:
    1. You are building the back-end software for an online library that loans e-magazines, music and movies. You decide to implement each of these items as classes. As you can expect, there are a few common aspects of loaning e-magazine, music or movies. Identify these common aspects (attributes and methods).

    2. You are working for a company that specialize in data persistence and storage for software. The current version of your library allows the users to store data in various formats. E.g., into a SQL database for warehousing and analysis, excel sheets for managers and csv files for ease of data transportation. Each part of the client software can use some aspects of your library. Your task is to provide a consistent view of the library features to the users.

    • In both the scenarios above, discuss with your peers what mechanism you would use to achieve the objective?
    • Explain your solution to your peers using a class diagram.

    Regression testing

    • Show to your tutor how you achieved regression testing of Duke.