Summary of the Course Timeline


Week 1 - Mon, Jan 13th

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, Jan 17th 2359
  2. Learn about the course
  3. Submit prereq topics quiz Mon, Jan 20th 2359
  4. Set up the tools Fri, Jan 17th
  5. [Optional] Follow the Git learning trail

Week 2 - Mon, Jan 20th

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 24th 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 24th 1600

Week 3 - Mon, Jan 27th

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 1st 23:59
  2. Team Task: Set up a project meeting time Tue, Feb 4th
  3. Team Task: Check up on team's collective iP status Tue, Feb 4th

Week 4 - Mon, Feb 3rd

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 7th 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, Feb 8th 23:59

Week 5 - Mon, Feb 10th

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. Prelim peer evaluation on TEAMMATES Thu, Feb 13th 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, Feb 17th

Topics:

  • [W6.1] Modeling: Sequence Diagrams

  • [W6.2] Architecture Diagrams

  • [W6.3] IDEs: Intermediate Features

  • [W6.4] Logging

Full ToC


Admin:

  1. [optional] Submit midterm feedback for the course Sat, Feb 22nd 2359
  2. 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 21st 2359

tP:

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

Week 7 - Mon, Mar 3rd

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, Mar 6th 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, Mar 10th

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

iP:

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

tP: v1.2

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

Week 9 - Mon, Mar 17th

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, Mar 20th 23:59

Week 10 - Mon, Mar 24th

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 Mar 28th

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, Mar 27th 23:59
  4. Smoke-test CATcher [COMPULSORY] Fri, Mar 28th 16:00
  5. Start updating UML diagrams in the DG

Week 11 - Mon, Mar 31st

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
  2. Submit the PE mode selection COMPULSORY | Sat, Apr 5th 2359

tP: v1.5

  1. Alpha-test the product
  2. Fix alpha-test bugs, fine-tune features, improve code quality
  3. Update UG and DG
  4. Release v1.5 Thu, Apr 3rd 23:59
  5. Attend the practical exam dry run Fri, Apr 4th 1600-1800

Week 12 - Mon, Apr 7th

Topics:

  • No topics allocated to this week.

Admin:

  1. Submit the declaration about code reuse COMPULSORY | Tue, Apr 15th 2359
  2. Submit feedback for tutors
  3. Submit final peer evaluation on TEAMMATES Thu, Apr 10th 2359
  4. Submit the PE-Readiness Quiz before the PE

tP: v1.6

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

Week 13 - Mon, Apr 14th

Topics:

  • No topics allocated to this week.

Admin:

None assigned for this week

tP:

  1. / Attend to post-release tasks