Hi Prof Pranavan, we can work on the existing codebase from SoC (if permitted) and make changes to course content here. This is the least costly, safest fallback option.
This course will be delivered in blended learning mode (i.e., a mix of online and F2F activities) this semester.

Summary of the Course Timeline


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

Week 2 - Mon, Jan 19th

Topics:

  • [W2.2] SDLC Process Models: Basics

  • [W2.3] RCS: Revision History

  • [W2.4] IDEs: Basic Features

  • [W2.5] Automated Testing of Text UIs

Full ToC


Admin:

  1. Submit weekly quiz Fri, Jan 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, Jan 23rd 1600

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

Week 4 - Mon, 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 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, Feb 7th 23:59

Week 5 - Mon, 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 midterm feedback for the course Sat, Feb 14th 2359
  3. Prelim peer evaluation on TEAMMATES Thu, Feb 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, 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 20th 2359

tP:

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

Week 7 - Mon, Mar 2nd

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 5th 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 9th

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

iP:

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

tP: v1.2

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

Week 9 - Mon, Mar 16th

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 19th 23:59

Week 10 - Mon, Mar 23rd

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

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

Week 11 - Mon, Mar 30th

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 4th 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 2nd 23:59
  5. Attend the practical exam dry run Fri, Apr 3rd 1600-1800

Week 12 - Mon, Apr 6th

Topics:

  • No topics allocated to this week.

Admin:

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

tP: v1.6

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

Week 13 - Mon, Apr 13th

Topics:

  • No topics allocated to this week.

Admin:

 None assigned for this week

tP:

  1. / Attend to post-release tasks