2.4 Grade Book Assignment

Under Construction

This page is currently being built. Please check back soon.

A platypus
2.4 Grade Book Assignment — overview

Work through the user stories in order. Each story states the goal and acceptance criteria; its nested tasks retain the detailed implementation and verification steps.

1.Gather your resources
A Open the assignment resources
Set up the checkpoint
2.Copy your GradeBook 2.3 Assignment and rename the folder to 2.4 and the sln to 2.4
A Verify the required change or observation

Check the result against this instruction: Copy your GradeBook 2.3 Assignment and rename the folder to 2.4 and the sln to 2.4

Encapsulate assignment and assistant lists
3.Review the feature design
A Identify the contracts and expected behavior

This focused design shows the members or flow relevant to this feature. Keep unchanged members from your preceding checkpoint; follow the tasks below for the order of intermediate edits.

Private lists and public wrappers. class Course { - assignments : List<Assignment> {readOnly} + Course() + AddAssignment(assignment : Assignment) : void } class Instructor { - assistants : List<Instructor> {readOnly} + Instructor() + AddAssistant(assistant : Instructor) : void } Course "1" --> "0..*" Assignment : assignments Instructor "1" --> "0..*" Instructor : assistants
Private lists and public wrappers
  • New
  • Changed
  • Removed
4.Modify the class structure using this story’s design reference
Review this feature’s design and requirements
A Verify the required change or observation

Check the result against this instruction: Modify the class structure using this story’s design reference.

5.Move the instantiation of the Lists from the field definition to their respective constructors
Review this feature’s design and requirements
A Verify the required change or observation

Check the result against this instruction: Move the instantiation of the Lists from the field definition to their respective constructors.

6.Call the AddAssignment method and pass in the assignments instead of calling the Add method
A Verify the required change or observation

Check the result against this instruction: Call the AddAssignment method and pass in the assignments instead of calling the Add method.

7.Call the AddAssistant method and pass in the assistants instead of calling the Add method
A Verify the required change or observation

Check the result against this instruction: Call the AddAssistant method and pass in the assistants instead of calling the Add method.

8.In the AddAssignment and AddAssistant methods, add the passed in object to their respective List
A Verify the required change or observation

Check the result against this instruction: In the AddAssignment and AddAssistant methods, add the passed in object to their respective List.

9.Check Your Work
A Build your solution. Ensure it compiles without error or warnings
Hide internal fields and tutor selection
10.Review the feature design
A Identify the contracts and expected behavior

This focused design shows the members or flow relevant to this feature. Keep unchanged members from your preceding checkpoint; follow the tasks below for the order of intermediate edits.

Private implementation details. class MainWindow { - blackboard : GradeBook - canvas : GradeBook } class Instructor { - numberOfStudentsTutored : int } class Assignment { - submission : Attempt } class Course { - GetTutor(knowledgeLevel : double) : Instructor }
Private implementation details
  • New
  • Changed
  • Removed
11.Make the method and fields private using this story’s design reference
Review this feature’s design and requirements
A Verify the required change or observation

Check the result against this instruction: Make the method and fields private using this story’s design reference.

12.Check Your Work
A Ensure that your solution compiles without error or warnings
Submit your work
13.Ensure that all code is StyleCop compliant
A Verify the required change or observation

Check the result against this instruction: Ensure that all code is StyleCop compliant

14.Zip the solution and submit to the Feedback System
A Verify the required change or observation

Check the result against this instruction: Zip the solution and submit to the Feedback System

15.Submit the Feedback System URL to the correct assignment in Canvas
A Verify the required change or observation

Check the result against this instruction: Submit the Feedback System URL to the correct assignment in Canvas.

Completion checklist
16.Review the required evidence
A Check every acceptance criterion

Return to each user story and confirm that you can demonstrate its acceptance criteria. Use the task checkboxes to track completion; a checked box is not a substitute for testing or inspecting the required evidence.

Encapsulate assignment and assistant lists Hide internal fields and tutor selection
B Build and inspect the final solution

Remove temporary lines used only to demonstrate compile-time errors. Build without errors or warnings, check StyleCop compliance, and rerun the required scenario paths.

C Follow this activity’s submission instructions

Use the submission or attendance instructions in this page. For a Feedback System submission, upload the requested ZIP, review and resolve the feedback, and submit the resulting URL to the matching Canvas activity. For a Canvas quiz, enter only the requested answers; for an oral final, complete the scheduling and attendance steps.