This site is not ready yet! The updated version will be available soon.
CS2103/T 2020 Jan-Apr
  • Full Timeline
  • Week 1 [Aug 12]
  • Week 2 [Aug 19]
  • Week 3 [Aug 26]
  • Week 4 [Sep 2]
  • Week 5 [Sep 9]
  • Week 6 [Sep 16]
  • Week 7 [Sep 30]
  • Week 8 [Oct 7]
  • Week 9 [Oct 14]
  • Week 10 [Oct 21]
  • Week 11 [Oct 28]
  • Week 12 [Nov 4]
  • Week 13 [Nov 11]
  • Textbook
  • Admin Info
  • Report Bugs
  • Forum
  • Instructors
  • Announcements
  • File Submissions
  • Tutorial Schedule
  • Java Coding Standard
  • Participation Marks List

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

  •  Team Project (tP):
  • Team Project Info
  • Team IDs
  • Addressbook-level3
  • Addressbook-level 1,2,4
  • tP Code Dashboard
  • tP Showcase
  • Week 3 [Aug 26] - Tutorial

    0 [CS2103 students only] Form teams

    • Form teams, under the guidance of the tutor. See the panel below for team forming constrains and other related info.

    Relevant: [Admin Teams → Team Forming Constraints ]


    [Picture: The team that was at the top of early Google]

    When to form teams

    • CS2103T: Your team will be formed by the CS2101 side.
    • CS2103: Your team will be formed at the start of the week 3 tutorial. Please try to arrive on time for that tutorial; if you are not there at the team forming time and others in the class are unaware which team you wanted to be in, we'll have to put you into a team randomly.

    Team size

    • The default team size is five.

    Team composition

    • We allow some freedom in choosing team members, subject to these constraints:
      • All team members should be in the same tutorial. Delay forming teams until your place in a tutorial is confirmed. We do not allow changing tutorials to team up with your preferred team mates.
      • Teams of single nationality are not allowed unless the only language common among all team members is English. e.g. an all-Singaporean team that include both Chinese and Malay students. Rationale: to train you to work in multicultural teams, to ensure that English is used for all project communication
      • No more than one exchange students per team Rationale: to increase interaction between exchange students and NUS students.
      • Same gender teams are discouraged but allowed. Rationale: to train you for mixed-gender work environments.
    • We may modify teams when circumstances call for it. There is no avenue for you to object. Staying with your preferred team is not guaranteed.

    1 Register the team before leaving the tutorial

    • Get your team ID from the tutor. Each student must submit your team ID via the LumiNUS Class Groups page -- for us to know which team you joined. Note the team ID follows a specific format.

    Relevant: [Admin Teams → Team ID Format ]

    Team ID

    • To be given to you after forming teams.
    • Has the form TUTORIAL_ID-TEAM_NUMBER e.g, CS2103-W14-2 means you are in tutorial CS2103-W14 (i.e., in module CS2103, on Wednesday, at 1400-1500), team 2.

    Relevant: [Admin Tutorials → Tutorial IDs ]

    Our tutorial IDs are different from LumiNUS. Format: CS2103T-W09 means a tutorial of CS2103T module, held on Wednesday at 0900, and so on.

    Module Venue Time Tutorial ID
    in LumiNUS

    (don't use this!)
    Our Tutorial ID
    (use this!)
    Tutors
    CS2103T COM1-0210 (SR 10) Wed 11:00 G01 CS2103T-W11 Damith, Yuan Chuan
    CS2103T COM1-0210 (SR 10) Wed 12:00 G02 CS2103T-W12 Joanne, Andrew
    CS2103T COM1-0210 (SR 10) Wed 13:00 G03 CS2103T-W13 Jacob, Benjamin
    CS2103T COM1-0210 (SR 10) Thu 09:00 G11 CS2103T-T09 Jeffry, Yuan Chuan
    CS2103T COM1-0210 (SR 10) Thu 10:00 G05 CS2103T-T10 Jeffry, Tejas
     CS2103  COM1-B103 Thu 11:00 08 CS2103-T11 Damith, Brian
    CS2103T COM1-0210 (SR 10) Thu 11:00 G06 CS2103T-T11 James, Jeff
    CS2103T COM1-0210 (SR 10) Thu 12:00 G04 CS2103T-T12 Jun Rong, Brian
    CS2103T COM1-0210 (SR 10) Thu 13:00 G10 CS2103T-T13 Xiaowen, Yuan Chuan
     CS2103  COM1-0210 (SR 10) Thu 14:00 02 CS2103-T14 Gilbert, Yuan Chuan
     CS2103  COM1-0210 (SR 10) Thu 16:00 04 CS2103-T16 Kyler, ZhiHui
    CS2103T COM1-B103 COM1-0210 (SR 10) Thu 17:00 G13 CS2103T-T17 Jun Rong
     CS2103  COM1-0210 (SR 10) Fri 09:00 06 CS2103-F09 Jonathan, Keith
     CS2103  COM1-0210 (SR 10) Fri 10:00 07 CS2103-F10 Jonathan, Keith
    CS2103T COM1-0210 (SR 10) Fri 11:00 G12 CS2103T-F11 Jia Hao, Yuan Chuan
    CS2103T COM1-0210 (SR 10) Fri 12:00 G08 CS2103T-F12 Ayush, Yash
    CS2103T COM1-0210 (SR 10) Fri 13:00 G07 CS2103T-F13 LongBin, Yash
    CS2103T COM1-0210 (SR 10) Fri 14:00 G09 CS2103T-F14 Alfred, Yash

    2 Introduce yourselves

    • Introduce yourself to the tutor and the members of your team and the partner team (i.e., the other team under your tutor)

    3 Fix a weekly project meeting time

    • If you haven't done so already, set up a weekly project meeting time/venue (and communication channels) with your team members.

    Relevant: [Admin Teams → Communication ]

    Team Communications

    • Use English for all team communications, both spoken and written.
    • We recommend at least one 1-2 hour face-to-face project meeting per week, in addition to any online meetings. Reason: you need to know how to run both types of project meetings. The project meeting time can be used to discuss project related things, but also, can be used as a time for team members to work on the project tasks individually (having all members in the same place will facilitate easier collaboration and more peer-learning).
    • Fix a weekly 1-2 hour time slot and a venue for project meetings after the team has been finalized (latest by week 3 tutorial). All members are expected to attend weekly project meetings (not doing so could lower the peer evaluation ratings you receive, which in turn will be factored into your grade).
      The best time to have the weekly project meeting is, after the previous week's lecture but before the deadline for weekly tasks.

    4 Find coding standard violations extra

    • Do the following exercise, if you have time.

    Consider the code given below:

    import java.util.*;
    
    public class Task {
        public static final String descriptionPrefix = "description: ";
        private String description;
        private boolean important;
        List<String> pastDescription = new ArrayList<>(); // a list of past descriptions
    
        public Task(String d) {
          this.description = d;
          if (!d.isEmpty())
              this.important = true;
        }
    
        public String getAsXML() { return "<task>"+description+"</task>"; }
    
        /**
         * Print the description as a string.
         */
        public void printingDescription(){ System.out.println(this); }
    
        @Override
        public String toString() { return descriptionPrefix + description; }
    }
    

    In what ways the code violate the coding standard you are expected to follow?

    Here are three:

    • descriptionPrefix is a constant and should be named DESCRIPTION_PREFIX
    • method name printingDescription() should be named as printDescription()
    • boolean variable important should be named to sound boolean e.g., isImportant

    There are many more.