Independent Task: Submit Project
There are a few tasks that you must complete to wrap up Guided Project 3 for grading.
Run Static Analysis Tools
Run SpotBugs, PMD, and CheckStyle on your code (if you haven’t been already) and remove any notifications.
Generate Javadoc
If you haven’t been commenting your code all along, go back and comment your code with Javadoc. All classes, methods, and fields should be commented. If you have been commenting as you have implemented the Activity hierarchy, go back and double check that the comments are up to date for the implemented functionality.
Make sure you include comments for overridden method that describe why the override was important.
Generate Javadoc for WolfScheduler. You may want to delete the existing doc/ folder before generating a new one to ensure that all Javadoc is updated. Double check that everything was generated!
Continuous Integration and Automated Grading
As with Guided Project 1 & 2, and all programming assignments for CSC 216/217, we are using Jenkins as an automated grading and feedback system. Check your Jenkins results and use them to estimate your grade against the Guided Project 3 rubric.
Final Tasks
Before you complete your final submission to GitHub, you should ensure the following:
- You have met the requirements and design for the
WolfSchedulerproject. - You have a green ball on Jenkins. (No test failures and no static analysis notifications.)
- All JUnit tests pass with a green bar (0 errors).
- All System Tests pass and actual results are reported.
- There are no SpotBugs notifications.
- There are no PMD notifications.
- There are no CheckStyle notifications.
- All code is commented with meaningful comments.
- Javadoc webpages are generated with the latest comments.
- AI usage documented in
README.md(see AI Usage Documentation below). - That you meet all rubric items for the assignment.
Make sure that all code is pushed to GitHub by the assignment deadline (check all the files are on the remote!). There are deductions for any late work up to 48 hours.
AI Usage Documentation
As stated in the syllabus, the use of AI assistants (e.g., ChatGPT, Claude, Copilot) is permitted for programming assignments. All AI assistance MUST be documented in your README.md file. Include for each use:
- The AI tool used
- The prompt given
- A summary of the AI response
- How you verified the AI response
- How you used the AI response in your solution
Undocumented AI usage is a violation of academic integrity. Include an AI documentation section in your README.md even if you did not use AI tools (state that no AI tools were used).
Grading Rubric
Your Wolf Scheduler Guided Project 3 will be evaluated on the following items:
Overall Rubric
| Phase | Grade Item | Points | Details |
|---|---|---|---|
|
Student JUnit Tests | 20 | Pass all of *your* JUnit tests. |
|
Student Coverage | 20 | Achieve at least 80% statement coverage on each non-UI class. |
|
Teaching Staff JUnit Tests | 20 | Pass all of the teaching staff JUnit tests (this includes the originally provided tests, with some updates as per the requirements and new hidden tests for the schedule conflict functionality). |
|
Student System Tests | 20 | There are 20 tests. You should both pass the test and report the actual results of execution. You will receive partial credit for reporting failing results for any of these tests that fail. |
|
Teaching Staff System Tests | 20 | Pass the teaching staff's system tests. |
|
Javadoc Contents | 5 | See the Javadoc rubric, below. The rubric will be applied per class and will be averaged by the number of classes. |
|
Javadoc Generation | 5 | Javadoc tool was used to generate the HTML version of the API, which matches the current version of the in-code Javadoc. |
|
Style | 5 | Any PMD, CheckStyle, or SpotBugs Scary or Scariest notifications will result in a one point deduction, up to the available points. |
| Total Points | 115 |
Deductions
| Grade Item | Points | Details |
|---|---|---|
| Misnamed file or incorrect project structure | -5 | Incorrect names of files or incorrect project structure. This can include problems when importing the project to Eclipse for acceptance testing, incorrect location of the system test file, etc. |
| Late | varies | You will lose 1 point for every 2 hours your projects is late, up to 24 points in 48 hours. |
Javadoc Rubric
| Item | Strong - 3 points | Adequate - 2 points | Inadequate - 1 point |
|---|---|---|---|
| Class comments | Class comments fully describe the behavior and abstraction of the class. Author tag is there. | Class comments lack some details of the class’ behavior and abstraction. Author tag may be missing. | Class comments are there but provide no detail about the class’ purpose. Author tag may be missing. |
| Method comments | Method comments fully describe the behavior of the method. Param, return, and throws (for both checked and unchecked exceptions) tags are there and fully specified as appropriate for the method. | Method comments lack some details about the method’s behavior. Param and return tags are there, but not fully specified. | Method comments are there but provide no detail about the method’s purpose. Param and return tags are missing. |
| Field comments | Field comments fully describe the field’s state as part of the class’ abstraction | Field comments lack some details about the field’s state as part of the class. | Field comments are minimal and provide no detail about the field’s purpose. |
| Spelling | No spelling errors | A few minor spelling errors that do not distract from the content. | Many spelling errors that distract from the content |
| Grammar | No grammatical errors | A few grammatical errors that do not distract from the content | Many grammatical errors that distract from the content. |
GitHub Resources:
Check Your Progress
Complete the following tasks before pushing your work to GitHub.
- Make sure that all fields, methods, and constructors are commented.
- Resolve all static analysis notifications.
- Fix test failures.
- Commit and push your code changes with a meaningful commit message. Label your commit with “[Final Submission]” for future you!
- Check Jenkins results for a green ball! Fix any Jenkins issues.
