Summary of the Course Timeline


Week 1 - Mon, Aug 12th

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 the pre-course survey Fri, Aug 16th 2359
  2. Learn about the course
  3. Submit prereq topics quiz Mon, Aug 19th 2359
  4. Set up the tools by Friday
  5. [Optional] Follow the Git learning trail

Week 2 - Mon, Aug 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, Aug 23rd 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, Aug 23rd 1600

Week 3 - Mon, Aug 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, Aug 31st 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, Sep 3rd

Week 4 - Mon, Sep 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, Sep 6th 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 - Mon, Sep 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 midterm feedback for the course Sat, Sep 14th 2359
  3. Prelim peer evaluation on TEAMMATES Thu, Sep 12th 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 the MVP version before/during the tutorial

Week 6 - Mon, Sep 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, Sep 20th 2359

tP:

  1. Conceptualize the MVP version
  2. Draft the feature specification Sun, Sep 22nd 23:59
  3. Set up the project repo
  4. Get familiar with the codebase

Week 7 - Mon, Sep 30th

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 'workflow practice' session Thu, Oct 3rd 23:59
  2. Update the project website
  3. Update the DG: user stories, glossary, NFRs, use cases
  4. Start the next iteration

Week 8 - Mon, Oct 7th

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, Oct 13th 2359

iP:

  1. Evaluate two peer iPs Sat, Oct 12th 2359

tP: v1.2

  1. Divide MVP features among members
  2. / [Optional] Rename packages/classes
  3. Add the first functionality increment Thu, Oct 10th 23:59

Week 9 - Mon, Oct 14th

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.3

  1. Plan the first product release (v1.3)
  2. Manage the iteration, and deliver v1.3 Thu, Oct 17th 23:59

Week 10 - Mon, Oct 21st

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
  2. Take part in the CATcher load testing during the briefing on Oct 25th

tP: v1.4

  1. Do a postmortem of the previous iteration before the tutorial
  2. Plan the alpha version (v1.4)
  3. Deliver the alpha version (v1.4) Thu, Oct 24th 23:59
  4. Smoke-test CATcher [COMPULSORY] Fri, Oct 25th 16:00
  5. Start updating UML diagrams in the DG

Week 11 - Mon, Oct 28th

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

tP: v1.5

  1. Alpha-test the product
  2. Fix alpha-test bugs, fine-tune features
  3. Update UG and DG
  4. Release v1.5 Thu, Nov 7th 23:59

Week 12 - Mon, Nov 4th

Topics:

  • No topics allocated to this week.

Admin:

  1. Submit the declaration about code reuse COMPULSORY | Tue, Nov 12th 2359
  2. Submit the PE mode selection COMPULSORY | Sat, Nov 9th 2359
  3. Submit feedback for tutors

tP:

  1. Finish any remaining v1.5 tasks
  2. Attend the practical exam dry run Fri, Nov 8th 1600-1800

Week 13 - Mon, Nov 11th

Topics:

  • No topics allocated to this week.

Admin:

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

tP: v1.6

  1. Fix PE-D bugs
  2. Submit final deliverables Tue, Nov 12th 14:00
  3. Prepare for the practical exam
  4. Ensure the code is RepoSense-compatible
  5. Attend the practical exam Fri, Nov 15th 1600-1800
  6. [if needed] Attend the makeup practical exam Sun, Nov 17th 1400-1600