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 6 [from Wed Feb 12 noon] - Admin Info

    1. Submit coding exercises on repl.it
    2. Submit post-lecture quiz before the lecture
    3. [optional] Submit mid-term feedback to tutors by Sunday (Feb 23rd)

    1 Submit coding exercises on repl.it

    • As before, submit the coding exercises allocated for the current week, and any pending exercises from previous weeks.

    2 Submit post-lecture quiz before the lecture

    • Post-lecture quiz: Read weekly topics allocated for this week and submit the post-lecture quiz before the following lecture.

    3 [optional] Submit mid-term feedback to tutors by Sunday (Feb 23rd)

    • An anonymous survey to submit feedback about tutors will open on LumiNUS by Monday. Please take a few minutes to give feedback to your tutors.

    + Other info relevant to this week:

    Admin Exams

    Final Exam

    • The final exam will be on Saturday May 2nd, 1-3pm (as per normal exam schedule), and will count for 20% of the final grade.
    • The exam will be done online. Tools used: LumiNUS, Zoom, Microsoft Teams.

    Early preparations

    • Set up Zoom: Follow the Zoom exam instructions provided by NUS (note the requirement for SSO login).
      • Update the name of your Zoom profile to match the exact name on your student card, including whether the family name is give first or last (reason: we need to manually locate your name in the attendance list, which is sorted by your name in LumiNUS). You will not be admitted to the Zoom meeting if you do not comply with the requirement.
      • Note the requirements for camera placement: Your Zoom video feed need to capture your upper body and the work area, including the computer screen (as explained in this example). That means the built-in camera of your computer is not suitable for this purpose. Use either a separate web cam (attached to your Computer) or use Zoom through your smart phone. If neither of those options are available to you, let the prof know ASAP (deadline: April 24).

    You will not be allowed into the Zoom meeting unless your Zoom name complies with the above requirement.
    Your exam submission will not be accepted if your Zoom video feed does not comply with the above requirement.

    As per NUS requirements, your Zoom video feed is recorded by us and will be shared with NUS administration. If you do not consent to that, please let us know ASAP (deadline: April 24) so that we can put you in touch with the NUS administration to sort it out.

    15 30 minutes before the exam

    • Aim to join the Zoom waiting room around 12.30pm.
    • Ensure your computer and the phone (if applicable) are charged and within reach of a power supply.
    • In your computer, close all other apps and browser tabs other than the ones permitted to be use for the exam. Remember to exit other background apps that starts automatically such as telegram.
    • Launch MS-Teams, login to it, and close the app without exiting (which makes it run in the background).
    • Login to LumiNUS. The password to open the quiz will be broadcast via Zoom (audio announcement plus chat message) by the invigilator later.
    • If you are using Zoom from your phone, remember to disable the auto-sleep/lock feature so that the phone doesn't go to sleep in the middle of the exam.
    • Launch Zoom, login, ensure profile name and camera complies with our requirements, and join the meeting. Wait for the invigilator to take you into the meeting.
    • Do not use more than one Zoom device at a time.
      • If it is inconvenient to use the Zoom device for PM'ing the invigilator (e.g., if you are using Zoom through a smart phone mounted on a stand), use MS-Teams (via your computer) to PM the invigilator.
      • Exception: if you use a phone as your primary Zoom device but it not convenient to use it for audio (e.g., its speaker volume not high enough),
        1. Get our permission to use the PC as a second Zoom device.
        2. Install Zoom in the PC.
        3. Use the PC for audio/chat only (i.e., switch off the video) and the phone for video only.
        4. Name your Zoom profile name in the PC as [PC] Your Name as in Student Card e.g., [PC] John Doe
    • Once you are inside the Zoom meeting, wait patiently until all students have been admitted and the exam is ready to start. This wait could be as long as 30-45 minutes.
    • Note that the quiz will not appear on LumiNUS until a few minutes before we release the password.

    During the exam

    • Keep both the video and speaker switched-on (but microphone muted) in your Zoom during the entire exam.
    • Do not use MS-Teams during the exam unless the invigilator uses to contact you, you need to contact the invigilator, or you need to contact CIT for tech help.
    • Stay in the video frame for the entire exam duration, except during the toilet break.
    • Do not to use virtual backgrounds in Zoom. Do not use pre-recorded videos as your video feed.
    • As the exam is open-book, you can refer to any printed/written materials or use the computer to read any PDF/word documents that are in your computer. You may also access the online version of the textbook in the module website but strongly encouraged to use the PDF or printed version of the textbook instead.
      Do not visit any other websites, use any other apps, or online search engines during the exam.
    • Remain in the video frame until the invigilator ends the exam, even after you have submitted the quiz. Do not use the computer or other communication devices (not even Kindle) during that period (suggestion: have something in hard-copy form to ready to read during this time e.g., printed lecture notes of another module).
    • Do not communicate with any person other than the invigilator during the exam, as per normal exam rules.
    • When the invigilator asks you to do a face check, turn your face towards the camera, move closer to the camera, remove face mask (if any), and hold the pose until the invigilator tells you to go back to your working position.

    Troubleshooting exam problems

    • If you have a doubt/query about a question, or want to make an assumption about a question, please write it down in the 'justification' text box. Do not try to communicate those with the invigilator during the exam. We'll take your doubt/query/assumption into account when grading. For example, if many had queries about a specific question, we can conclude that the question is unclear and omit it from grading.
    • If you encounter a serious problem that prevents you from proceeding with the exam (e.g., the password to open the quiz doesn't work), contact the invigilator using Zoom chat or MS-Teams.
    • If your computer crashed/restarted during the exam, try to get it up again and resume the exam. LumiNUS will allow you to resume from where you stopped earlier. However, note that there is a deadline to finish the quiz and you will overrun that deadline if you lose more than 5 minutes due to the computer outage.

    Format

    • The exam will be given as quizzes in LumiNUS.
      For the ease of administration, the exam is split into two equal size quizzes: part 1, part 2.
    • Each quiz,
      • consists of 15 MCQ questions (plus one easy bonus question and a dummy question to collect comments)
      • is to be done in 30+5 minutes (if you spend around 2 minutes per question, you'll have a 5 minutes buffer)
    • All 30 normal questions have the same the weight and each question is expected to take a similar amount of time.
    • The questions will be presented in random order.
    • You are not allowed to go back to previous questions.
    • You are required to give a justification for your answer. The question will specify what should be included in the justification.
      Answers without the correct justification will not earn full marks. However, we'll give full marks up to two correct answers (per 15 questions) that do not have justifications (to cater for cases where you accidentally proceeded to the next question before adding the justification).
    • Here is an example question. The answer is a and the justification can be OOP is only one of the choices for an SE project.

    Choose the incorrect statement.

    [Justification: why is it incorrect?]

    • Almost all questions will ask you to choose the INCORRECT statement and justify why it is incorrect.

    Admin Apdx F: Handling Team Issues : OPTIONAL

    If your team is facing difficulties due to differences in skill/motivation/availability among team members,

    • First, do not expect everyone to have the same skill/motivation level as you. It is fine if someone wants to do less and have low expectations from the module. That doesn't mean that person is a bad person. Everyone is entitled to have their own priorities.

    • Second, don't give up. It is unfortunate that your team ended up in this situation, but you can turn it into a good learning opportunity. You don't get an opportunity to save a sinking team every day 😃

    • Third, if you care about your grade and willing to work for it, you need to take initiative to turn the situation around or else the whole team is going to suffer. Don't hesitate to take charge if the situation calls for it. By doing so, you'll be doing a favor for your team. Be professional, kind, and courteous to the team members, but also be firm and assertive. It is your grade that is at stake. Don't worry about making a bad situation worse. You won't know until you try.

    • Finally, don't feel angry or 'wronged'. Teamwork problems are not uncommon in this module and we know how to grade so that you will not be penalized for others' low contribution. We can use Git to find exactly what others did. It's not your responsibility to get others to contribute.

    Given below are some suggestions you can adopt if the project work is not going smooth due to team issues. Note that the below measures can result in some team members doing more work than others and earning better project grades than others. It is still better than sinking the whole team together.

    • Redistribute the work: Stronger programmers in the team should take over the critical parts of the code.

    • Enforce stricter integration workflow: Appoint an integrator (typically, the strongest programmer). His/her job is to maintain the integrated version of the code. He/she should not accept any code that breaks the existing product or is not up to the acceptable quality standard. It is up to others to submit acceptable code to the integrator. Note that if the integrator rejected your code unreasonably, you can still earn marks for that code. You are allowed to submit such 'rejected' code for grading. They can earn marks based on the quality of the code.

    If you have very unreliable or totally disengaged team members :

    • Re-allocate to others any mission-critical work allocated to that person so that such team members cannot bring down the entire team.
    • However, do not leave out such team members from project communications. Always keep them in the loop so that they can contribute any time they wish to.
    • Furthermore, evaluate them sincerely and fairly during peer evaluations so that they do get the grade their work deserves, no more, no less.
    • Be courteous to such team members too. Some folks have genuine problems that prevent them from contributing more although they may not be able tell you the reasons. Just do your best for the project and assume everyone else is doing their best too, although their best may be lower than yours.

    Admin Apdx C (FAQs) → Why so many submissions? : OPTIONAL

    Why so many submissions? : OPTIONAL

    The high number of submissions is not meant to increase workload but to spread it across the semester. Learning theory and applying them should be done in parallel to maximize the learning effect. That can happen only if we spread theory and 'application of theory' (i.e., project work) evenly across the semester.

    Admin Apdx C (FAQs) → Why submission requirements differ between CS2113T and CS2101? : OPTIONAL

    Why submission requirements differ between CS2113T and CS2101? : OPTIONAL

    They do, and they should.

    CS2113T communication requirements are limited to a very narrow scope (i.e., communicate about the product to users and developers). CS2101 aims to teach you technical communication in a much wider context. While you may be able to reuse some of the stuff across the two modules, submissions are not intended to be exactly the same.