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

Summary of the Course Timeline


Week 1 - Mon, Jan 15th

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 prereq topics quiz Mon, Jan 22nd 2359
  2. Set up the tools before the weekly briefing
  3. Submit the pre-course survey Fri, Jan 19th 2359
  4. Learn about the course
  5. [Optional] Follow the Git learning trail
  6. Attend the first weekly briefing

Week 2 - Fri, Jan 19th

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 weekly quiz Fri, Jan 26th 1600
  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-0, Level-1, Level-2, Level-3, Level-4, A-TextUiTesting, Level-5, Level-6, A-Enums Fri, Jan 26th 1600

Week 3 - Fri, Jan 26th

Topics:

  • [W3.1] RCS: Branching

  • [W3.2] RCS: Creating Pull Requests

  • [W3.3] Automating the Build Process

  • [W3.4] Java: JavaDoc, file I/O, packages, JARs

  • [W3.5] Code Quality: Coding Standards

  • [W3.6] Developer Testing

  • [W3.7] Unit Testing

Full ToC


Admin:

  1. Submit weekly quiz
  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 branches: Level-7, Level-8
  4. Add Increments: A-MoreOOP, A-Packages, A-Gradle, A-JUnit, A-Jar
  5. Add Increments as parallel branches: A-JavaDoc, A-CodingStandard, Level-9
  6. [Optional] Get a head start on JavaFX

tP:

  1. Individual Task: Explore AB3 features Sat, Feb 3rd 23:59
  2. Team Task: Set up a project meeting time by the end of the tutorial
  3. Team Task: Check up on team's collective iP status Tue, Feb 6th

Week 4 - Fri, Feb 2nd

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

Full ToC


Admin:

  1. Accept GitHub invitation from the course organization
  2. Submit weekly quiz

iP:

  1. Use GFMD in the PR description
  2. Review some peer PRs Fri, Feb 9th 1600
  3. Learn from others (optional)
  4. Add Increments as branches: 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, value proposition) decide by tutorial, submit by Sat

Week 5 - Fri, Feb 9th

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 weekly quiz
  2. [optional] Submit mid-term feedback for the course Sat, Feb 17th 2359
  3. Prelim peer evaluation on TEAMMATES Thu, Feb 15th 2359

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 16th

Topics:

  • [W6.1] Modeling: Sequence Diagrams

  • [W6.2] Architecture Diagrams

  • [W6.3] IDEs: Intermediate Features

  • [W6.4] Logging

Full ToC


Admin:

  1. Submit weekly quiz

iP:

  1. Add Increments: A-BetterGui, A-Personality, A-MoreErrorHandling, A-MoreTesting, A-AiAssisted
  2. Finalize the features
  3. Set up a product website
  4. Submit the final version Fri, Feb 23rd 2359

tP:

  1. Conceptualize v1.2
  2. Draft the feature specification
  3. Set up the project repo
  4. Get familiar with the code base

Week 7 - Fri, Feb 23rd

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 weekly quiz

iP:

  1. [Optional] Get more out of the iP

tP: v1.1

  1. Do a practice iteration (v1.1) Thu, Mar 7th 23:59
  2. Update project website: AboutUs, README
  3. [Optional] Update the UG
  4. Update the DG: user stories, glossary, NFRs, use cases
  5. Plan the next iteration (v1.2)
  6. Start implementing the next version

Week 8 - Fri, Mar 8th

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 weekly quiz
  2. Submit midterm peer evaluations on TEAMMATES Sun, Mar 17th 2359

iP:

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

tP:

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

Week 9 - Fri, Mar 15th

Topics:

  • [W9.1] Conceptual Class Diagrams (aka OODMs)

  • [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 weekly quiz

tP: v1.2

  1. Manage the iteration, and deliver v1.2 Thu, Mar 21st 23:59
  2. Start updating UML diagrams in the DG

Week 10 - Fri, Mar 22nd

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 weekly quiz

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
  6. Do a trial JAR release

Week 11 - Fri, Mar 29th

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 briefing on Mar 29th
  2. Submit weekly quiz

tP: v1.3

  1. Deliver v1.3
  2. Update user docs Thu, Apr 4th 23:59
  3. Release v1.3 Thu, Apr 4th 23:59
  4. Wrap up v1.3
  5. Demo v1.3
  6. Get ready for the practical exam dry run

Week 12 - Fri, Apr 5th

Topics:

  • No topics allocated to this week.

Admin:

  1. Submit the declaration about code reuse COMPULSORY | Tue, Apr 16th 2359
  2. Submit the PE mode selection COMPULSORY | Sat, Apr 13th 2359
  3. Submit feedback for tutors

tP:

  1. Attend the practical exam dry run During the weekly briefing on Fri, Apr 5th
  2. Start fixing PED bugs Before the tutorial
  3. Polish the deliverables
  4. [Optional] Draft the PPP
  5. Try PDF conversions early
  6. Ensure the code is RepoSense-compatible

Week 13 - Fri, Apr 12th

Topics:

  • No topics allocated to this week.

Admin:

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

tP: v1.4

  1. Do final polish-ups
  2. Submit deliverables Mon, Apr 15th 23:59
  3. Submit the demo video Wed, Apr 17th 2359
  4. Wrap up the milestone Wed, Apr 17th 2359
  5. Prepare for the practical exam
  6. Attend the practical exam during the weekly briefing on Fri, Apr 19th
  7. [if needed] Attend the makeup practical exam Sun, Apr 21st 1400-1600