Answers.Body: <p>This is one of the reasons I rarely make use of group work in teaching. It is a minefield of problems. Would it be possible to get students to produce a document prior to starting work agreeing who is going to do what? Alternatively in exam boards team leaders are provided with suggested grades based on what the system says individual markers have done (error rate, completion rate, etc) and then the team leader is asked to award grades to the individual markers, varying from suggested grades if necessary. Could this approach be made to work for your situation?</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-06T18:14:54.047Z
Answers.LastActivityDate: 2017-06-06T18:14:54.047Z
Answers.UserDisplayName: Oli Howson
Answers.Body: <p>While, in general, I prefer that students on a team get the same grade for the work (see below) I also ask each student on a team to fill out a questionnaire at the end. The questions are simple. Assuming a team of about five, I'll ask each student to name the three most valuable members of the team and to list the contribution of each. They may name themselves as one of the three and are told that. I also ask each "What was your own principal contribution?". For a pair, I ask each, to give the partners main contribution and their own. </p>
  
  <hr>
  
  <p>The reason for a default equal grade is to have the system encourage sharing and contributing. In Agile Development, one of the key ideas is that the Team shares in the success and reward of the project. It is not up to the team's manager to pick winners and losers on a team. I extend that idea to the classroom. </p>
  
  <p>But I keep my eyes open, of course. </p>
  
  <p>However, most teams do much of their work outside my view. I seldom respond positively to complaints about team members (and get only a few), reminding the complainer that it is also their responsibility to foster team work. </p>
  
  <p>Also, the students need to know that the "product" I'm most interested in isn't their program (or whatever) but the learning. If the project "fails" the students can still succeed. The educational process should be a "safe zone" where you are not yet expected to perform at a professional level. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-23T22:42:21.807Z
Answers.LastActivityDate: 2017-07-23T22:42:21.807Z
Answers.UserDisplayName: Buffy
Answers.Body: <p>In "<a href="http://www.cs.ubc.ca/wccce/Program03/papers/Gardner-Group/Gardner-Group.htm" rel="noreferrer">Assessing Individual Contributions to Group Software Projects</a>" (WCCCE '03), William Gardner discusses a number of strategies for adjusting team programming project grades for individual performance and ends by recommending a "share-out" approach:</p>
  
  <blockquote>
    <p>The essence of share-out is that each student is conceptually given a
    pot of points, and must allocate them among their peers based on some
    stated criteria. The allocation then represents that student’s
    numerical evaluation of his or her team members.</p>
    
    <p>In order to provide a straightforward, effective criterion for the
    sharing out, each student was given 100 points and told to allocate
    them according to the amount of credit each team member deserved in
    terms of the total project work. The term “credit” was intentionally
    selected to be both intuitive and elastic, a single metric that could
    easily serve as a proxy for time and quality of effort....</p>
    
    <p>Students were required to give themselves at least 100/N points, in
    recognition that there would likely be little enthusiasm for
    self-incrimination, but then the self-evaluations were not averaged in
    with those of the team members. With this constraint in place, ethical
    struggles over whether to admit one’s own poor performance were
    shunted aside. If some students really performed poorly, their team
    members could do the dirty work; their own confessions were not
    required, nor could their grade be inflated by making phony claims.</p>
  </blockquote>
  
  <p>The paper provides further details.</p>
  
  <p>Update: Since the paper is 14 years old, I contacted the author to ask if he has any updates. He kindly replied that he had not taught a software engineering course since then so had no further experience to report and that he stands by his recommendation.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-12-28T17:52:33.380Z
Answers.Text: Kudos for contacting the author!
Answers.UserDisplayName: Andrew Wolfe
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-04T01:36:49.350Z
Answers.Text: I love this idea for groups of 4 or greater!  It seems like 3 would start to break down, and groups of 2 might no longer be accurate.  What adjustment could be used for paired projects?
Answers.UserDisplayName: Ben I.
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-24T13:10:37.683Z
Answers.Text: I seen this work well, with students not being able to give themselves credits and the lowest and highest credit each student got being ignored.
Answers.UserDisplayName: Ian Ringrose
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-04T01:25:56.240Z
Answers.LastActivityDate: 2017-06-06T15:15:25.407Z
Answers.LastEditDate: 2017-06-06T15:15:25.407Z
Answers.UserDisplayName: Ellen Spertus
Answers.Body: <p>I also like group programming projects (usually pairs, so some of the mutual grading ideas, which I like, don't apply). What I do is have an early phase of the project be a co-authored "plan" document that crucially, includes specific tasks for each member. I make the assumption that they can divide the work equitably or that they can re-negotiate later. Later in the semester, if one partner is lagging behind (and I have one or two such occurrences every semester), I have a way to verify that one person did more and so can adjust the grade accordingly. </p>
  
  <p>But, yes, this does add to the work of grading, and I try to default to equal grades when I can. </p>
  
  <p>What I am thinking of doing in the future is to have the "plan" document include contingency planning: what the team will do if someone is unable to do their share of the work. I will point out that rarely does someone slack off due to laziness; it's more often due to distractions from personal illness, death in the family, and other issues. That helps avoid some of the embarrassment of saying "I didn't do what I said I would."</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-06T20:51:24.777Z
Answers.LastActivityDate: 2017-06-06T20:51:24.777Z
Answers.UserDisplayName: Scott Anderson
Answers.Body: <p>I have met teachers that deal with that issue like this:</p>
  
  <p>First, teach the students about version control, and introduce <a href="https://github.com/" rel="nofollow noreferrer">GitHub</a>, and tell them that they need to create an account. Then say that each group should have their projects in a repository. </p>
  
  <p>Then ask the students to provide a link to the repository, along with the project. This allows you to see on GitHub how much work each student contributed. </p>
  
  <p>GitHub allows you to see a person's contribution (# of commits etc.), so this method is quite convenient.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-03T18:10:52.467Z
Answers.Text: We do use GitHub. While provided statistics give some indication of contributions, # of commits or lines of code doesn't take into account pair programming, boiler-plate code, automatically generated files (such as javadoc), debugging, documentation, design, time spent on code reviews, etc.
Answers.UserDisplayName: Ellen Spertus
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-03T18:12:19.570Z
Answers.Text: @EllenSpertus no but you can see the activity graph, that shows you some useful information
Answers.UserDisplayName: ItamarG3
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-03T20:12:21.077Z
Answers.Text: How do you grade the student that contributed work equal to or greater than the others, yet needed few commits since their code was near-correct from the beginning? The activity graph, etc. won't show much work, yet they've easily earned their credits.
Answers.UserDisplayName: Gypsy Spellweaver
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-03T20:23:10.430Z
Answers.Text: @GypsySpellweaver - Well, GitHub shows number of additions and deletions as well as commits. So overall, it can be used to see a student's contribution.
Answers.UserDisplayName: ItamarG3
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-07T16:03:52.993Z
Answers.Text: @Adam interesting. I didn't know that.
Answers.UserDisplayName: ItamarG3
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-12-28T17:57:54.620Z
Answers.Text: What I intend to show with GitHub is that certain programmers try to inflate their status with a high volume of commits.
Answers.UserDisplayName: Andrew Wolfe
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-02-25T08:29:49.510Z
Answers.Text: What about two students pair programming, but the commit is in the name of the first student?
Answers.UserDisplayName: ObscureOwl
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-03T17:25:01.767Z
Answers.LastActivityDate: 2017-06-03T17:25:01.767Z
Answers.UserDisplayName: ItamarG3
Answers.Body: <p>I've been pondering the same problem, and I've come up with an experiment to try next year: let the students discuss the division of labor among themselves, but once they've decided how to proceed, they should write down what they came up with and submit that to you.</p>
  
  <p>I wouldn't pull these back out unless it's needed, but if there is trouble, it gives you an easy way to grade the individual contributions.  Also, if the lower contributions of one student prevented the project from getting completed, or forced the other students to have to do more, you now possess the justification for giving the worker bees full credit even on a partially completed project.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-04T01:11:35.160Z
Answers.Text: It's an interesting idea, although I want to encourage collaboration and people stepping in where needed. It's an Android programming class, and some things that seem like they'll be easy may turn out to be hard, and vice versa.
Answers.UserDisplayName: Ellen Spertus
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-04T01:13:48.327Z
Answers.Text: I see what you mean. If students want to revise it and all agree, they can do it and not even let me know. It would only ever even come up again if the group dynamic isn't working. By the time it's gotten bad enough that someone is talking to the teacher, preserving the spirit of collaboration seems like a cause already lost.
Answers.UserDisplayName: Ben I.
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-10-16T01:26:05.533Z
Answers.Text: Can you give us an update?
Answers.UserDisplayName: Ellen Spertus
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-10-16T03:20:38.857Z
Answers.Text: @EllenSpertus I'm sorry to say that my update is that I forgot about this entirely. In the interim, I had a kid, and have been rather distracted. I should still try it!
Answers.UserDisplayName: Ben I.
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-03T19:13:24.757Z
Answers.LastActivityDate: 2017-06-03T19:13:24.757Z
Answers.UserDisplayName: Ben I.
Body: <p>I teach undergraduate programming project courses and have traditionally given the same project grade (about 45% of the semester grade) to everyone on each team, unless a team member's participation was clearly minimal, in which case I deduct points from that student's project grade, but I do not add points to other teammates'. </p>
  
  <p>A student complained about their grade not reflecting the amount of work they put in, which was substantially more than their other teammates. I can sympathize with the complaint, although I pointed out to the student that I had followed the syllabus and project grading guide and that they had learned more and would get a better letter of recommendation than students who contributed less.</p>
  
  <p>I would like for students' project grades to reflect their contributions, but just grading projects is time-consuming and difficult enough. What ways have teachers found to provide individual grades on team projects?</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-03T17:07:42.513Z
Comments.Text: Related: [Is it possible to ensure division of labor on a group assignment?](https://cseducators.stackexchange.com/questions/3/is-it-possible-to-ensure-division-of-labor-on-a-group-assignment) (at least on the aspect of one student putting in more work than another)
Comments.UserDisplayName: Aurora0001
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-03T17:09:57.483Z
Comments.Text: Thank you for the pointer, although my goal is not to ensure that students do equal work.
Comments.UserDisplayName: Ellen Spertus
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-06T21:18:57.230Z
Comments.Text: Could you please clarify the learning objective(s) and the assessment method that gave rise to this particular situation?
Comments.UserDisplayName: Adrir
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-06T21:19:56.620Z
Comments.Text: I believe the learning objective should inform the approach to assessment.
  
  So, if the learning objectives are specifically related to teamwork, then the use of single-blind peer assessment via systems like [SparkPLUS](http://sparkplus.com.au/factors/) can be effective. Particularly where students rate each others' collegiality, work ethic, ability to collaborate on particular tasks, etc. Students use a rubric and justify their rating by making comments, which I use to write a brief meta-review as feedback for the team.
Comments.UserDisplayName: Adrir
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-12-28T17:55:28.397Z
Comments.Text: This thread is a Godsend.  I hate group projects of any sort in academic endeavors, mainly because of the loss of personal accountability.  However, that doesn't change it when the topic absolutely requires students contribute as members of a team. Thanks to all for this help in grading my upcoming class's group project.
Comments.UserDisplayName: Andrew Wolfe
Tags: <grading><project>
Title: How to provide individual grades for group project work?
ThreadText: # How to provide individual grades for group project work?
  
  (Asked by: username_0 on 2017-06-03)
  
  I teach undergraduate programming project courses and have traditionally given the same project grade (about 45% of the semester grade) to everyone on each team, unless a team member's participation was clearly minimal, in which case I deduct points from that student's project grade, but I do not add points to other teammates'.
  
  A student complained about their grade not reflecting the amount of work they put in, which was substantially more than their other teammates. I can sympathize with the complaint, although I pointed out to the student that I had followed the syllabus and project grading guide and that they had learned more and would get a better letter of recommendation than students who contributed less.
  
  I would like for students' project grades to reflect their contributions, but just grading projects is time-consuming and difficult enough. What ways have teachers found to provide individual grades on team projects?
  
  **Tags:** grading, project
  
  > **Comments:**
  > **username_1**: Related: [Is it possible to ensure division of labor on a group assignment?](https://cseducators.stackexchange.com/questions/3/is-it-possible-to-ensure-division-of-labor-on-a-group-assignment) (at least on the aspect of one student putting in more work than another)  
  > **username_0**: Thank you for the pointer, although my goal is not to ensure that students do equal work.  
  > **username_2**: Could you please clarify the learning objective(s) and the assessment method that gave rise to this particular situation?  
  > **username_2**: I believe the learning objective should inform the approach to assessment.  So, if the learning objectives are specifically related to teamwork, then the use of single-blind peer assessment via systems like [SparkPLUS](http://sparkplus.com.au/factors/) can be effective. Particularly where students rate each others' collegiality, work ethic, ability to collaborate on particular tasks, etc. Students use a rubric and justify their rating by making comments, which I use to write a brief meta-review as feedback for the team.  
  > **username_3**: This thread is a Godsend.  I hate group projects of any sort in academic endeavors, mainly because of the loss of personal accountability.  However, that doesn't change it when the topic absolutely requires students contribute as members of a team. Thanks to all for this help in grading my upcoming class's group project.  
  
  ---
  
  ## 6 answers
  
  ### Answer by username_0 on 2017-06-04. Score: 12 | Accepted answer
  
  In "[Assessing Individual Contributions to Group Software Projects](http://www.cs.ubc.ca/wccce/Program03/papers/Gardner-Group/Gardner-Group.htm)" (WCCCE '03), William Gardner discusses a number of strategies for adjusting team programming project grades for individual performance and ends by recommending a "share-out" approach:
  
  > The essence of share-out is that each student is conceptually given a
  > pot of points, and must allocate them among their peers based on some
  > stated criteria. The allocation then represents that student’s
  > numerical evaluation of his or her team members.
  >
  > In order to provide a straightforward, effective criterion for the
  > sharing out, each student was given 100 points and told to allocate
  > them according to the amount of credit each team member deserved in
  > terms of the total project work. The term “credit” was intentionally
  > selected to be both intuitive and elastic, a single metric that could
  > easily serve as a proxy for time and quality of effort....
  >
  > Students were required to give themselves at least 100/N points, in
  > recognition that there would likely be little enthusiasm for
  > self-incrimination, but then the self-evaluations were not averaged in
  > with those of the team members. With this constraint in place, ethical
  > struggles over whether to admit one’s own poor performance were
  > shunted aside. If some students really performed poorly, their team
  > members could do the dirty work; their own confessions were not
  > required, nor could their grade be inflated by making phony claims.
  
  The paper provides further details.
  
  Update: Since the paper is 14 years old, I contacted the author to ask if he has any updates. He kindly replied that he had not taught a software engineering course since then so had no further experience to report and that he stands by his recommendation.
  
  > **Comments:**
  > **username_6**: I love this idea for groups of 4 or greater!  It seems like 3 would start to break down, and groups of 2 might no longer be accurate.  What adjustment could be used for paired projects?  
  > **username_7**: I seen this work well, with students not being able to give themselves credits and the lowest and highest credit each student got being ignored.  
  > **username_3**: Kudos for contacting the author!  
  
  ---
  
  ### Answer by username_8 on 2017-06-06. Score: 4
  
  I also like group programming projects (usually pairs, so some of the mutual grading ideas, which I like, don't apply). What I do is have an early phase of the project be a co-authored "plan" document that crucially, includes specific tasks for each member. I make the assumption that they can divide the work equitably or that they can re-negotiate later. Later in the semester, if one partner is lagging behind (and I have one or two such occurrences every semester), I have a way to verify that one person did more and so can adjust the grade accordingly.
  
  But, yes, this does add to the work of grading, and I try to default to equal grades when I can.
  
  What I am thinking of doing in the future is to have the "plan" document include contingency planning: what the team will do if someone is unable to do their share of the work. I will point out that rarely does someone slack off due to laziness; it's more often due to distractions from personal illness, death in the family, and other issues. That helps avoid some of the embarrassment of saying "I didn't do what I said I would."
  
  
  ---
  
  ### Answer by username_9 on 2017-06-03. Score: 2
  
  I have met teachers that deal with that issue like this:
  
  First, teach the students about version control, and introduce [GitHub](https://github.com/), and tell them that they need to create an account. Then say that each group should have their projects in a repository.
  
  Then ask the students to provide a link to the repository, along with the project. This allows you to see on GitHub how much work each student contributed.
  
  GitHub allows you to see a person's contribution (# of commits etc.), so this method is quite convenient.
  
  > **Comments:**
  > **username_0**: We do use GitHub. While provided statistics give some indication of contributions, # of commits or lines of code doesn't take into account pair programming, boiler-plate code, automatically generated files (such as javadoc), debugging, documentation, design, time spent on code reviews, etc.  
  > **username_9**: @username_0 no but you can see the activity graph, that shows you some useful information  
  > **username_10**: How do you grade the student that contributed work equal to or greater than the others, yet needed few commits since their code was near-correct from the beginning? The activity graph, etc. won't show much work, yet they've easily earned their credits.  
  > **username_9**: @username_10 - Well, GitHub shows number of additions and deletions as well as commits. So overall, it can be used to see a student's contribution.  
  > **username_9**: @Adam interesting. I didn't know that.  
  > **username_3**: What I intend to show with GitHub is that certain programmers try to inflate their status with a high volume of commits.  
  > **username_11**: What about two students pair programming, but the commit is in the name of the first student?  
  
  ---
  
  ### Answer by username_6 on 2017-06-03. Score: 2
  
  I've been pondering the same problem, and I've come up with an experiment to try next year: let the students discuss the division of labor among themselves, but once they've decided how to proceed, they should write down what they came up with and submit that to you.
  
  I wouldn't pull these back out unless it's needed, but if there is trouble, it gives you an easy way to grade the individual contributions. Also, if the lower contributions of one student prevented the project from getting completed, or forced the other students to have to do more, you now possess the justification for giving the worker bees full credit even on a partially completed project.
  
  > **Comments:**
  > **username_0**: It's an interesting idea, although I want to encourage collaboration and people stepping in where needed. It's an Android programming class, and some things that seem like they'll be easy may turn out to be hard, and vice versa.  
  > **username_6**: I see what you mean. If students want to revise it and all agree, they can do it and not even let me know. It would only ever even come up again if the group dynamic isn't working. By the time it's gotten bad enough that someone is talking to the teacher, preserving the spirit of collaboration seems like a cause already lost.  
  > **username_0**: Can you give us an update?  
  > **username_6**: @username_0 I'm sorry to say that my update is that I forgot about this entirely. In the interim, I had a kid, and have been rather distracted. I should still try it!  
  
  ---
  
  ### Answer by username_4 on 2017-06-06. Score: 1
  
  This is one of the reasons I rarely make use of group work in teaching. It is a minefield of problems. Would it be possible to get students to produce a document prior to starting work agreeing who is going to do what? Alternatively in exam boards team leaders are provided with suggested grades based on what the system says individual markers have done (error rate, completion rate, etc) and then the team leader is asked to award grades to the individual markers, varying from suggested grades if necessary. Could this approach be made to work for your situation?
  
  
  ---
  
  ### Answer by username_5 on 2017-07-23. Score: 1
  
  While, in general, I prefer that students on a team get the same grade for the work (see below) I also ask each student on a team to fill out a questionnaire at the end. The questions are simple. Assuming a team of about five, I'll ask each student to name the three most valuable members of the team and to list the contribution of each. They may name themselves as one of the three and are told that. I also ask each "What was your own principal contribution?". For a pair, I ask each, to give the partners main contribution and their own.
  
  ---
  
  The reason for a default equal grade is to have the system encourage sharing and contributing. In Agile Development, one of the key ideas is that the Team shares in the success and reward of the project. It is not up to the team's manager to pick winners and losers on a team. I extend that idea to the classroom.
  
  But I keep my eyes open, of course.
  
  However, most teams do much of their work outside my view. I seldom respond positively to complaints about team members (and get only a few), reminding the complainer that it is also their responsibility to foster team work.
  
  Also, the students need to know that the "product" I'm most interested in isn't their program (or whatever) but the learning. If the project "fails" the students can still succeed. The educational process should be a "safe zone" where you are not yet expected to perform at a professional level.
  
  
  ---
  
  