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 11 [from Wed Mar 25 noon] - Tutorial

    Guidance for the item(s) below:

    • This week's activity is to be done during the tutorial slot itself, during which the tutor will be monitoring the forum / Gitter chat and the PRs being reviewed.
    • Please read all instructions first, before you start the activity.

    1 Review the Developer GuideDG of a Peer Team

    • Find the team choices you have been allocated to review, as given in the panel below.
    Your GitHub First choice Second choice Third choice
    A11riseforme CS2113-T14-3 DG PR CS2113-T15-4 DG PR CS2113-T15-1 DG PR
    Anqi-nus CS2113T-M16-2 DG PR CS2113-T14-1 DG PR CS2113T-T13-1 DG PR
    Bencotti CS2113T-T12-3 DG PR CS2113-T15-1 DG PR CS2113T-M16-1 DG PR
    DDzuikeai CS2113T-T13-2 DG PR CS2113-T14-4 DG PR CS2113T-M16-2 DG PR
    DeetoMok CS2113T-M16-2 DG PR CS2113-T14-2 DG PR CS2113T-T12-4 DG PR
    GanapathySanathBalaji CS2113T-M16-1 DG PR CS2113T-T13-1 DG PR CS2113-T14-3 DG PR
    HAOYUN49 CS2113-T14-1 DG PR CS2113T-M16-1 DG PR CS2113-T14-4 DG PR
    JLoh579 CS2113-T14-4 DG PR CS2113T-M16-2 DG PR CS2113-T15-4 DG PR
    JTWang2000 CS2113T-T13-3 DG PR CS2113-T15-1 DG PR CS2113T-T12-1 DG PR
    Janicetyy CS2113-T15-4 DG PR CS2113T-T13-2 DG PR CS2113T-T13-3 DG PR
    JensonWee CS2113-T15-2 DG PR CS2113T-T12-2 DG PR CS2113T-T12-4 DG PR
    JeremiasLiew CS2113-T14-2 DG PR CS2113T-T12-1 DG PR CS2113T-T12-3 DG PR
    Jeremy733 CS2113T-T13-1 DG PR CS2113-T14-3 DG PR CS2113T-T13-2 DG PR
    JosephLimWeiJie CS2113-T15-2 DG PR CS2113T-M16-2 DG PR CS2113-T15-3 DG PR
    JustinnT CS2113-T15-1 DG PR CS2113T-T12-3 DG PR CS2113T-T12-2 DG PR
    Keith-JK CS2113-T14-4 DG PR CS2113T-T12-2 DG PR CS2113-T15-1 DG PR
    MeLoveCarbs CS2113-T14-1 DG PR CS2113T-M16-2 DG PR CS2113-T14-4 DG PR
    NizarMohd CS2113-T15-1 DG PR CS2113T-T13-3 DG PR CS2113-T15-3 DG PR
    NyanWunPaing CS2113-T15-1 DG PR CS2113T-T13-2 DG PR CS2113-T14-2 DG PR
    RenzoTsai CS2113T-T13-1 DG PR CS2113-T14-4 DG PR CS2113-T14-1 DG PR
    Shannonwje CS2113T-T12-2 DG PR CS2113-T14-2 DG PR CS2113T-T12-4 DG PR
    SibingWu CS2113T-T12-4 DG PR CS2113-T15-1 DG PR CS2113T-T12-2 DG PR
    Yukilite CS2113T-M16-2 DG PR CS2113-T14-1 DG PR CS2113-T15-2 DG PR
    Zhilin-Huang CS2113T-T13-3 DG PR CS2113-T15-3 DG PR CS2113-T15-1 DG PR
    alaukiknpant CS2113-T15-3 DG PR CS2113T-M16-1 DG PR CS2113-T15-4 DG PR
    alexlim510 CS2113T-T13-3 DG PR CS2113-T14-4 DG PR CS2113-T14-1 DG PR
    alwayshuizhen CS2113-T15-4 DG PR CS2113T-T12-4 DG PR CS2113-T14-2 DG PR
    ananda-lye CS2113T-T12-1 DG PR CS2113T-T12-4 DG PR CS2113T-T12-3 DG PR
    andy-aw-why CS2113T-T12-4 DG PR CS2113-T14-3 DG PR CS2113-T14-2 DG PR
    benchan911 CS2113-T15-1 DG PR CS2113T-M16-2 DG PR CS2113-T14-1 DG PR
    bennychanya CS2113T-T12-3 DG PR CS2113-T14-2 DG PR CS2113-T14-4 DG PR
    brandoncjh CS2113-T14-1 DG PR CS2113T-M16-1 DG PR CS2113-T14-3 DG PR
    btricec CS2113T-T12-1 DG PR CS2113T-T13-3 DG PR CS2113-T14-1 DG PR
    chengTzeNing CS2113T-T12-1 DG PR CS2113-T14-1 DG PR CS2113-T14-3 DG PR
    cheongisabella CS2113-T15-3 DG PR CS2113T-T12-3 DG PR CS2113-T14-4 DG PR
    dejunnn CS2113T-T12-2 DG PR CS2113-T14-1 DG PR CS2113T-T12-1 DG PR
    e0309556 CS2113-T14-4 DG PR CS2113T-T12-1 DG PR CS2113T-T12-2 DG PR
    g-lilian CS2113-T15-3 DG PR CS2113T-M16-1 DG PR CS2113-T15-4 DG PR
    gmuthu17 CS2113T-T13-3 DG PR CS2113-T15-1 DG PR CS2113T-M16-2 DG PR
    harithadiv CS2113T-M16-1 DG PR CS2113T-T13-3 DG PR CS2113-T14-3 DG PR
    hongquan448 CS2113T-M16-2 DG PR CS2113-T14-2 DG PR CS2113-T15-2 DG PR
    iceclementi CS2113-T15-2 DG PR CS2113T-T12-2 DG PR CS2113-T14-2 DG PR
    itskesin CS2113-T15-4 DG PR CS2113T-T13-2 DG PR CS2113-T15-3 DG PR
    jiajuinphoon CS2113T-M16-1 DG PR CS2113T-T12-4 DG PR CS2113T-M16-2 DG PR
    jichngan CS2113-T14-2 DG PR CS2113T-T12-1 DG PR CS2113T-T12-3 DG PR
    jinfayap CS2113-T15-1 DG PR CS2113T-T12-3 DG PR CS2113T-T13-1 DG PR
    joelczk CS2113-T14-1 DG PR CS2113-T14-4 DG PR CS2113-T15-1 DG PR
    katelo731 CS2113T-T12-4 DG PR CS2113-T15-1 DG PR CS2113-T15-2 DG PR
    kcubey CS2113T-T12-2 DG PR CS2113T-T13-1 DG PR CS2113T-T12-3 DG PR
    kokjoon97 CS2113-T14-4 DG PR CS2113T-M16-2 DG PR CS2113T-T12-1 DG PR
    lamyuewei CS2113T-M16-2 DG PR CS2113T-T12-2 DG PR CS2113T-T12-1 DG PR
    lowjiayee CS2113-T14-2 DG PR CS2113-T15-3 DG PR CS2113T-M16-1 DG PR
    lowxizhi CS2113-T15-4 DG PR CS2113T-T13-1 DG PR CS2113T-T13-2 DG PR
    lwxymere CS2113-T14-3 DG PR CS2113T-T12-1 DG PR CS2113-T15-1 DG PR
    matthewc97 CS2113-T15-2 DG PR CS2113T-T13-1 DG PR CS2113-T14-2 DG PR
    melylopez99 CS2113T-T13-2 DG PR CS2113-T15-2 DG PR CS2113-T15-3 DG PR
    nguan1 CS2113T-T13-1 DG PR CS2113-T15-4 DG PR CS2113T-M16-1 DG PR
    nigellenl CS2113-T14-3 DG PR CS2113T-M16-1 DG PR CS2113T-M16-2 DG PR
    quinnyyy CS2113T-T13-2 DG PR CS2113-T15-3 DG PR CS2113T-T12-2 DG PR
    rdimaio CS2113T-T12-2 DG PR CS2113-T14-3 DG PR CS2113T-M16-1 DG PR
    rsanchez-macias CS2113T-T13-1 DG PR CS2113-T15-2 DG PR CS2113T-M16-2 DG PR
    sitinadiah25 CS2113T-M16-1 DG PR CS2113T-T13-2 DG PR CS2113T-M16-2 DG PR
    siuhian CS2113T-M16-1 DG PR CS2113T-M16-2 DG PR CS2113T-T12-1 DG PR
    sliu107 CS2113T-T12-4 DG PR CS2113-T15-2 DG PR CS2113-T15-4 DG PR
    synCKun CS2113T-T13-1 DG PR CS2113T-T13-3 DG PR CS2113-T15-3 DG PR
    terrytay CS2113-T14-3 DG PR CS2113-T15-4 DG PR CS2113T-T13-3 DG PR
    thanhduc2000 CS2113-T15-3 DG PR CS2113T-T12-4 DG PR CS2113T-M16-2 DG PR
    trishaangelica CS2113T-M16-2 DG PR CS2113T-T12-3 DG PR CS2113-T15-1 DG PR
    wangqinNick CS2113-T14-2 DG PR CS2113-T15-4 DG PR CS2113-T15-2 DG PR
    yantingsanity CS2113T-T12-3 DG PR CS2113T-T13-1 DG PR CS2113-T15-2 DG PR
    yolanmz CS2113T-T13-3 DG PR CS2113-T15-2 DG PR CS2113-T15-3 DG PR
    yuchenlichuck CS2113T-T13-2 DG PR CS2113-T15-3 DG PR CS2113T-M16-1 DG PR
    yuxianglim CS2113T-T12-3 DG PR CS2113-T14-3 DG PR CS2113T-T12-4 DG PR
    zi-hui CS2113T-T12-1 DG PR CS2113T-T13-3 DG PR CS2113T-T12-4 DG PR
    • Decide which of the given team(s) to review:

      • Open the DG link of the team allocated as 'First choice'.
      • Confirm that the DG has significant updates, to the diagrams in particular. If it doesn't, you can try the DG of the 'Second choice' team, and failing that, 'Third choice' team.
      • If neither one of the three has enough updates but collectively they have enough updates, you can also review all of them.
      • Failing all above, you can pick any other team(s) to review.
      • Try to give at least 4 comments in total.
    • Go to the PR of the team(s) you have chosen to review.

    • Review the Design and the Implementation sections w.r.t possible DG bugs (given further down); add your observations as comments.

    • In the PR, add review comments (i.e., in the files changed tab) in the corresponding place of the code.
      • In this case, choose the option rather than option.
    • But if the 'files changed' tab is too laggy, you can add a normal comment instead in the conversation tab.
      • In this case, enter each observation as a separate comment (reason: our bot will count the number of comments you have given to determine if you qualify for participation points)
    • Phrase your comments as question/doubts (e.g., Is this format correct? Should it be ... instead?) rather than directives (e.g., Change this to ...).
      Where possible, use screenshots from their DG in your comments, preferably with annotations. This is particularly useful when commenting on diagrams. An example given below:
    • The understanding you gain from this exercise can indirectly determine how well you do in your own project. Note that your comments will be reviewed by a tutor later.
    DG - Possible Bugs

    Pay attention to these as they are same as the final evaluation criteria of the DG.

    UML diagrams:

    • Notation incorrect or not compliant with the notation covered in the module.
    • Some other type of diagram used when a UML diagram would have worked just as well.
    • The diagram used is not suitable for the purpose it is used.
    • The diagram is too complicated.

    Use of visuals

    • Not enough visuals e.g., screenshots/diagrams
    • The visuals are not well integrated to the explanation
    • The visuals are unnecessarily repetitive e.g., same visual repeated with minor changes

    Use of examples:

    • Not enough or too many examples e.g., sample inputs/outputs

    Explanations:

    • The explanation is too brief or unnecessarily long.
    • The information is hard to understand for the target audience. e.g., using terms the reader might not know

    Neatness/Correctness:

    • looks messy
    • not well-formatted
    • broken links, other inaccuracies, typos, etc.

    Also see:

    • Aim to showcase your documentation skills. The stated objective of the DG is to explain the implementation to a future developer, but a secondary objective is to serve as evidence of your ability to document deeply-technical content using prose, examples, diagrams, code snippets, etc. appropriately. To that end, you may also describe features that you plan to implement in the future, even beyond v2.1 (hypothetically).
      For an example, see the description of the undo/redo feature implementation in the AddressBook-Level3 (AB3) developer guide.
    • Use multiple UML diagram types. Following from the point above, try to include UML diagrams of multiple types to showcase your ability to use different UML diagrams.
    • Keep diagrams simple. The aim is to make diagrams comprehensible, not necessarily comprehensive.
      Ways to simplify diagrams:
      • Omit less important details. Examples:
        • a class diagram can omit minor utility classes, private/unimportant members; some less-important associations can be shown as attributes instead.
        • a sequence diagram can omit less important interactions, self-calls.
      • Omit repetitive details e.g., a class diagram can show only a few representative ones in place of many similar classes (note how the AB3 Logic class diagram shows concrete *Command classes).
      • Limit the scope of a diagram. Decide the purpose of the diagram (i.e., what does it help to explain?) and omit details not relevant to that purpose.
      • Break diagrams into smaller fragments when possible.
        • If a component has a lot of classes, consider further dividing into sub-components (e.g., a Parser sub-component inside the Logic component). After that, sub-components can be shown as black-boxes in the main diagram and their details can be shown as separate diagrams.
        • You can use ref frames to break sequence diagrams to multiple diagrams.
    • Integrate diagrams into the description. Place the diagram close to where it is being described.
    • Use code snippets sparingly. The more you use code snippets in the DG, and longer the code snippet, the higher the risk of it getting outdated quickly. Instead, use code snippets only when necessary and cite only the strictly relevant parts only.
    • Resize diagrams so that the text size in the diagram matches the the text size of the main text of the diagram. See example.

    These class diagrams seem to have lot of member details, which can get outdated pretty quickly:


    This class diagram seems to have too many classes:
    These sequence diagrams are bordering on 'too complicated':

    In this negative example, the text size in the diagram is much bigger than the text size used by the document:

    It will look more 'polished' if the two text sizes match.