From b9106f6d3a87381e911f27ecd3b176a0d5bead03 Mon Sep 17 00:00:00 2001 From: Janet Davis Date: Mon, 15 Apr 2019 13:06:03 -0700 Subject: [PATCH 1/5] Created project-5 directory --- Project5 (1).png => project-5/Project5 (1).png | Bin README.md => project-5/README.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename Project5 (1).png => project-5/Project5 (1).png (100%) rename README.md => project-5/README.md (100%) diff --git a/Project5 (1).png b/project-5/Project5 (1).png similarity index 100% rename from Project5 (1).png rename to project-5/Project5 (1).png diff --git a/README.md b/project-5/README.md similarity index 100% rename from README.md rename to project-5/README.md From ece9fe014a22bb65f00db4c62b88de82f0f6d0c7 Mon Sep 17 00:00:00 2001 From: Janet Davis Date: Mon, 15 Apr 2019 13:27:19 -0700 Subject: [PATCH 2/5] Added rubric --- project-5/rubric.md | 61 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 project-5/rubric.md diff --git a/project-5/rubric.md b/project-5/rubric.md new file mode 100644 index 0000000..09cd742 --- /dev/null +++ b/project-5/rubric.md @@ -0,0 +1,61 @@ +# GRADE: 64/64 + +## Functional and implementation requirements: 36/36 points total + +Earned|Possible|Requirement | Comments +------|--------|------------|---------- +1|1| Add two new menu items to the Edit menu called Group and Ungroup. +4|4| When the Group menu item is chosen, all selected note bars are grouped into one gesture. A gesture behaves as if it is just one note bar with a complex sound to it. If nothing is selected when the Group menu item is chosen, nothing happens. +2|2| Selecting any note in a gesture causes the same thing to happen to all the others in the gesture. +2|2| Unselecting any note in a gesture with control-click causes the same thing to happen to all the others in the gesture. +2|2| Drag-selecting over a gesture consistently selects or unselects all the notes in the gesture. +4|4| Dragging note bars in a gesture moves or stretches all notes in the gesture. +3|3| Gestures are indicated visually by a thin black dotted line around the group of note bars. +1|1| A selected gesture is indicated using a style similar to that of a selected note bar. +4|4| Gestures can include note bars or other gestures (that is, gestures can be nested). +4|4| When the Ungroup menu item is chosen, the selected gesture is ungrouped. Note that nested inner gestures are not ungrouped; you have to ungroup the nested gestures separately after ungrouping the outer gesture. If no groups are selected when Ungroup is chosen, nothing happens. +1|1| After selecting the Group menu item, the new gesture becomes the only selected item. +2|2| After choosing Ungroup, all the inner notebars and gestures of the ungrouped gesture are selected. + +### "Stretch goal" + +Earned|Possible|Requirement | Comments +------|--------|------------|---------- +0|0| When the right edge of a gesture is grabbed and stretched left or right, the duration and offset of everything in the gesture should stretch proportionally. + +### No regressions - 4/4 points + +Earned|Possible|Requirement | Comments +------|--------|------------|---------- +4|4| All prior requirements are met, unless they have been superseded by new requirements. + +### Release tag - 2/2 points + +Earned|Possible|Requirement | Comments +------|--------|------------|---------- +2|2| The release is tagged as project-5-release. + +## Reflection - 12/12 points + +For project 5 and beyond, I will expect your discussion of design and elegance to refer explicitly to design principles we have discussed in class. + +Earned|Possible|Requirement | Comments +------|--------|------------|---------- +3|3| UML +2|2| Design overview +2|2| What is elegant? +2|2| What is not elegant? +1|1| Velocity +1|1| Collaboration statement +1|1| Team retrospective + +## Elegance - 16/16 points + +I looked at your UML diagram to assess the elegance of your class design. You will get a grade for class design starting with Project 6. +I spot-checked a new class () and a modified class () to assess method-level design and self-explanatory code. + +Earned|Possible|Requirement | Comments +------|--------|------------|---------- +0|0| Class design +8|8| Method design +8|8| Self-explanatory code From 98e230e2142c5c71c1677cd447d1df165b7976b4 Mon Sep 17 00:00:00 2001 From: Janet Davis Date: Mon, 15 Apr 2019 13:30:03 -0700 Subject: [PATCH 3/5] Added comments --- project-5/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/project-5/README.md b/project-5/README.md index f2f501a..66ff1ae 100644 --- a/project-5/README.md +++ b/project-5/README.md @@ -24,6 +24,8 @@ of Least Astonishment, since a List is typically understood to contain more than In both of these cases, we decided that the usefulness of the Playable class in its current form outweighed these concerns. +_In discussion with team members, I agreed these were reasonable choices._ + #### Include an estimate of your velocity. How many story points did you estimate you would complete during this assignment? How many did you actually complete, how many person-hours did the team spend, and what is the ratio of points/person-hour? I want you to monitor your velocity to help you plan better ovehttps://classroom.github.com/g/3Hlr8BQmfr the final iterations. There are no "good" or "bad" numbers for velocity. We did not compute an initial estimate of story points, but we did exceed our expectations by completing the assignment @@ -36,3 +38,5 @@ We paired-programmed each time our group met, swapping partners during each sess Each team member was a developer and designer. On this project, we were easily able to schedule times to meet as we went, but on future projects we may want to block off a regular coding session each week so that we have to coordinate less. Overall, paired-programming worked incredibly well to write quality code quickly. We also all realized the value in spending a signficant amount of time designing before coding--we knew better where we were going from the beginning. Nevertheless, there were some times when the two pair-programming teams did not commuicate effecitvely and ended up with small conflicts that we had to resolve after the fact. We will hold more frequent chek-ins between pairs about each pair's responsibilities, in particular after a pair commits their code. + +_This is a common problem in agile software development! You might consider instituting a regular [Stand up meeting](https://en.wikipedia.org/wiki/Stand-up_meeting)._ From c9c3a52fc26eef514c0dad57f5d92409a6423743 Mon Sep 17 00:00:00 2001 From: Janet Davis Date: Wed, 17 Apr 2019 13:28:34 -0700 Subject: [PATCH 4/5] Finished grading --- project-5/rubric.md | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/project-5/rubric.md b/project-5/rubric.md index 09cd742..570e168 100644 --- a/project-5/rubric.md +++ b/project-5/rubric.md @@ -1,6 +1,8 @@ -# GRADE: 64/64 +# GRADE: 63/64 -## Functional and implementation requirements: 36/36 points total +_Well done!_ + +## Functional and implementation requirements: 34/36 points total Earned|Possible|Requirement | Comments ------|--------|------------|---------- @@ -9,7 +11,7 @@ Earned|Possible|Requirement | Comments 2|2| Selecting any note in a gesture causes the same thing to happen to all the others in the gesture. 2|2| Unselecting any note in a gesture with control-click causes the same thing to happen to all the others in the gesture. 2|2| Drag-selecting over a gesture consistently selects or unselects all the notes in the gesture. -4|4| Dragging note bars in a gesture moves or stretches all notes in the gesture. +2|4| Dragging note bars in a gesture moves or stretches all notes in the gesture. |_I'm unable to stretch notes within a gesture, but I gave you points for the "stretch goal" below._ 3|3| Gestures are indicated visually by a thin black dotted line around the group of note bars. 1|1| A selected gesture is indicated using a style similar to that of a selected note bar. 4|4| Gestures can include note bars or other gestures (that is, gestures can be nested). @@ -17,17 +19,17 @@ Earned|Possible|Requirement | Comments 1|1| After selecting the Group menu item, the new gesture becomes the only selected item. 2|2| After choosing Ungroup, all the inner notebars and gestures of the ungrouped gesture are selected. -### "Stretch goal" +### "Stretch goal" - 2 points Earned|Possible|Requirement | Comments ------|--------|------------|---------- -0|0| When the right edge of a gesture is grabbed and stretched left or right, the duration and offset of everything in the gesture should stretch proportionally. +2|0| When the right edge of a gesture is grabbed and stretched left or right, the duration and offset of everything in the gesture should stretch proportionally. -### No regressions - 4/4 points +### No regressions - 3.5/4 points Earned|Possible|Requirement | Comments ------|--------|------------|---------- -4|4| All prior requirements are met, unless they have been superseded by new requirements. +3.5|4| All prior requirements are met, unless they have been superseded by new requirements. | _Platform independent keyboard shortcuts_ ### Release tag - 2/2 points @@ -35,7 +37,7 @@ Earned|Possible|Requirement | Comments ------|--------|------------|---------- 2|2| The release is tagged as project-5-release. -## Reflection - 12/12 points +## Reflection - 11.5/12 points For project 5 and beyond, I will expect your discussion of design and elegance to refer explicitly to design principles we have discussed in class. @@ -45,17 +47,17 @@ Earned|Possible|Requirement | Comments 2|2| Design overview 2|2| What is elegant? 2|2| What is not elegant? -1|1| Velocity +0.5|1| Velocity |_Not computed but you reflect on it 1|1| Collaboration statement 1|1| Team retrospective ## Elegance - 16/16 points I looked at your UML diagram to assess the elegance of your class design. You will get a grade for class design starting with Project 6. -I spot-checked a new class () and a modified class () to assess method-level design and self-explanatory code. +I spot-checked a new class (Gesture) and a modified class (TuneComposer) to assess method-level design and self-explanatory code. Earned|Possible|Requirement | Comments ------|--------|------------|---------- -0|0| Class design -8|8| Method design -8|8| Self-explanatory code +0|0| Class design | _Reconsider the contents of the Playable interface with an eye towards the SOLID principles. It's also surprising that an interface named Playable has no method play()!_ _See also GitHub Issues._ +8|8| Method design | _Looks good. Most of my concerns were at the class design level, not the method design level._ +8|8| Self-explanatory code | _I asked for Javadoc on the ```Playable``` interface, but that is not one of the two classes I listed above._ From 52dedb8560b63c7869bac269ccd6c62e3702d179 Mon Sep 17 00:00:00 2001 From: Janet Davis Date: Wed, 17 Apr 2019 15:43:38 -0700 Subject: [PATCH 5/5] Fixed rubric bug - points did not add up to 64 --- project-5/rubric.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/project-5/rubric.md b/project-5/rubric.md index 570e168..46cc426 100644 --- a/project-5/rubric.md +++ b/project-5/rubric.md @@ -25,7 +25,7 @@ Earned|Possible|Requirement | Comments ------|--------|------------|---------- 2|0| When the right edge of a gesture is grabbed and stretched left or right, the duration and offset of everything in the gesture should stretch proportionally. -### No regressions - 3.5/4 points +### No regressions - 1.5/2 points Earned|Possible|Requirement | Comments ------|--------|------------|---------- @@ -51,7 +51,7 @@ Earned|Possible|Requirement | Comments 1|1| Collaboration statement 1|1| Team retrospective -## Elegance - 16/16 points +## Elegance - 12/12 points I looked at your UML diagram to assess the elegance of your class design. You will get a grade for class design starting with Project 6. I spot-checked a new class (Gesture) and a modified class (TuneComposer) to assess method-level design and self-explanatory code. @@ -60,4 +60,4 @@ Earned|Possible|Requirement | Comments ------|--------|------------|---------- 0|0| Class design | _Reconsider the contents of the Playable interface with an eye towards the SOLID principles. It's also surprising that an interface named Playable has no method play()!_ _See also GitHub Issues._ 8|8| Method design | _Looks good. Most of my concerns were at the class design level, not the method design level._ -8|8| Self-explanatory code | _I asked for Javadoc on the ```Playable``` interface, but that is not one of the two classes I listed above._ +4|4| Self-explanatory code | _I asked for Javadoc on the ```Playable``` interface, but that is not one of the two classes I listed above._