This site is from a past semester! The current version will be here when the new semester starts.
CS2103/T 2020 Jan-Apr
  • Full Timeline
  • Week 1 [Jan 13]
  • Week 2 [Jan 20]
  • Week 3 [Jan 27]
  • Week 4 [Feb 3]
  • Week 5 [Feb 10]
  • Week 6 [Feb 17]
  • Week 7 [Mar 2]
  • Week 8 [Mar 9]
  • Week 9 [Mar 16]
  • Week 10 [Mar 23]
  • Week 11 [Mar 30]
  • Week 12 [Apr 6]
  • Week 13 [Apr 13]
  • 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 1 [Jan 13] - Admin Info

    Admin info relevant to the week will appear in this tab.

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

    1 Submit pre-lecture quiz by week 2 Monday 2359

    • Read prerequisite   Topics  allocated for week 1. Submit Lecture 1 - Pre-Lecture Quiz (on LumiNUS) to test your knowledge of those topics.

    2 Set up the tools before the lecture

    • Follow the Preparation instructions of the following tools.

    3 Submit the pre-module survey by Friday 2359

    • Submit the pre-module survey (compulsory)
      Pre-Module Survey will be available on LumiNUS Week 1 Monday - Friday 2359. We need all of you to submit it because it tells us some important information about you, especially your GitHub username.

    4 Learn about the module

    • Read the following admin info about the module.

    5 Attend the first lecture

    • Attend the Week 1 lecture (Week 1 lecture is compulsory).
    • Bring your computer to the lecture. Some lecture activities will need it.

    + Other info relevant to this week:

    Admin Apdx C (FAQs) → Where is everything?

    Where is everything?

    The Schedule page presents all you need to know in chronological order while the other pages have some of the same content organized by topic.

    The Schedule page is the one page you need to refer weekly. Although there is a lot of content in the Admin Info page and the Textbook page -- which you are welcome to read in those respective pages -- the same content is also embedded in the relevant weeks of the Schedule page. Embedded extracts usually appear in expandable panels and can be identified by the symbol in the panel title.

    Admin tP: Forming Teams


    [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.

    Admin Programming Language

    The main language used in this module is Java. You should use Java for all programming activities, the project, and exam answers.

    The module doesn’t “teach” Java. We assume you already know Java basics. We expect you to learn on your own any Java constructs not covered in your previous modules.

    Preparation:

    We require you to use Java 11 (the Oracle version or the OpenJDK version) for all module work. It is your duty to ensure the code you write (and executables you produce) are compatible with that version of Java. Any incompatibilities will be considered as bugs.

    Java coding standard

    This module follows the this Java coding standard.

    You are required to follow basic guidelines (those marked as ⭐️) in the module projects. Intermediate and advanced guidelines are optional.

    Admin Textbooks

    This module is supported by a customized online textbook Software Engineering for Self-Directed Learners (CS2103 edition), integrated into this module website. While it is in a dynamic Web page format, there is a way to save the main text as pdf files. Printer-friendly versions have been provided too. In addition, a PDF version of the full textbook will be provided at the start of the semester, via LumiNUS.

    Admin Grade Breakdown

    Admin Participation Marks

    To receive full 5 marks allocated for participation, meet the criteria A, B, and C.

    A Earn at least half of weekly participation points in at least 10 weeks.

    • In-lecture quiz:
      • Answered at least 80% of the questions correctly: 2 points
      • Answered 40-80% questions correctly: 1 point
    • Post-lecture quiz:
      • Answered at least 80% of the questions correctly: 3 points
      • Answered 60-80% questions correctly: 2 points
      • Answered 40-60% questions correctly: 1 point
    • Missing compulsory administrative requirements e.g., forgot to submit peer evaluations: -2 for each miss

    As the lecture on Week N covers topics for Week N+1, the Lecture N's in-lecture and post-lecture quiz points are counted for Week N+1

    B Received good peer evaluations

    • -1 for each professional conduct criterion in which you score below average (based on the average of ratings received).
    • No penalty for scoring low on competency criteria.

    In addition, you can receive a bonus marks in the following ways. Bonus marks can be used to top up your participation marks should your marks from the above falls below 5.

    • Receiving good ratings for all 10 peer evaluations criteria: 1 mark
    • Being very helpful to classmates e.g., multiple helpful posts in forum: 1 mark

    C Tutorial attendance/participation not too low

    Low attendance/participation can affect participation marks directly (i.e., attended fewer than 7) or indirectly (i.e., it might result in low peer evaluation ratings).

    Examples:

    • Alicia earned 1/2, 3/5, 2/5, 5/5, 5/5, 5/5, 5/5, 5/5, 5/5, 5/5, 4/5, 5/5 in the first 12 weeks. As she received at least half of the points in 11 of the weeks, she gets 5 participation marks. Bonus marks are not applicable as she has full marks already.
    • Benjamin managed to get at least half of the participation points in 9 weeks only, which gives him 5-1 = 4 participation marks. But he received good peer ratings for all criteria, and hence get a bonus mark to make it 5/5.
    • Chun Ming met the participation points bar in 8 weeks only, giving him 5-2 = 3 marks. He lost 2 more marks because he received multiple negative ratings for two criteria, giving him 1/5 participation marks.

    Admin Apdx C (FAQs) → What are the differences between CS2103T and CS2103? : OPTIONAL

    What are the differences between CS2103T and CS2103? : OPTIONAL

    Same lecture content (but possibly different lecture slots), same exam. Separate tutorials, separate project grading. Unless specified otherwise, whatever is stated for one module applies to the other.

    Admin Apdx C (FAQs) → Why the workload is so high? : OPTIONAL

    Why the workload is so high? : OPTIONAL

    CS2103/T prepares you for many higher-level project modules (CS3216/7, CS3203, CS3281/2, etc.), each requiring a slightly different skill set. It is also the only SE module some of you do before going for industry internships. Therefore, we have to cover many essential SE concepts/skills and also provide enough exercises for you to practice those skills. This is also why we don't have time to go very deep into any of the topics.

    Remember, everything you learn here is going to be useful in a SE-related career.

    Also, consider this a gradual introduction to 'heavy' modules; most project modules you do after this are going to be much heavier 😛

    How to reduce the workload? You can omit Learning Outcomes rated : OPTIONAL. Furthermore, control the project workload by using no more than a fixed amount of time weekly on the project (e.g., 1 day).

    Admin Apdx C (FAQs) → What are the extra requirements to get an A+?

    What are the extra requirements to get an A+?

    In CS2103/T, A+ is not given simply based on the final score. To get an A+ you should,

    • score enough to get an A
    • be considered technically competent by peers and tutor (based on peer evaluations and tutor observations)
    • be considered helpful by peers (based on peer evaluations and tutor observations)
      • In particular, you are encouraged to be active on the forum and give your inputs to ongoing discussions so that other students can benefit from your relatively higher expertise that makes you deserve an A+.
      • Whenever you can, go out of your way to review PRs created by other team members.