Skip to main content

Independent Task: Submit Project

There are a few tasks that you must complete to wrap up Guided Project 3 for grading.

Callout Box Icon

Learning Outcomes

  • Run static analysis tools and fix notifications
Reminder: Running Static Analysis Tools

Run Static Analysis Tools

Run SpotBugs, PMD, and CheckStyle on your code (if you haven’t been already) and remove any notifications.

Reminder: Generating Javadoc

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!

Reminder: Jenkins Feedback

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:

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.
Reference: Staging and Pushing to GitHub

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.