proj01 : Webapp Projects, Part 1

num ready? description assigned due
proj01 true Webapp Projects, Part 1 Wed 09/07 09:30AM Sun 09/11 11:59PM

Step 1: Set up communication among team/mentor

To ensure that you earn the 1000 project points with a minimum of stress, the most important thing you need to do FIRST today in lab is make sure that you know how to communicate, frequently, over the next 7 days with:

Understand the process

You need to earn 1000 points by next Tuesday.

You may earn up to 1100 points; the extra 100 count as up to 2% extra credit on your final course grade. (Points earned beyond 1100 contribute to your learning, but not to your grade.)

Process in Brief

First the process in brief, then a detailed description of each step.

  1. Issue is created in Github (by anyone) and placed in “To-Do” column of your Project on github.
  2. Issue is approved and points are estimated by Mentor, TA or Instructor. As part of this define clearly what “done” means.
  3. Issue is assigned to one or more team members and placed in “In-Progress” column.
  4. You actually work on the issue.
  5. Issue is completed and a Pull Request is entered. At this point, issue moves to the “Needs Review” column.
  6. Pull Request is peer-reviewed by mentor.
  7. Feedback is placed in the (private) feedback repo for the team that worked on the issue.
  8. TA or Instructor assigns a grade (recorded in the feedback repo).
  9. Points are recorded on Gauchospace

Process in Detail

  1. Issue is created in Github (by anyone) and placed in “To-Do” column of your Project on github.

    The issue is created on the issues list for your team, i.e. here:

    Then it is placed in the TO-DO column of the project page for your team, here:

  2. BEFORE you start working on the issue, get the issue “approved” by a mentor, TA or instructor, and get a point estimate. This happens by having either a mentor, TA, or instructor make a comment of the form: Approved, Estimate 200 points on the issue, on Github.

    Point estimates should be 100, 200 or 400. (Guidelines for point estimation appear below.) If you start working on the issue before it is approved and estimated, you do so at your own risk.

    It is very important that the mentor be sure there is a clear definition of “done”. Try to make sure that what “done” looks like is as clearly spelled out as possible. If the issue is too vague, it will difficult to estimate, and even harder to determine later whether students have earned the points. This is a very important step! Discuss the definition of “done” with the team.

    So it is important that you work FIRST today on making sure that your team has enough issues in the TODO pile that you can work towards and earn 1000 points by next Friday at 9:30am.. Work FIRST today on identifying issues and getting them estimated. If you need to, you can stay after the 9:30am lab (the 9:30am mentors will stay around until 12:30), and you can also stay after the 11am lab (I’ll be around, as will Derek from 12:30-2:30, and Zihao from 2:30-4:30).
    The github ids of the folks that can approve issues are here.
    You can contact any/all of these folks via Instructor Notes on Piazza.
    |lab|Project|Name|github id|Role| |-|-|-|-|-| |9:30|ScrapsToSnacks|Wilson|wilsonmui|Mentor | |9:30|Go!|Nuan|nuankw|Mentor | |9:30|Ride2School|Guancheng (Derek)|guanguangua|Mentor | |9:30|GauchoCourses|Fuheng |Charlie110|Mentor | |11|DogWalker|Omer|omerco1|Mentor | |11|GauchoAlarm|Zihao|DennisZZH|Mentor | |11|GauchoGains|Chandler|Figler|Mentor| |11|GoGaucho|Yunkai|zhykoties|Mentor | |All|All|Mahnaz|mahnazkoupaee|TA| |All|All|Santha Meena|santhameena13|TA| |All|All|Conrad|pconrad|Instructor|

  3. Issue is assigned to one or more team members and placed in “In-Progress” column.

    You (or your mentor) will drag the issue from the “To-do” column into the “In-Progress” column on your project page, here. Also, you or your mentor can assign people to the issue on github. This helps us track who is working on what, and simplifies the process later of who gets credit. (Note that you can make adjustments to that in the pull request if who worked on something and who should get credit changes.)

    Also discuss the definition of “done” with the folks to whom the issue is assigned.

  4. This is the stage where you actually work on the issue. Get it to the “done” criteria.

  5. Issue is completed and a Pull Request is entered. At this point, issue moves to the “Needs Review” column.

    After creating the pull request, add a comment that references the issue that it addresses. If you use the syntax # followed by an issue number, e.g. fixes #4, then the #4 becomes a hyperlink to the issue. This is very helpful.

    Then, notify your mentor that the issue is done, and ask them to review it.

  6. Pull Request is peer-reviewed by mentor.

    MENTORS: More detail about peer-reviewing issues will be posted here later. It will be similar to this process from past instances of CS56: https://ucsb-cs56-pconrad-mentors.github.io/topics/legacy_code_projects_giving_feedback/

  7. Feedback is placed in the (private) feedback repo for the team that worked on the issue.

    MENTORS: More detail about peer-reviewing issues will be posted here later. It will be similar to this process from past instances of CS56: (TODO)

  8. TA or Instructor assigns a grade (recorded in the feedback repo).

    TAs: More detail about peer-reviewing issues will be posted here later. It will be similar to this process from past instances of CS56: (TODO)

  9. Points are recorded on Gauchospace

    TAs: More detail about recording points will be posted here later. It will be similar to this process from past instances of CS56: (TODO)

Full Table of Project Info

Lab Mentor Project Issues List m18-project  
9:30 Mahnaz Wilson ScrapsToSnacks Issues Project
9:30 Mahnaz Nuan Go! Issues Project
9:30 Santha Derek Ride2School Issues Project
9:30 Santha Fuheng GauchoCourses Issues Project
11 Mahnaz Omer DogWalker Issues Project
11 Mahnaz Zihao GauchoAlarm Issues Project
11 Santha Chandler GauchoGains Issues Project
11 Santha Yunkai Go Gaucho Issues Project

Example project:

Lab TA Mentor Project Issues List m18-project
N/A Conrad Conrad WebApp-Catalog Issues Project

Guidelines for point estimation

Note that these are initial estimates. After the fact, you can present a case why a point value should be increased. The case involves explaining the good faith effort you made to solve the problem, and why it was more complex than the initial estimate might have indicated.

It does NOT involve conversations such as “we started the night before it was due” or “my cat ran over my dog, and then my hamster threw up on my computer, and then I broke my leg”.