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, Aug 9th

Topics:

  • No topics allocated to this week.

Admin:

  1. Set up the tools before the lecture
  2. Submit the pre-module survey by Friday 2359
  3. Learn about the module
  4. Attend the first lecture

Week 2 - Fri, Aug 13th

Topics:

  • [W2.2] SDLC Process Models: Basics

  • [W2.3] Java: Intro

  • [W2.4] Java: HelloWorld

  • [W2.5] Java: Data Types

  • [W2.6] Java: Control Flow

  • [W2.7] RCS: Init, Commit

  • [W2.8] RCS: Fork, Clone

  • [W2.9] IDEs: Basic Features

  • [W2.10] Code Quality: Coding Standards

Full ToC


Admin:

  1. Submit coding exercises via Coursemology Thu, Aug 19th 2359
  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 Increment: Level-0

Week 3 - Fri, Aug 20th

Topics:

  • [W3.1] OOP: Classes and Objects

  • [W3.2] Java: Objects

  • [W3.3] Java: Classes

  • [W3.4] OOP, Java: Class-Level Members

  • [W3.5] Java: Useful Classes

  • [W3.6] Code Quality: Naming

  • [W3.7] RCS: Using History

  • [W3.8] RCS: Pull, Push

Full ToC


Admin:

  1. Submit coding exercises via Coursemology midnight before tutorial counted for participation
  2. [CS2113 students only] Form teams during the tutorial

iP:

  1. Do any leftover iP tasks from the previous week
  2. Add Increments (+ commit, tag, push): Level-1, Level-2, Level-3, A-CodingStandard

tP:

  1. Set up a project meeting time by the end of the tutorial

Week 4 - Fri, Aug 27th

Topics:

  • [W4.1] OOP + Java: Inheritance

  • [W4.2] OOP + Java: Polymorphism

  • [W4.3] Java: Constants

  • [W4.4] OOP + Java: Enumerations

  • [W4.5] Automated Testing of Text UIs

  • [W4.6] Code Quality: Readability

  • [W4.7] Code Quality: Refactoring

  • [W4.8] RCS: Creating Pull Requests

Full ToC


Admin:

  1. Accept GitHub invitation from the module organization counted for participation
  2. Submit coding exercises via Coursemology counted for participation

iP:

  1. Create a PR to the upstream repo Mon, Aug 30th 2359
  2. Add Increments: Level-4, A-TextUiTesting, A-CodeQuality
  3. Get ready to review PRs before the tutorial
  4. Review some peer PRs during the tutorial counted for participation

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, Sep 3rd

Topics:

  • [W5.1] Java: Casting

  • [W5.2] OOP + Java: Abstract Classes

  • [W5.3] OOP + Java: Interfaces

  • [W5.4] Java: Packages

  • [W5.5] Java: Access Modifiers

  • [W5.6] Error Handling: Exceptions

  • [W5.7] Specifying Requirements [quick peek ahead]

  • [W5.8] RCS: Branching

Full ToC


Admin:

  1. Submit coding exercises via Coursemology counted for participation
  2. Practice peer evaluation on TEAMMATES Wed, Sep 8th 2359

iP:

  1. Learn from others (optional)
  2. Add Increment as a branch: Level-5
  3. Add Increment: A-Packages

tP:

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

Week 6 - Fri, Sep 10th

Topics:

  • [W6.1] Java: Generics

  • [W6.2] Java: Collections

  • [W6.3] Java: File Access

  • [W6.4] Java: JAR Files

  • [W6.5] Requirements: Intro

  • [W6.6] Requirements: Gathering

  • [W6.7] Requirements: Specifying [continued from last week]

  • [W6.8] IDEs: Intermediate Features

  • [W6.9] RCS: Merge Conflicts

  • [W6.10] Code Quality: Unsafe Practices

Full ToC


Admin:

  1. Submit coding exercises via Coursemology counted for participation
  2. Submit post-lecture quiz before the lecture counted for participation
  3. [optional] Submit mid-term feedback for the module Sat, Sep 18th 2359

iP:

  1. Add Increments as parallel branches: Level-6, Level-7
  2. Add Increment: A-Jar

tP:

  1. Conceptualize v1.0
  2. Draft the UG midnight before the tutorial
  3. Refine the product design

Week 7 - Fri, Sep 17th

Topics:

  • [W7.1] Java: Varargs : OPTIONAL

  • [W7.2] Java: streams : OPTIONAL

  • [W7.3] Java: JavaFX : OPTIONAL

  • [W7.4] Documentation Tools

  • [W7.5] Code Quality: Code Comments

  • [W7.6] Continuous Integration/Deployment

  • [W7.7] RCS: Merging PRs

  • [W7.8] RCS: Workflows

Full ToC


Admin:

  1. Submit post-lecture quiz counted for participation

iP:

  1. Add Increment: A-MoreOOP
  2. Add Increments as PRs: Level-8, Level-9, A-JavaDoc
  3. Set up a product website
  4. Submit the final version Fri, Oct 1st 2359

tP:

  1. Set up the project repo during the tutorial
  2. Plan the next iteration

Week 8 - Fri, Oct 1st

Topics:

  • [W8.1] Developer Testing

  • [W8.2] Writing Developer Documents

  • [W8.3] Design: Models

  • [W8.4] Class/Object Diagrams: Basics

  • [W8.5] Project Mgt: Scheduling and Tracking

Full ToC


Admin:

  1. Submit post-lecture quiz before the lecture counted for participation

iP:

  1. Evaluate two peer iPs before next week lecture counted for participation

tP:

  1. Ensure you know tP expectations
  2. Start implementing v1.0
  3. Use GitHub to manage milestones
  4. Add some JUnit Tests

Week 9 - Fri, Oct 8th

Topics:

  • [W9.1] Class Diagrams: Intermediate-Level

  • [W9.4] Design Principles

  • [W9.5] Testing: Intermediate Techniques

Full ToC


Admin:

  1. Submit post-lecture quiz before the lecture counted for participation
  2. Submit midterm peer evaluations on TEAMMATES Fri, Oct 15th 2359 counted for participation

tP: v1.0

  1. Make the code more defensive
  2. Deliver v1.0 midnight before the tutorial
  3. Do an informal demo of v1.0 before the tutorial

Week 10 - Fri, Oct 15th

Topics:

  • [W10.1] Sequence Diagrams: Basics

  • [W10.2] Sequence Diagrams: Intermediate-Level

  • [W10.4] Testing: Test Coverage

Full ToC


Admin:

  1. Submit post-lecture quiz counted for participation

tP:

  1. Start the next iteration
  2. Update the DG with design details IMPORTANT
  3. Smoke-test CATcher IMPORTANT counted for participation
  4. Ensure the code RepoSense-compatible

Week 11 - Fri, Oct 22nd

Topics:

  • [W11.2] Types of Testing

  • [W11.3] Test Case Design

  • [W11.4] Equivalence Partitioning

Full ToC


Admin:

  1. Submit post-lecture quiz counted for participation

tP: v2.0

  1. Update user docs
  2. Add sequence diagrams to the developer guide recommended: before Wednesday
  3. Deliver v2.0 midnight before the tutorial
  4. Review others' DG during the tutorial counted for participation

Week 12 - Fri, Oct 29th

Topics:

  • [W12.1] Boundary Value Analysis

  • [W12.2] Combining Multiple Test Inputs

  • [W12.3] Other QA Techniques

  • [W12.4] SDLC Process Models: XP/Scrum

Full ToC


Admin:

  1. Submit post-lecture quiz counted for participation

tP:

  1. Attend the practical exam dry run During the lecture on Fri, Oct 29th counted for participation
  2. Start fixing PED bugs Before the tutorial
  3. Polish the deliverables
  4. Draft the PPP
  5. Double-check RepoSense compatibility

Week 13 - Fri, Nov 5th

Topics:

  • No topics allocated to this week.

Admin:

  1. Submit final peer evaluation on TEAMMATES Thu, Nov 11th 2359 counted for participation

tP: v2.1

  1. Submit deliverables Mon, Nov 8th 2359
  2. Submit the demo video Wed, Nov 10th 2359
  3. Prepare for the practical exam
  4. Attend the practical exam during the lecture on Fri, Nov 12th