This site is from a past semester! The current version will be here when the new semester starts.
CS2113/T 2021 Jan-May
  • Full Timeline
  • Week 1 [Mon, Jan 11th]
  • Week 2 [Mon, Jun 21st]
  • Week 3 [Mon, Jun 28th]
  • Week 4 [Mon, Jul 5th]
  • Week 5 [Mon, Jul 12th]
  • Week 6 [Mon, Jul 19th]
  • Week 7 [Mon, Jul 26th]
  • Week 8 [Mon, Aug 9th]
  • Week 9 [Mon, Aug 16th]
  • Week 10 [Mon, Aug 23rd]
  • Week 11 [Mon, Aug 30th]
  • Week 12 [Mon, Sep 6th]
  • Week 13 [Mon, Sep 13th]
  • Textbook
  • Admin Info
  • Dashboards
  •  Individual Project (iP):
  • Individual Project Info
  • iP Upstream Repo
  • iP Code Dashboard
  • iP Progress Dashboard

  •  Team Project (tP):
  • Team Project Info
  • Reference AB3
  • Team List
  • tP Code Dashboard
  • tP Progress Dashboard
  • Java exercises
  • Report Bugs
  • Forum
  • Gitter (Chat)
  • Instructors
  • Announcements
  • Files (handouts, submissions etc.)
  • Tutorial Schedule
  • Java Coding Standard
  • Git Conventions
  • Forum Activities Dashboard
  • Participation Dashboard
  • iP: Week 3iP: Week 5


    iP: Week 4

    1. Create a PR to the upstream repo Mon, Feb 1st 2359
    2. Add Increments: Level-4, A-TextUiTesting, A-CodeQuality
    3. Get ready to review PRs before the tutorial
    4. Review some peer PRs during the tutorial counted for participation

    1 Create a PR to the upstream repo Mon, Feb 1st 2359

    • Create a pull request (PR) from your fork to the upstream repo. Note the following:
      • Create the PR from the master branch of your fork to the master branch of the upstream repo (https://github.com/nus-cs2113-AY2021S2/ip)
      • Set the PR name as [{Your name}] iP e.g., [John Doe] iP If you are reluctant to give full name, you may give the first half of your name only.
        You may leave the description as empty.
      • If you created the PR correctly, it should appear in the list of PRs here.
      • Steps for creating a PR is given in this textbook topic (steps 5 onwards):

    Suppose you want to propose some changes to a GitHub repo (e.g., samplerepo-pr-practice) as a pull request (PR). Here is a scenario you can try in order to learn how to create PRs:

    A pull request (PR for short) is a mechanism for contributing code to a remote repo, i.e., "I'm requesting you to pull my proposed changes to your repo". For this to work, the two repos must have a shared history. The most common case is sending PRs from a fork to its upstream repo is a repo you forked fromupstream repo.

    1. Fork the repo onto your GitHub account.

    2. Clone it onto your computer.

    3. Commit your changes e.g., add a new file with some contents and commit it.

    • Option A - Commit changes to the master branch
    • Option B - Commit to a new branch e.g., create a branch named add-intro (remember to switch to the master branch before creating a new branch) and add your commit to it.

    4. Push the branch you updated (i.e., master branch or the new branch) to your fork, as explained here.

    Pushing a branch to a remote repo

    Here's how to push a branch to a remote repo:

    Here's how to push a branch named add-intro to your own fork of a repo named samplerepo-pr-practice:

    Normally: git push {remote repository} {branch}. Examples:

    • git push origin master pushes the master branch to the repo named origin (i.e., the repo you cloned from)
    • git push upstream-repo add-intro pushes the add-intro branch to the repo named upstream-repo

    If pushing a branch you created locally to the remote for the first time, add the -u flag to get the local branch to track the new upstream branch:
    e.g., git push -u origin add-intro

    See git-scm.com/docs/git-push for details of the push command.

    5. Initiate the PR creation:

    1. Go to your fork.

    2. Click on the Pull requests tab followed by the New pull request button. This will bring you to the 'Comparing changes' page.

    3. Set the appropriate target repo and the branch that should receive your PR, using the base repository and base dropdowns. e.g.,
      base repository: se-edu/samplerepo-pr-practice base: master

      Normally, the default value shown in the dropdown is what you want but in case your fork has e.g., the repo you forked from is also a fork of a another repo, which means both of those are considered upstream repos of your forkmultiple upstream repos, the default may not be what you want.

    4. Indicate which repo:branch contains your proposed code, using the head repository and compare dropdowns. e.g.,
      head repository: myrepo/samplerepo-pr-practice compare: master

    6. Verify the proposed code: Verify that the diff view in the page shows the exact change you intend to propose. If it doesn't, commit the new code and push to the branchupdate the branch as necessary.

    7. Submit the PR:

    1. Click the Create pull request button.

    2. Fill in the PR name and description e.g.,
      Name: Add an introduction to the README.md
      Description:

      Add some paragraph to the README.md to explain ...
      Also add a heading ...
      
    3. If you want to indicate that the PR you are about to create is 'still work in progress, not yet ready', click on the dropdown arrow in the Create pull request button and choose Create draft pull request option.

    4. Click the Create pull request button to create the PR.

    5. Go to the receiving repo to verify that your PR appears there in the Pull requests tab.

    The next step of the PR life cycle is the PR review. The members of the repo that received your PR can now review your proposed changes.

    • If they like the changes, they can merge the changes to their repo, which also closes the PR automatically.
    • If they don't like it at all, they can simply close the PR too i.e., they reject your proposed change.
    • In most cases, they will add comments to the PR to suggest further changes. When that happens, GitHub will notify you.

    You can update the PR along the way too. Suppose PR reviewers suggested a certain improvement to your proposed code. To update your PR as per the suggestion, you can simply modify the code in your local repo, commit the updated code to the same master branch, and push to your fork as you did earlier. The PR will auto-update accordingly.

    Sending PRs using the master branch is less common than sending PRs using separate branches. For example, suppose you wanted to propose two bug fixes that are not related to each other. In that case, it is more appropriate to send two separate PRs so that each fix can be reviewed, refined, and merged independently. But if you send PRs using the master branch only, both fixes (and any other change you do in the master branch) will appear in the PRs you create from it.

    To create another PR while the current PR is still under review, create a new branch (remember to switch back to the master branch first), add your new proposed change in that branch, and create a new PR following the steps given above.

    It is possible to create PRs within the same repo e.g., you can create a PR from branch feature-x to the master branch, within the same repo. Doing so will allow the code to be reviewed by other developers (using PR review mechanism) before it is merged.

    The PR will update automatically to reflect your latest code every time you push code to your fork. As a result, it provides a convenient way for us to access the current state of all your iP code from one location.

    Pull Requests is a mechanism for offering code to a repository e.g., a bug fix or a new feature. PRs allow developers to review, discuss, and refine proposed code changes before incorporating (i.e., merging) the new code to the repository.

    Resources:

    2 Add Increments: Level-4, A-TextUiTesting, A-CodeQuality

    Duke Level-4: ToDo, Event, Deadline

    Level 4. ToDos, Events, Deadlines

    Add support for tracking three types of tasks:

    1. ToDos: tasks without any date/time attached to it e.g., visit new theme park
    2. Deadlines: tasks that need to be done before a specific date/time e.g., submit report by 11/10/2019 5pm
    3. Events: tasks that start at a specific time and ends at a specific time e.g., team project meeting on 2/10/2019 2-4pm

    Example:

    todo borrow book
        ____________________________________________________________
         Got it. I've added this task: 
           [T][ ] borrow book
         Now you have 5 tasks in the list.
        ____________________________________________________________
    
    list
        ____________________________________________________________
         Here are the tasks in your list:
         1.[T][X] read book
         2.[D][ ] return book (by: June 6th)
         3.[E][ ] project meeting (at: Aug 6th 2-4pm)
         4.[T][X] join sports club
         5.[T][ ] borrow book
        ____________________________________________________________
    
    deadline return book /by Sunday
        ____________________________________________________________
         Got it. I've added this task: 
           [D][ ] return book (by: Sunday)
         Now you have 6 tasks in the list.
        ____________________________________________________________
    
    event project meeting /at Mon 2-4pm
        ____________________________________________________________
         Got it. I've added this task: 
           [E][ ] project meeting (at: Mon 2-4pm)
         Now you have 7 tasks in the list.
        ____________________________________________________________
    

    At this point, dates/times can be treated as strings; there is no need to convert them to actual dates/times.

    Example:

    
    deadline do homework /by no idea :-p
        ____________________________________________________________
         Got it. I've added this task: 
           [D][ ] do homework (by: no idea :-p)
         Now you have 6 tasks in the list.
        ____________________________________________________________
    

    When implementing this feature, you are also recommended to implement the following extension:

    A-Inheritance

         Use Inheritance to support multiple task types

    As there are multiple types of tasks that have some similarity between them, you can implement classes Todo, Deadline and Event classes to inherit from a Task class.

    Furthermore, use polymorphism to store all tasks in a data structure containing Task objects e.g., Task[100].

    public class Deadline extends Task {
    
        protected String by;
    
        public Deadline(String description, String by) {
            super(description);
            this.by = by;
        }
    
        @Override
        public String toString() {
            return "[D]" + super.toString() + " (by: " + by + ")";
        }
    }
    
    Task[] tasks = new Task[100];
    task[0] = new Deadline("return book", "Monday");
    
    Duke A-TextUiTesting: Automated Text UI Testing optional

    A-TextUiTesting

         Test using the I/O redirection technique

    Use the input/output redirection technique to semi-automate the testing of Duke.

    Notes:

    • A tutorial of this technique is here.
    • The required scripts are provided in the Duke repo (see the text-ui-test folder).
    Duke A-CodeQuality: Improve Code Quality

    A-CodeQuality

         Improve code quality

    Critically examines the code and refactor to improve the code quality where necessary.

    When adding this increment, follow closely the 'Code Quality' topics you have learned so far, rather than merely follow your own intuition about code quality.

    3 Get ready to review PRs before the tutorial

    • Do the following to prepare for the PR review exercise you will be doing in the coming tutorial.
      • Learn how to review PRs:

    The PR review stage is a dialog between the PR author and members of the repo that received the PR, in order to refine and eventually merge the PR.

    Given below are some steps you can follow when reviewing a PR.

    1. Locate the PR:

    1. Go to the GitHub page of the repo.
    2. Click on the Pull requests tab.
    3. Click on the PR you want to review.

    2. Read the PR description. It might contain information relevant to reviewing the PR.

    3. Click on the Files changed tab to see the diff view.

    4. Add review comments:

    1. Hover over the line you want to comment on and click on the icon that appears on the left margin. That should create a text box for you to enter your comment.
      To mark multiple lines, click-and-drag the icon.
    2. Enter your comment.
      This page @SE-EDU/guides has some best practices PR reviewers can follow.
    3. After typing in the comment, click on the Start a review button (not the Add single comment button. This way, your comment is saved but not visible to others yet. It will be visible to others only when you have finished the entire review.

    4. Repeat the above steps to add more comments.

    5. Submit the review:

    1. When there are no more comments to add, click on the Review changes button (on the top right of the diff page).
    2. Type in an overall comment about the PR, if any. e.g.,
      Overall, I found your code easy to read for the most part except a few places
      where the nesting was too deep. I noted a few minor coding standard violations
      too. Some of the classes are getting quite long. Consider splitting into smaller
      classes if that makes sense.
      
      LGTM is often used in such overall comments, to indicate Looks good to merge.
      nit is another such term, used to indicate minor flaws e.g., LGTM, almost. Just a few nits to fix..
    3. Choose Approve, Comment, or Request changes option as appropriate and click on the Submit review button.

    4 Review some peer PRs during the tutorial counted for participation

    This task is worth 2x2=4 participtaion points.

    • Learn how you should review PRs in this task:

    The PR review stage is a dialog between the PR author and members of the repo that received the PR, in order to refine and eventually merge the PR.

    Given below are some steps you can follow when reviewing a PR.

    1. Locate the PR:

    1. Go to the GitHub page of the repo.
    2. Click on the Pull requests tab.
    3. Click on the PR you want to review.

    2. Read the PR description. It might contain information relevant to reviewing the PR.

    3. Click on the Files changed tab to see the diff view.

    4. Add review comments:

    1. Hover over the line you want to comment on and click on the icon that appears on the left margin. That should create a text box for you to enter your comment.
      To mark multiple lines, click-and-drag the icon.
    2. Enter your comment.
      This page @SE-EDU/guides has some best practices PR reviewers can follow.
    3. After typing in the comment, click on the Start a review button (not the Add single comment button. This way, your comment is saved but not visible to others yet. It will be visible to others only when you have finished the entire review.

    4. Repeat the above steps to add more comments.

    5. Submit the review:

    1. When there are no more comments to add, click on the Review changes button (on the top right of the diff page).
    2. Type in an overall comment about the PR, if any. e.g.,
      Overall, I found your code easy to read for the most part except a few places
      where the nesting was too deep. I noted a few minor coding standard violations
      too. Some of the classes are getting quite long. Consider splitting into smaller
      classes if that makes sense.
      
      LGTM is often used in such overall comments, to indicate Looks good to merge.
      nit is another such term, used to indicate minor flaws e.g., LGTM, almost. Just a few nits to fix..
    3. Choose Approve, Comment, or Request changes option as appropriate and click on the Submit review button.

    • Step 1 Note these additional guidelines:

      • Read the Best practices for reviewing PRs @SE-EDU/guides. You are expected to follow all of them.
      • If the PR has received some review comments already, feel free to confirm/complement/question those comments in your review. Also, look for things the previous reviewers may have missed.
      • At the end of the review, choose Comment (i.e., not Approve or Request changes)
    • Step 2 Do the first PR review as follows.

      • Comment on coding standard violations only.
      • The review allocation is given in the panel below.
    Tutorial Reviewer First PR to review Backup PR to review
    CS2113-F10 beaniestanley Chiamjiaen bryanwhl
    CS2113-F10 CabbageTime blank-bank justinaquak
    CS2113-F10 heyjinwei song0180 jhjhajh
    CS2113-F10 jadenwjh CabbageTime blank-bank
    CS2113-F10 song0180 jhjhajh cloudy3
    CS2113-F10 lihaoyangML jadenwjh CabbageTime
    CS2113-F10 lowwilliam baggiiiie NoorSarrah
    CS2113-F10 cloudy3 lihaoyangML jadenwjh
    CS2113-F10 baggiiiie NoorSarrah beaniestanley
    CS2113-F10 PingruiLi nivikcivik huachen24
    CS2113-F10 warmwhalefy BlubberMonster AlexanderTanJunAn
    CS2113-F10 justinaquak jianningzhuang warmwhalefy
    CS2113-T10 joohwan58 hussain1998 Vinci-Hu
    CS2113-T10 SimJJ96 951553394 violinyap
    CS2113-T10 leeyp brynagoh ongweisheng
    CS2113-T10 JoviYeung92 zhangyongzhe20 Cocokkkk
    CS2113-T10 nagiteja KimIdeas8 Rye98
    CS2113-T10 kwokyto kangxinwang tehtea
    CS2113-T10 tehtea Zufiqqar JonathanKhooTY
    CS2113-T10 violinyap joohwan58 hussain1998
    CS2113-T10 L-Irvin JoviYeung92 zhangyongzhe20
    CS2113-T10 chenling1022 Rizavur iamakilahamed
    CS2113-T10 Zufiqqar JonathanKhooTY geezzzyyy
    CS2113-T10 geezzzyyy chenling1022 Rizavur
    CS2113-T10 zhangyongzhe20 Cocokkkk sarzorwyn
    CS2113-T10 boonjuey KevinNgWK soepaingzaw
    CS2113-T10 KevinNgWK soepaingzaw E00426142
    CS2113-T10 Tyuanyuan fangxinjia0203 rageqqq
    CS2113-T10 brynagoh ongweisheng boonjuey
    CS2113-T10 cswbibibi douglaslewpc kwokyto
    CS2113-T10 kangxinwang tehtea Zufiqqar
    CS2113-T10 Vinci-Hu Tyuanyuan fangxinjia0203
    CS2113-W10 FarmZH98 aliciatay-zls leowxx
    CS2113-W10 jalvinchan LJ-37 Emkay16
    CS2113-W10 jovanhuang jonahtwl Chihui8199
    CS2113-W10 JethroPhuah LeeHanYongAndy seangoats
    CS2113-W10 NgManSing isaharon ManikaHennedige
    CS2113-W10 ManikaHennedige 8kdesign yanli1215
    CS2113-W10 s-t-e-f JethroPhuah LeeHanYongAndy
    CS2113-W10 yanli1215 hiongkaihan s-t-e-f
    CS2113-W10 averliz fsgmhoward oscarlai1998
    CS2113-W10 yyixue averliz fsgmhoward
    CS2113-W10 lamzf1998 H-horizon gerardtwk
    CS2113-W10 Chihui8199 kewenlok brandonfoong
    CS2113-W10 seangoats yyixue averliz
    CS2113-W10 e0699194 jovanhuang jonahtwl
    CS2113T-F08 AlexanderTanJunAn lowwilliam baggiiiie
    CS2113T-F08 BlubberMonster AlexanderTanJunAn lowwilliam
    CS2113T-F08 blank-bank justinaquak jianningzhuang
    CS2113T-F08 huachen24 EmilyTJX hazelhedmine
    CS2113T-F08 jhjhajh cloudy3 lihaoyangML
    CS2113T-F08 EmilyTJX hazelhedmine vvvvh123
    CS2113T-F08 hazelhedmine vvvvh123 Krithigha24
    CS2113T-F08 NoorSarrah beaniestanley Chiamjiaen
    CS2113T-F08 nivikcivik huachen24 EmilyTJX
    CS2113T-F08 Krithigha24 vaiish371 liping-eng
    CS2113T-F08 liping-eng zihan9485 heyjinwei
    CS2113T-F08 MingShun98 PingruiLi nivikcivik
    CS2113T-F08 Chiamjiaen bryanwhl MingShun98
    CS2113T-F08 vaiish371 liping-eng zihan9485
    CS2113T-F08 zihan9485 heyjinwei song0180
    CS2113T-F08 vvvvh123 Krithigha24 vaiish371
    CS2113T-F08 jianningzhuang warmwhalefy BlubberMonster
    CS2113T-F08 bryanwhl MingShun98 PingruiLi
    CS2113T-T09 wjchoi0712 limwenfeng L-Irvin
    CS2113T-T09 fangxinjia0203 rageqqq wjchoi0712
    CS2113T-T09 JonathanKhooTY geezzzyyy chenling1022
    CS2113T-T09 iamakilahamed leeyp brynagoh
    CS2113T-T09 hussain1998 Vinci-Hu Tyuanyuan
    CS2113T-T09 limwenfeng L-Irvin JoviYeung92
    CS2113T-T09 soepaingzaw E00426142 SimBowen
    CS2113T-T09 sarzorwyn cswbibibi douglaslewpc
    CS2113T-T09 Cocokkkk sarzorwyn cswbibibi
    CS2113T-T09 Rye98 SimJJ96 951553394
    CS2113T-T09 Rizavur iamakilahamed leeyp
    CS2113T-T09 SimBowen zikunz nagiteja
    CS2113T-T09 rageqqq wjchoi0712 limwenfeng
    CS2113T-T09 951553394 violinyap joohwan58
    CS2113T-T09 KimIdeas8 Rye98 SimJJ96
    CS2113T-T09 zikunz nagiteja KimIdeas8
    CS2113T-T09 ongweisheng boonjuey KevinNgWK
    CS2113T-T09 E00426142 SimBowen zikunz
    CS2113T-T09 douglaslewpc kwokyto kangxinwang
    CS2113T-W09 brandonfoong xseh marklowsk
    CS2113T-W09 gerardtwk NgManSing isaharon
    CS2113T-W09 kewenlok brandonfoong xseh
    CS2113T-W09 LJ-37 Emkay16 lamzf1998
    CS2113T-W09 hiongkaihan s-t-e-f JethroPhuah
    CS2113T-W09 LeeHanYongAndy seangoats yyixue
    CS2113T-W09 jonahtwl Chihui8199 kewenlok
    CS2113T-W09 tzexern e0699194 jovanhuang
    CS2113T-W09 ivanchongzhien fupernova jalvinchan
    CS2113T-W09 H-horizon gerardtwk NgManSing
    CS2113T-W09 marklowsk ivanchongzhien fupernova
    CS2113T-W09 leowxx tzexern e0699194
    CS2113T-W09 isaharon ManikaHennedige 8kdesign
    CS2113T-W09 oscarlai1998 FarmZH98 aliciatay-zls
    CS2113T-W09 fsgmhoward oscarlai1998 FarmZH98
    CS2113T-W09 aliciatay-zls leowxx tzexern
    CS2113T-W09 Emkay16 lamzf1998 H-horizon
    CS2113T-W09 fupernova jalvinchan LJ-37
    CS2113T-W09 xseh marklowsk ivanchongzhien
    CS2113T-W09 8kdesign yanli1215 hiongkaihan

    If the student you have been allocated to review has not created a PR (or the PR has a trivial amount of code), you can review the Backup PR to review provided in the allocation table. Failing both, review another PR allocated to another student in your own tutorial but not in your team.

    Tip for future reference: GitHub allows you to filter PRs/Issues using various criteria such as author:AuthorUsername (example -- see the filters text box in the target page).

    Alternatively, you can use PR labels (if any) to filter PRs/Issues.

    FAQ: How many comments should I add? Answer: Depends on the code being reviewed but we expect most PRs would warrant at least 4-5 comments. If the PR is huge, you can stop when you think you've put in a fair amount of time on the job (~15 minutes) and added enough comments for the PR author to receive some value.

    • Step 3 Do the second PR review as follows.
      • Comment on other code quality guidelines (see the sections on Naming and Readability in this textbook chapter) you have learned so far. It's optional to comment on coding standard violations in this PR review.
      • The review allocation is given in the panel below.
    Tutorial Reviewer Second PR to review Backup PR to review
    CS2113-F10 beaniestanley MingShun98 PingruiLi
    CS2113-F10 CabbageTime jianningzhuang warmwhalefy
    CS2113-F10 heyjinwei cloudy3 lihaoyangML
    CS2113-F10 jadenwjh justinaquak jianningzhuang
    CS2113-F10 song0180 lihaoyangML jadenwjh
    CS2113-F10 lihaoyangML blank-bank justinaquak
    CS2113-F10 lowwilliam beaniestanley Chiamjiaen
    CS2113-F10 cloudy3 CabbageTime blank-bank
    CS2113-F10 baggiiiie Chiamjiaen bryanwhl
    CS2113-F10 PingruiLi EmilyTJX hazelhedmine
    CS2113-F10 warmwhalefy lowwilliam baggiiiie
    CS2113-F10 justinaquak BlubberMonster AlexanderTanJunAn
    CS2113-T10 joohwan58 Tyuanyuan fangxinjia0203
    CS2113-T10 SimJJ96 joohwan58 hussain1998
    CS2113-T10 leeyp boonjuey KevinNgWK
    CS2113-T10 JoviYeung92 sarzorwyn cswbibibi
    CS2113-T10 nagiteja SimJJ96 951553394
    CS2113-T10 kwokyto Zufiqqar JonathanKhooTY
    CS2113-T10 tehtea geezzzyyy chenling1022
    CS2113-T10 violinyap Vinci-Hu Tyuanyuan
    CS2113-T10 L-Irvin Cocokkkk sarzorwyn
    CS2113-T10 chenling1022 leeyp brynagoh
    CS2113-T10 Zufiqqar chenling1022 Rizavur
    CS2113-T10 geezzzyyy iamakilahamed leeyp
    CS2113-T10 zhangyongzhe20 cswbibibi douglaslewpc
    CS2113-T10 boonjuey E00426142 SimBowen
    CS2113-T10 KevinNgWK SimBowen zikunz
    CS2113-T10 Tyuanyuan wjchoi0712 limwenfeng
    CS2113-T10 brynagoh KevinNgWK soepaingzaw
    CS2113-T10 cswbibibi kangxinwang tehtea
    CS2113-T10 kangxinwang JonathanKhooTY geezzzyyy
    CS2113-T10 Vinci-Hu rageqqq wjchoi0712
    CS2113-W10 FarmZH98 tzexern e0699194
    CS2113-W10 jalvinchan lamzf1998 H-horizon
    CS2113-W10 jovanhuang kewenlok brandonfoong
    CS2113-W10 JethroPhuah yyixue averliz
    CS2113-W10 NgManSing 8kdesign yanli1215
    CS2113-W10 ManikaHennedige hiongkaihan s-t-e-f
    CS2113-W10 s-t-e-f seangoats yyixue
    CS2113-W10 yanli1215 JethroPhuah LeeHanYongAndy
    CS2113-W10 averliz FarmZH98 aliciatay-zls
    CS2113-W10 yyixue oscarlai1998 FarmZH98
    CS2113-W10 lamzf1998 NgManSing isaharon
    CS2113-W10 Chihui8199 xseh marklowsk
    CS2113-W10 seangoats fsgmhoward oscarlai1998
    CS2113-W10 e0699194 Chihui8199 kewenlok
    CS2113T-F08 AlexanderTanJunAn NoorSarrah beaniestanley
    CS2113T-F08 BlubberMonster baggiiiie NoorSarrah
    CS2113T-F08 blank-bank warmwhalefy BlubberMonster
    CS2113T-F08 huachen24 vvvvh123 Krithigha24
    CS2113T-F08 jhjhajh jadenwjh CabbageTime
    CS2113T-F08 EmilyTJX Krithigha24 vaiish371
    CS2113T-F08 hazelhedmine vaiish371 liping-eng
    CS2113T-F08 NoorSarrah bryanwhl MingShun98
    CS2113T-F08 nivikcivik hazelhedmine vvvvh123
    CS2113T-F08 Krithigha24 zihan9485 heyjinwei
    CS2113T-F08 liping-eng song0180 jhjhajh
    CS2113T-F08 MingShun98 huachen24 EmilyTJX
    CS2113T-F08 Chiamjiaen PingruiLi nivikcivik
    CS2113T-F08 vaiish371 heyjinwei song0180
    CS2113T-F08 zihan9485 jhjhajh cloudy3
    CS2113T-F08 vvvvh123 liping-eng zihan9485
    CS2113T-F08 jianningzhuang AlexanderTanJunAn lowwilliam
    CS2113T-F08 bryanwhl nivikcivik huachen24
    CS2113T-T09 wjchoi0712 JoviYeung92 zhangyongzhe20
    CS2113T-T09 fangxinjia0203 limwenfeng L-Irvin
    CS2113T-T09 JonathanKhooTY Rizavur iamakilahamed
    CS2113T-T09 iamakilahamed ongweisheng boonjuey
    CS2113T-T09 hussain1998 fangxinjia0203 rageqqq
    CS2113T-T09 limwenfeng zhangyongzhe20 Cocokkkk
    CS2113T-T09 soepaingzaw zikunz nagiteja
    CS2113T-T09 sarzorwyn kwokyto kangxinwang
    CS2113T-T09 Cocokkkk douglaslewpc kwokyto
    CS2113T-T09 Rye98 violinyap joohwan58
    CS2113T-T09 Rizavur brynagoh ongweisheng
    CS2113T-T09 SimBowen KimIdeas8 Rye98
    CS2113T-T09 rageqqq L-Irvin JoviYeung92
    CS2113T-T09 951553394 hussain1998 Vinci-Hu
    CS2113T-T09 KimIdeas8 951553394 violinyap
    CS2113T-T09 zikunz Rye98 SimJJ96
    CS2113T-T09 ongweisheng soepaingzaw E00426142
    CS2113T-T09 E00426142 nagiteja KimIdeas8
    CS2113T-T09 douglaslewpc tehtea Zufiqqar
    CS2113T-W09 brandonfoong ivanchongzhien fupernova
    CS2113T-W09 gerardtwk ManikaHennedige 8kdesign
    CS2113T-W09 kewenlok marklowsk ivanchongzhien
    CS2113T-W09 LJ-37 H-horizon gerardtwk
    CS2113T-W09 hiongkaihan LeeHanYongAndy seangoats
    CS2113T-W09 LeeHanYongAndy averliz fsgmhoward
    CS2113T-W09 jonahtwl brandonfoong xseh
    CS2113T-W09 tzexern jonahtwl Chihui8199
    CS2113T-W09 ivanchongzhien LJ-37 Emkay16
    CS2113T-W09 H-horizon isaharon ManikaHennedige
    CS2113T-W09 marklowsk jalvinchan LJ-37
    CS2113T-W09 leowxx jovanhuang jonahtwl
    CS2113T-W09 isaharon yanli1215 hiongkaihan
    CS2113T-W09 oscarlai1998 leowxx tzexern
    CS2113T-W09 fsgmhoward aliciatay-zls leowxx
    CS2113T-W09 aliciatay-zls e0699194 jovanhuang
    CS2113T-W09 Emkay16 gerardtwk NgManSing
    CS2113T-W09 fupernova Emkay16 lamzf1998
    CS2113T-W09 xseh fupernova jalvinchan
    CS2113T-W09 8kdesign s-t-e-f JethroPhuah

    If the allocated PR is not suitable, use the same strategy as before to find an alternative PR to review.

    • Step 4 [When you receive reviews for your own PR] Respond to comments received. You are recommended to (but not obliged to) respond to comments received from peers, especially if the PR reviewer asked you for more info. As mentioned in these guidelines, do not get into arguments with PR reviewers/authors.


    iP: Week 3iP: Week 5