This site is from a past semester! The current version will be here when the new semester starts.
CS2103/T 2020 Jan-Apr
  • Full Timeline
  • Week 1 [Jan 13]
  • Week 2 [Jan 20]
  • Week 3 [Jan 27]
  • Week 4 [Feb 3]
  • Week 5 [Feb 10]
  • Week 6 [Feb 17]
  • Week 7 [Mar 2]
  • Week 8 [Mar 9]
  • Week 9 [Mar 16]
  • Week 10 [Mar 23]
  • Week 11 [Mar 30]
  • Week 12 [Apr 6]
  • Week 13 [Apr 13]
  • Textbook
  • Admin Info
  • Report Bugs
  • Forum
  • Instructors
  • Announcements
  • File Submissions
  • Tutorial Schedule
  • Java Coding Standard
  • Participation Marks List

  •  Individual Project (iP):
  • Individual Project Info
  • Duke Upstream Repo
  • iP Code Dashboard
  • iP Showcase

  •  Team Project (tP):
  • Team Project Info
  • Team IDs
  • Addressbook-level3
  • Addressbook-level 1,2,4
  • tP Code Dashboard
  • tP Showcase
  • Week 10 [Mar 23] - Summary

    • [W10.1] Design Patterns

    • [W10.2] Defensive Programming

    • [W10.3] Test Cases: Intro

    • [W10.4] Test Cases: Equivalence Partitioning

    • [W10.5] Test Cases: Boundary Value Analysis

    • [W10.1] Design Patterns

       Introduction

    • [W10.1a] Design → Design Patterns → Introduction → What

    • [W10.1b] Design → Design Patterns → Introduction → Format

       Singleton pattern

    • [W10.1c] Design → Design Patterns → Singleton → What

    • [W10.1d] Design → Design Patterns → Singleton → Implementation

    • [W10.1e] Design → Design Patterns → Singleton → Evaluation

       Facade pattern

    • [W10.1f] Design → Design Patterns → Facade Pattern → What

       Command pattern

    • [W10.1g] Design → Design Patterns → Command Pattern → What

       Abstraction Occurrence pattern

    • [W10.1h] Design → Design Patterns → Abstraction Occurrence Pattern → What : OPTIONAL

    • [W10.2] Defensive Programming
    • [W10.2a] Implementation → Error Handling → Defensive Programming → What

    • [W10.2b] Implementation → Error Handling → Defensive Programming → Enforcing Compulsory Associations

    • [W10.2c] Implementation → Error Handling → Defensive Programming → Enforcing 1-to-1 Associations : OPTIONAL

    • [W10.2d] Implementation → Error Handling → Defensive Programming → Enforcing Referential Integrity : OPTIONAL

    • [W10.2e] Implementation → Error Handling → Defensive Programming → When

    • [W10.2f] Implementation → Error Handling → Design by Contract → Design by Contract : OPTIONAL

    • [W10.3] Test Cases: Intro
    • [W10.3a] Quality Assurance → Test Case Design → Introduction → What

    • [W10.3b] Quality Assurance → Test Case Design → Introduction → Positive vs Negative Test Cases

    • [W10.3c] Quality Assurance → Test Case Design → Introduction → Black Box vs Glass Box

    • [W10.3d] Quality Assurance → Test Case Design → Testing Based on Use Cases

    • [W10.4] Test Cases: Equivalence Partitioning
    • [W10.4a] Quality Assurance → Test Case Design → Equivalence Partitions → What

    • [W10.4b] Quality Assurance → Test Case Design → Equivalence Partitions → Basic

    • [W10.4c] Quality Assurance → Test Case Design → Equivalence Partitions → Intermediate

    • [W10.5] Test Cases: Boundary Value Analysis
    • [W10.5a] Quality Assurance → Test Case Design → Boundary Value Analysis → What

    • [W10.5b] Quality Assurance → Test Case Design → Boundary Value Analysis → How

    Admin:

    1. Submit post-lecture quiz

    tP:

    1. Start on the full version of the new features
    2. Update DG with design details IMPORTANT
    3. Do a release
    4. Make the code RepoSense-compatible