This course will be delivered in blended learning mode (i.e., a mix of online and F2F activities) this semester.

Peer EvaluationsExams


Tools


Tool: Learning Management System

This course website is the main source of information for the course. In addition, we use Canvas for some things (e.g., announcements, file submissions, grade book, ...).

Tool: Zoom (for weekly briefings)

Install Zoom on your computer. Installation and login instructions are here. Remember to login using your NUSNET account.

Tool: GitHub (for code hosting)

You are required to use GitHub as the hosting and collaboration platform of your project (i.e., to hold the Code repository, Issue Tracker, etc.).

Preparation:

Create a GitHub account (if you don't have one yet), as explained in the panel below.

More info: See Appendix E - Using GitHub.

Tool: Git (for revision control)

You are required to use Git. Installing and configuring Git is covered in this lesson of the Git Learning Trail.

Tools: for communication

  • Send all course-related emails to cs2103[at]comp.nus.edu.sg.
    Even if your course code is CS2103T, the email to use is cs2103@... (i.e., not cs2103t@...).
Forum (for discussions, asking admin questions, seeking help, etc.)
  • The preferred channels for course-related communication is the forum on GitHub https://github.com/nus-cs2103-AY2526S1/forum/issues (not the Canvas forum)
  • When communicating with instructors, use the forum. Use private channels (e.g., emails, private messages, face-to-face, private chat groups) only when the forum is not suitable. Rationale: 1. More classmates can benefit from the discussions, 2. It is also safer because the prof can monitor information you receive for accuracy.
  • You are encouraged to help others in the forum (e.g., share tips, help with technical problems). We consider forum participation for grading (for participation) and when recruiting tutors.

Preparation:

We encourage all to watch the forum to get alerts when new issues/comments are posted image

MS Teams (for tutorials)
  • MS Teams is used in our tutorials.
    Install MST on your computer. Installation and login instructions are here. Remember to log in using your NUSNET account.

All admin questions and technical help requests should be sent to the course email or posted in the forum. Tutors are not allowed to respond to admin questions and technical help requests. See the panel below for more details.

Tool: The IDE

IntelliJ IDEA is the recommended IDE for course-related programming work. Using an IDE is strongly recommended but is not compulsory.

Our Intellij IDEA resources can be found at se-edu/guides.

Use other IDEs at your own risk, because,
a) course materials are optimized for IntelliJ, and,
b) we won't be able to help you if you run into problems while using any other IDE.

That said, we have also provided a good amount of resources for VS Code at se-edu/guides.

Preparation:

  • Install the IDE on your computer. You may use the IntelliJ community edition (free) or the ultimate edition (free for students).
  • If you have an older version of the IDE, we recommend updating to the latest version.

Tool: RepoSense (for authorship tracking)

We will be using a tool called RepoSense to make it easier for you to see (and learn from) code written by others, and to help us see who wrote which part of the code.

RepoSense report screenshotFigure: RepoSense Report Features

Viewing the current status of code authorship data:

  • The reports generated by the tool for the individual and team projects will be made available in the course website at some point in the semester. The feature that is most relevant to you is the Code Panel (shown on the right side of the screenshot above). It shows the code attributed to a given author.
  • Click on your name to load the code attributed to you (based on Git blame/log data) onto the code panel on the right.
  • If the code shown roughly matches the code you wrote, all is fine and there is nothing for you to do.

If the code does not match the actual authorship: Given below are the possible reasons for the code shown to mismatch the code you wrote.

  • Reason 1: the Author name of some of your commits is not known to RepoSense -- this is a result of not setting the git.username property as instructed in our Git setup instructions.
    How to check: Find the Author name of your commits that are missing (you can use Sourcetree or the git log command for that -- it's not possible to do that using the GitHub interface though).
    Check if that author name is included in the RepoSense config for the iP or the RepoSense config for the tP (whichever the applicable one)
    Remedy: Send the missing author name(s) to the prof so that the RepoSense configuration can be updated accordingly.

  • Reason 2: The actual authorship does not match the authorship determined by git blame/log e.g., another student touched your code after you wrote it, and Git log attributed the code to that student instead.
    Remedy: You can add @@author annotations as explained in the panel below:

Adding @@author tags to indicate authorship


  • Reason 3: Some commits should not be included in the authorship analysis e.g., you committed the code of a third party library by mistake.
    Remedy: Let us know the hashes of the commits that need to be omitted from the analysis.

If none of the above works, please please post in the forum or contact us via cs2103@comp.nus.edu.sg so that we can advise you what to do.

We recommend you ensure your code is RepoSense-compatible by v1.5

Tool: TEAMMATES (for Peer Evaluations)

We use the TEAMMATES online peer evaluation system. TEAMMATES is a project run by NUS SoC students and used by over a million users from over 1500 universities.

Preparation: When the first feedback session is open on TEAMMATES, you will receive an email from TEAMMATES. There is nothing for you to do until then.

When you do receive that email, it will contain a unique link that you can use to access TEAMMATES without logging in first. Logging in to TEAMMATES using a Google account is optional (but doing so will allow you to see all your TEAMMATES sessions in one page).


Peer EvaluationsExams