1.7 Grade Book Assignment

Overview
1.Getting Started
A Make a copy of your Grade Book 1.6 LastName folder and .sln file and rename the copied versions to Grade Book 1.7 LastName
B The class diagram below represents the current structure of the GradeBookScenario solution
Grade Book 1.7 — starting model (1.6 end). Public fields, method signatures, and object-reference relationships.
Class Diagram - Starting Structure
  • New
  • Changed
  • Removed
2.Have the student complete and submit an assignment using objects
A Modify the fields and method signatures based on the class diagram below
Grade Book 1.7 - AssignmentObjects.
Class Diagram - Assignment Objects
  • New
  • Changed
  • Removed
B Implement Complete in Assignment.cs based on the activity diagram below
Complete: create and return an Attempt.
Activity Diagram - Complete
  • New
  • Changed
  • Removed
C Implement Grade in Instructor.cs based on the activity diagram below
Grade: update the Attempt and return whether it passes.
Activity Diagram - Grade
  • New
  • Changed
  • Removed
D Implement GetAssignmentByType in Course.cs based on the activity diagram below
GetAssignmentByType: return an existing assignment.
Activity Diagram - GetAssignmentByType
  • New
  • Changed
  • Removed
E Update Course.CompleteAssignment and Student.TakeAssignment, and add Assignment.Submit, based on the sequence diagram below
Grade Book 1.7 — returning and submitting an Attempt. Calls begin at MainWindow; arrows show calls and dashed arrows show returned values.
Sequence Diagram - TakeAssignment
  • New
  • Changed
  • Removed
F Keep the existing TextBox and Grid rows. Update the four assignment event handlers to capture the returned Attempt and display its Score, as shown in the sequence diagram
G Check Your Work (Blackboard Midterm):
1 Set a breakpoint on the closing curly brace of takeMidtermButton_Click. Start the application, click 'New Blackboard', then click 'Take midterm'
2 Ensure that the returned attempt has Accuracy equal to 79.575, CompletionDate equal to "10/07/2018", and Score equal to 80
3 Ensure that attempt.StudentName is "Arthur" and Arthur’s Midterm’s Submission refers to the returned attempt
4 Press F5 and ensure that the TextBox displays "Score = 80"
H Check Your Work (Blackboard Final):
1 Set a breakpoint on the closing curly brace of takeFinalButton_Click. Start the application, click 'New Blackboard', then click 'Take final'
2 Ensure that the returned attempt has Accuracy equal to 66.55, CompletionDate equal to "12/18/2018", and Score equal to 67
3 Ensure that Arthur’s Final’s Submission is null even though the returned attempt has a score
4 Press F5 and ensure that the TextBox displays "Score = 67"
I Check Your Work (Canvas Midterm):
1 Set a breakpoint on the closing curly brace of writeEssayButton_Click. Start the application, click 'New Canvas', then click 'Write midterm essay'
2 Ensure that the returned attempt has Accuracy equal to approximately 86.075, CompletionDate equal to "10/07/2018", and Score equal to 86
3 Ensure that attempt.StudentName is "Samantha" and Samantha’s Midterm’s Submission refers to the returned attempt
4 Press F5 and ensure that the TextBox displays "Score = 86"
J Check Your Work (Canvas Final):
1 Set a breakpoint on the closing curly brace of writeFinalPaperButton_Click. Start the application, click 'New Canvas', then click 'Write final paper'
2 Ensure that the returned attempt has Accuracy equal to 77.35, CompletionDate equal to "12/18/2018", and Score equal to 77
3 Ensure that attempt.StudentName is "Samantha" and Samantha’s Final’s Submission refers to the returned attempt
4 Press F5 and ensure that the TextBox displays "Score = 77"
3.Modify how a student gets help by passing the Student object
A Modify the method signatures and add GetTutor based on the class diagram below
Grade Book 1.7 - TutorObjects.
Class Diagram - Tutor Objects
  • New
  • Changed
  • Removed
B Implement TutorStudent in Instructor.cs based on the activity diagram below
TutorStudent: update the shared Student object.
Activity Diagram - TutorStudent
  • New
  • Changed
  • Removed
C Implement GetTutor in Course.cs based on the activity diagram below
GetTutor: return the assistant or teacher.
Activity Diagram - GetTutor
  • New
  • Changed
  • Removed
D Implement FindHelp in Course.cs based on the activity diagram below
FindHelp: select a tutor and check probation.
Activity Diagram - FindHelp
  • New
  • Changed
  • Removed
E Update Student.GetHelp and pass the proper arguments based on the sequence diagram below
Grade Book 1.7 — passing the Student to one tutor. Calls begin at MainWindow; arrows show calls and dashed arrows show returned values.
Sequence Diagram - GetHelp
  • New
  • Changed
  • Removed
F Check Your Work (Blackboard):
1 Set a breakpoint at the end of tutorArthurButton_Click. Start the application, click 'New Blackboard', then click 'Tutor Arthur'
2 Ensure that Sheldon’s NumberOfStudentsTutored is 1, Alan’s is 0, and Arthur’s RequiredSessions is 2
3 Continue and tutor Arthur twice more. Ensure that Sheldon’s count is 3, Arthur’s RequiredSessions is 0, and Arthur’s IsOnProbation is false
G Check Your Work (Canvas):
1 Set a breakpoint at the end of tutorSamanthaButton_Click. Start the application, click 'New Canvas', then click 'Tutor Samantha'
2 Ensure that both instructors’ tutoring counts remain 0 and Samantha’s RequiredSessions remains 4. Use the diagrams and knowledge levels to explain why
3 In a fresh run, pause before GetHelp and temporarily set Canvas.CurrentStudent.Course.Teacher.Assistant to null in the debugger. Step over GetHelp and ensure that Jeff’s count becomes 1 and Samantha’s RequiredSessions becomes 3. Restart afterward
4.Review the structure of the application at the end of this assignment
A Compare your solution with the class diagram below
Grade Book 1.7 — ending model. Public fields, method signatures, and object-reference relationships.
Class Diagram - End Structure
  • New
  • Changed
  • Removed
5.Submit to the Feedback System
A Ensure that all code is StyleCop compliant
B Zip the solution and submit to the Feedback System
C Submit the Feedback System url to the correct assignment in Canvas