This site is from a past semester! The current version will be here when the new semester starts.
CS2113/T 2021 Jan-May
  • Full Timeline
  • Week 1 [Mon, Jan 11th]
  • Week 2 [Mon, Jun 21st]
  • Week 3 [Mon, Jun 28th]
  • Week 4 [Mon, Jul 5th]
  • Week 5 [Mon, Jul 12th]
  • Week 6 [Mon, Jul 19th]
  • Week 7 [Mon, Jul 26th]
  • Week 8 [Mon, Aug 9th]
  • Week 9 [Mon, Aug 16th]
  • Week 10 [Mon, Aug 23rd]
  • Week 11 [Mon, Aug 30th]
  • Week 12 [Mon, Sep 6th]
  • Week 13 [Mon, Sep 13th]
  • Textbook
  • Admin Info
  • Dashboards
  •  Individual Project (iP):
  • Individual Project Info
  • iP Upstream Repo
  • iP Code Dashboard
  • iP Progress Dashboard

  •  Team Project (tP):
  • Team Project Info
  • Reference AB3
  • Team List
  • tP Code Dashboard
  • tP Progress Dashboard
  • Java exercises
  • Report Bugs
  • Forum
  • Gitter (Chat)
  • Instructors
  • Announcements
  • Files (handouts, submissions etc.)
  • Tutorial Schedule
  • Java Coding Standard
  • Git Conventions
  • Forum Activities Dashboard
  • Participation Dashboard
  • Week 6 [Mon, Jul 19th] - Summary

    Starting from this week, there are post-lecture quizzes you can submit to earn participation points.

    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

    • [W6.1] Java: Generics
    • [W6.1a] C++ to Java → Generics → What are Generics?

    • [W6.1b] C++ to Java → Generics → How to use Generics

    • [W6.2] Java: Collections
    • [W6.2a] C++ to Java → Collections → The collections framework

    • [W6.2b] C++ to Java → Collections → The ArrayList class

    • [W6.2c] C++ to Java → Collections → The HashMap class

    • [W6.3] Java: File Access
    • [W6.3a] C++ to Java → Miscellaneous Topics → File access
    • [W6.4] Java: JAR Files
    • [W6.4a] C++ to Java → Miscellaneous Topics → Using JAR files

    • [W6.5] Requirements: Intro
    • [W6.5a] Requirements → Requirements → Introduction

    • [W6.5b] Requirements → Requirements → Non-functional requirements

    • [W6.5c] Requirements → Requirements → Prioritizing requirements

    • [W6.5d] Requirements → Requirements → Quality of requirements

    • [W6.6] Requirements: Gathering
    • [W6.6a] Requirements → Gathering Requirements → Brainstorming

    • [W6.6b] Requirements → Gathering Requirements → Product surveys

    • [W6.6c] Requirements → Gathering Requirements → Observation

    • [W6.6d] Requirements → Gathering Requirements → User surveys

    • [W6.6e] Requirements → Gathering Requirements → Interviews

    • [W6.6f] Requirements → Gathering Requirements → Focus groups

    • [W6.6g] Requirements → Gathering Requirements → Prototyping

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

       Prose

    • [W6.7a] Requirements → Specifying Requirements → Prose → What

       User Stories [Repeated from last week]

    • [W6.7b] Requirements → Specifying Requirements → User Stories → Introduction

    • [W6.7c] Requirements → Specifying Requirements → User Stories → Details

    • [W6.7d] Requirements → Specifying Requirements → User Stories → Usage

       Feature Lists [Repeated from last week]

    • [W6.7e] Requirements → Specifying Requirements → Feature Lists → What

       Use Cases

    • [W6.7f] Requirements → Specifying Requirements → Use Cases → Introduction

       Glossary

    • [W6.7g] Requirements → Specifying Requirements → Glossary → What

       Supplementary Requirements

    • [W6.7h] Requirements → Specifying Requirements → Supplementary Requirements → What

    • [W6.8] IDEs: Intermediate Features
    • [W6.8a] Implementation → IDEs → Debugging → What

    • [W6.8b] Tools → IntelliJ IDEA → Debugging: Basic

    • [W6.8c] Tools → IntelliJ IDEA → Productivity shortcuts : OPTIONAL

    • [W6.9] RCS: Merge Conflicts
    • [W6.9a] Tools → Git and GitHub → Dealing with merge conflicts
    • [W6.10] Code Quality: Unsafe Practices
    • [W6.10a] Implementation → Code Quality → Error-Prone Practices → Introduction

    • [W6.10b] Implementation → Code Quality → Error-Prone Practices → Basic → Use the default branch

    • [W6.10c] Implementation → Code Quality → Error-Prone Practices → Basic → Don't recycle variables or parameters

    • [W6.10d] Implementation → Code Quality → Error-Prone Practices → Basic → Avoid empty catch blocks

    • [W6.10e] Implementation → Code Quality → Error-Prone Practices → Basic → Delete dead code

    • [W6.10f] Implementation → Code Quality → Error-Prone Practices → Intermediate → Minimize scope of variables

    • [W6.10g] Implementation → Code Quality → Error-Prone Practices → Intermediate → Minimize code duplication

    Admin:

    1. Submit coding exercises via Github Classroom counted for participation
    2. Submit post-lecture quiz before the lecture counted for participation
    3. [optional] Submit mid-term feedback for the module Sat, Feb 20th 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