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

Summary of the Module Timeline


Week 1 - Mon, Jan 10th

Topics:

  • [W1.1] OOP: Classes & Objects

  • [W1.2] OOP Inheritance

  • [W1.3] OOP: Polymorphism

  • [W1.4] Java: Collections

  • [W1.5] Exception Handling

Full ToC


Admin:

  1. Submit pre-lecture quiz Mon, Jan 17th 2359 counted for participation
  2. Set up the tools before the lecture
  3. Submit the pre-module survey Fri, Jan 14th 2359 counted for participation
  4. Learn about the module
  5. Attend the first lecture

Week 2 - Fri, Jan 14th

Topics:

  • [W2.2] SDLC Process Models: Basics

  • [W2.3] RCS: Revision History

  • [W2.4] RCS: Remote Repos

  • [W2.5] IDEs: Basic Features

  • [W2.6] Automated Testing of Text UIs

Full ToC


Admin:

  1. Submit post-lecture quiz Fri, Jan 21st 12 noon counted for participation
  2. Get connected to our communication channels

iP:

  1. Learn about the project
  2. Set up prerequisites
  3. Set up the project in your computer
  4. Add Increments while committing frequently: Level-1, Level-2, Level-3, Level-4, A-TextUiTesting, Level-5, Level-6, A-Enums Thu, Jan 20th 2359

Week 3 - Fri, Jan 21st

Topics:

  • [W3.1] RCS: Branching

  • [W3.2] RCS: Creating Pull Requests

  • [W3.3] Java

  • [W3.4] Code Quality: Coding Standards

  • [W3.5] Developer Testing

  • [W3.6] Unit Testing

Full ToC


Admin:

  1. Submit post-lecture quiz counted for participation
  2. [CS2103 students only] Form teams during the tutorial

iP:

  1. Do any leftover iP tasks from the previous week
  2. Create a PR to the upstream repo
  3. Add Increments as parallel branches: Level-7, Level-8
  4. Add Increments: A-MoreOOP, A-Packages, A-JUnit, A-Jar
  5. Add Increments as parallel branches: A-JavaDoc, A-CodingStandard, Level-9

tP:

  1. Get familiar with AB3 features
  2. Set up a project meeting time by the end of the tutorial

Week 4 - Fri, Jan 28th

Topics:

  • [W4.1] Design: Models

  • [W4.2] Class/Object Diagrams: Basics

  • [W4.3] Class Diagrams: Intermediate-Level

  • [W4.4] Java: JavaFX

  • [W4.5] Java: varargs

  • [W4.6] Code Quality: Naming

  • [W4.7] Static Analysis

  • [W4.8] Code reviews

  • [W4.9] RCS: Managing Pull Requests I

  • [W4.10] Automating the Build Process

Full ToC


Admin:

  1. Accept GitHub invitation from the module organization counted for participation
  2. Submit post-lecture quiz counted for participation

iP:

  1. Use GFMD in the PR description
  2. Review some peer PRs counted for participation
  3. Learn from others (optional)
  4. Add Increments as branches: A-Gradle, A-CheckStyle, Level-10, A-Varargs

tP:

  1. Start weekly project meetings
  2. Start a collaborative doc to take project notes before the tutorial
  3. Decide on an overall project direction (user profile, problem addressed) before the tutorial

Week 5 - Fri, Feb 4th

Topics:

  • [W5.1] Requirements: Intro

  • [W5.2] Requirements: Gathering

  • [W5.3] Requirements: Specifying

  • [W5.8] RCS: Managing Pull Requests II

Full ToC


Admin:

  1. Submit post-lecture quiz counted for participation
  2. [optional] Submit mid-term feedback for the module Sat, Feb 12th 2359
  3. Practice peer evaluation on TEAMMATES Thu, Feb 10th 2359 counted for participation

iP:

  1. Generate a new JAR file
  2. Write some full commit messages
  3. Add Increments as PRs: A-Assertions, A-CodeQuality, A-Streams
  4. Add Increment: A-CI
  5. Add an extension

tP:

  1. Brainstorm user stories before the tutorial
  2. Choose user stories for v1.2 before/during the tutorial

Week 6 - Fri, Feb 11th

Topics:

  • [W6.1] Modeling: Sequence Diagrams

  • [W6.2] Architecture Diagrams

  • [W6.3] IDEs: Intermediate Features

  • [W6.4] Logging

Full ToC


Admin:

  1. Submit post-lecture quiz counted for participation

iP:

  1. Add Increment: A-BetterGui
  2. Finalize the features
  3. Set up a product website
  4. Submit the final version Fri, Feb 18th 2359

tP:

  1. Conceptualize v1.2
  2. Draft the UG
  3. Refine the product design
  4. Set up the project repo
  5. Get familiar with the code base

Week 7 - Fri, Feb 18th

Topics:

  • [W7.1] Requirements: Use Cases

  • [W7.2] Design: High-Level View

  • [W7.3] Design: Fundamentals

  • [W7.4] IDEs: Advanced Features : OPTIONAL

  • [W7.5] Integration Approaches

  • [W7.6] Project Mgt: Scheduling and Tracking

  • [W7.7] Project Mgt: Workflows

Full ToC


Admin:

  1. Submit post-lecture quiz counted for participation

iP:

  1. [Optional] Get more out of the iP

tP: v1.1

  1. Do a practice iteration midnight before the tutorial
  2. Update project website: AboutUs, README
  3. Update the UG
  4. Add a skeletal PPP
  5. Update the DG: user stories, glossary, NFRs, use cases
  6. Plan the next iteration
  7. Start implementing the next version

Week 8 - Fri, Mar 4th

Topics:

  • [W8.1] [Revisiting] Drawing Class/Object Diagrams - Basics

  • [W8.2] [Revisiting] Drawing Class/Object Diagrams - Intermediate

  • [W8.3] [Revisiting] Drawing Sequence Diagrams

  • [W8.4] Testing: Types

  • [W8.5] Testing: Intermediate Concepts

Full ToC


Admin:

  1. Submit post-lecture quiz counted for participation
  2. Submit midterm peer evaluations on TEAMMATES Sun, Mar 13th 2359 counted for participation

iP:

  1. Evaluate two peer iPs Sat, Mar 12th 2359 counted for participation

tP:

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

Week 9 - Fri, Mar 11th

Topics:

  • [W9.1] OO Domain Models

  • [W9.2] Activity Diagrams

  • [W9.3] Conceptualizing a Design

  • [W9.4] Architecture Diagrams: Drawing

  • [W9.5] Design Principles

  • [W9.6] [Revisiting] SDLC Process Models

  • [W9.7] SDLC Process Models (continued)

  • [W9.8] Writing Developer Documents

Full ToC


Admin:

  1. Submit post-lecture quiz counted for participation

tP: v1.2

  1. Deliver v1.2
  2. Wrap up v1.2
  3. Do an informal demo of v1.2 before the tutorial

Week 10 - Fri, Mar 18th

Topics:

  • [W10.2] Defensive Programming

  • [W10.3] Test Cases: Intro

  • [W10.4] Test Cases: Equivalence Partitioning

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

Full ToC


Admin:

  1. Submit post-lecture quiz counted for participation

tP:

  1. Do a postmortem of the previous iteration
  2. Adjust process rigor if necessary
  3. Start the next iteration
  4. Update the DG with design details
  5. Smoke-test CATcher COMPULSORY counted for participation
  6. Do a trial JAR release

Week 11 - Fri, Mar 25th

Topics:

  • [W11.1] More Design Patterns

  • [W11.2] Architectural Styles

  • [W11.3] Test Cases: Combining Multiple Inputs

  • [W11.4] Other QA Techniques

  • [W11.7] Other UML Models : OPTIONAL

Full ToC


Admin:

  1. Take part in the CATcher load testing during the lecture on Mar 25th counted for participation
  2. Submit post-lecture quiz counted for participation

tP: v1.3

  1. Deliver v1.3
  2. Update user docs
  3. Release as a jar file
  4. Wrap up v1.3
  5. Demo v1.3 before the tutorial

Week 12 - Fri, Apr 1st

Topics:

  • No topics allocated to this week.

Admin:

  1. Submit the declaration about code reuse COMPULSORY | Tue, Apr 12th 2359 counted for participation

tP:

  1. Attend the practical exam dry run During the lecture on Fri, Apr 1st counted for participation
  2. Start fixing PED bugs Before the tutorial
  3. Polish the deliverables
  4. Draft the PPP
  5. Prepare for the demo rehearsal
  6. Try PDF conversions early
  7. Ensure the code is RepoSense-compatible

Week 13 - Fri, Apr 8th

Topics:

  • No topics allocated to this week.

Admin:

  1. Submit final peer evaluation on TEAMMATES Thu, Apr 14th 2359 counted for participation
  2. Submit the PE-Readiness Quiz before the PE counted for participation

tP: v1.4

  1. Do final polish-ups
  2. Submit deliverables Mon, Apr 11th 2359
  3. Wrap up the milestone Wed, Apr 13th 2359
  4. Submit the demo video Wed, Apr 13th 2359
  5. Prepare for the practical exam
  6. Attend the practical exam moved to Sat, Apr 16th 1400-1600
  7. [if needed] Attend the makeup practical exam Sun, Apr 17th 1400-1600