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

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.
Check the result against this instruction: Copy your GradeBook 2.4 Assignment. Rename the folder and .sln to 3.1.
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.
Check the result against this instruction: Add/modify the class structure for the Attempt and Assignment classes using this story’s design reference.
class.


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.
Check the result against this instruction: Make changes to the Assignment class structure using this story’s design reference.
When instantiating the CertificationExams, hard-code the instructor's name for the first argument.
Check the result against this instruction: In the MainWindow, refactor the code to instantiate the assignments using the constructor.


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.
Check the result against this instruction: Modify the Course and Instructor classes using this story’s design reference.
Check the result against this instruction: In the MainWindow, use the constructor to instantiate the Instructors.
Check the result against this instruction: Change the assignment of the Teacher to a local variable named instructor.
Check the result against this instruction: In the MainWindow, use the constructor to instantiate the Courses.
Check the result against this instruction: Assign the PrimaryInstructor field to the local instructor variable.


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.
| RequiredSessions assignment | Expected IsOnProbation |
|---|---|
| 0 | false |
| 1 | true |
| 10 | true |
| -1 or 11 | Assignment rejected; prior value and status retained |
Check the result against this instruction: Modify the Student class using this story’s design reference.
Check the result against this instruction: In the getter of the IsOnProbation property, return true if the requiredSessions field is greater than 0.
Check the result against this instruction: In the setter of the RequiredSessions property, check if the incoming value is between 0 and 10 before assigning it to the requiredSessions field.
Check the result against this instruction: In the FindHelp method in the Course class, remove the lines of code that check the student's RequiredSessions and assign IsOnProbation.
Check the result against this instruction: In the MainWindow, change the assignment of the Course field to a local variable and update all references.
Check the result against this instruction: Move the instantiation of the course above the instantiation of the Student.
Check the result against this instruction: Move the instantiation of the instructor above the instantiation of the course.
Check the result against this instruction: Instantiate the Student using the constructor.


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.
Check the result against this instruction: Modify the GradeBook class using this story’s design reference.
Check the result against this instruction: In the MainWindow, move the line that instantiates the GradeBook to be the last line in the event handler.
Check the result against this instruction: Change the assignment of the CurrentStudent field to be a local variable names student.
Check the result against this instruction: Change the lines of code that assign the RequiredSessions field to references the student variable.
Check the result against this instruction: Delete the lines of code that assign the PrimaryInstructor field.
Check the result against this instruction: Use the constructor to instantiate the GradeBook objects.


Check the result against this instruction: Ensure you code is StyleCop compliant
Check the result against this instruction: Zip the solution and submit to the Feedback System.
Check the result against this instruction: Submit the Feedback System URL to the correct assignment in Canvas.
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.
Initialize and grade an encapsulated attempt Construct an assignment with private state Construct the course and its instructor Control student probation through properties Construct the grade book lastRemove temporary lines used only to demonstrate compile-time errors. Build without errors or warnings, check StyleCop compliance, and rerun the required scenario paths.
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.