This site is from a past semester! The current version will be here when the new semester starts.
CS2113/T 2020 Jan-Apr
  • Full Timeline
  • Week 1 [from Mon Jan 13]
  • Week 2 [from Wed Jan 15 noon]
  • Week 3 [from Wed Jan 22 noon]
  • Week 4 [from Wed Jan 29 noon]
  • Week 5 [from Wed Feb 5 noon]
  • Week 6 [from Wed Feb 12 noon]
  • Week 7 [from Wed Feb 19 noon]
  • Week 8 [from Wed Mar 4 noon]
  • Week 9 [from Wed Mar 11 noon]
  • Week 10 [from Wed Mar 18 noon]
  • Week 11 [from Wed Mar 25 noon]
  • Week 12 [from Wed Apr 1 noon]
  • Week 13 [from Wed Apr 8 noon]
  • Textbook
  • Admin Info
  • Report Bugs
  • Forum
  • Instructors
  • Announcements
  • File Submissions
  • Tutorial Schedule
  • repl.it link
  • Java Coding Standard
  • Forum Activities Dashboard
  • Participation Dashboard

  •  Individual Project (iP):
  • Individual Project Info
  • Duke Upstream Repo
  • iP Code Dashboard
  • iP Progress Dashboard

  •  Team Project (tP):
  • Team Project Info
  • Team List
  • tP Code Dashboard
  • tP Progress Dashboard
  • Week 3 [from Wed Jan 22 noon] - Summary

    This URL will be needed during lecture activities: https://github.com/nus-cs2113-AY1920S2/lender

    Reminder:

    • Please try to follow instructions closely. If you deviate, our grading scripts will not be able to detect your work.
    • The deadline to complete tasks allocated to the week is the e.g., if your tutorial is on Thursday, the deadline is Wednesday 23.59midnight before your tutorial day, unless stated otherwise. Our scripts that detect your work run at midnight and only the work that's done by midnight will be eligible for marks (for cases where the task is graded).
    • You may have to go through the weekly topics (and do the weekly programming exercises) before attempting weekly project tasks as the knowledge from those topics may be needed to complete the iP tasks.
    • [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

    • [W3.1] OOP: Classes and Objects
    • [W3.1a] Paradigms → OOP → Introduction → What

    • [W3.1b] Paradigms → OOP → Objects → What

    • [W3.1c] Paradigms → OOP → Classes → What

    • [W3.1d] Paradigms → OOP → Objects → Objects as abstractions

    • [W3.1e] Paradigms → OOP → Objects → Encapsulation of objects

    • [W3.2] Java: Objects
    • [W3.2a] C++ to Java → Objects → Using Java objects

    • [W3.2b] C++ to Java → Objects → Instance members

    • [W3.2c] C++ to Java → Objects → Passing objects around

    • [W3.2d] C++ to Java → Objects → Garbage collection

    • [W3.3] Java: Classes
    • [W3.3a] C++ to Java → Classes → Defining classes

    • [W3.3b] C++ to Java → Classes → Getters and setters

    • [W3.4] OOP, Java: Class-Level Members
    • [W3.4a] Paradigms → OOP → Classes → Class-level members

    • [W3.4b] C++ to Java → Classes → Class-level members

    • [W3.5] Java: Useful Classes
    • [W3.5a] Implementation → Reuse → APIs → What

    • [W3.5b] C++ to Java → Some Useful Classes → Java API

    • [W3.5c] C++ to Java → Some Useful Classes → The String class

    • [W3.5d] C++ to Java → Some Useful Classes → Wrapper Classes for primitive types

    • [W3.5e] C++ to Java → Some Useful Classes → The Arrays class

    • [W3.5f] C++ to Java → Some Useful Classes → The Scanner class

    • [W3.6] Code Quality: Naming
    • [W3.6a] Implementation → Code Quality → Naming → Introduction

    • [W3.6b] Implementation → Code Quality → Naming → Basic → Use nouns for things and verbs for actions

    • [W3.6c] Implementation → Code Quality → Naming → Basic → Use standard words

    • [W3.6d] Implementation → Code Quality → Naming → Intermediate → Use name to explain

    • [W3.6e] Implementation → Code Quality → Naming → Intermediate → Not too long, not too short

    • [W3.6f] Implementation → Code Quality → Naming → Intermediate → Avoid misleading names

    • [W3.7] RCS: Using History
    • [W3.7a] Project Management → Revision Control → Using history

    • [W3.7b] Tools → Git and GitHub → Checkout

    • [W3.7c] Tools → Git and GitHub → Tag

    • [W3.7d] Tools → Git and GitHub → Stash

    • [W3.8] RCS: Pull, Push
    • [W3.8a] Tools → Git and GitHub → Pull

    • [W3.8b] Tools → Git and GitHub → Push

    Admin:

    1. Submit coding exercises on repl.it midnight before tutorial
    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