This guides discusses how to work on your homework and submit it for grading.
Modifying Homework Code
Refer to the TODO
comments in the template code for specifics on what code to fill in or modify for the assignment. When modifying this code, keep in mind the following:
-
Do not modify any method or class declarations. For example, you cannot add or remove keywords like
static
or add athrows
keyword to a method if one was not already included. -
Do not modify (non-main) methods that are already fully defined. For example, if a method is provided and has no
TODO
comments within the method definition, you may not modify that method. -
Do not modify the test code. This includes any input or output files utilized by the test code.
-
You MAY add additional members and methods as needed to the code.
-
You MAY add additional classes and imports for those classes as long as they are a part of core Java or one of the pre-approved third-party libraries (Apache OpenNLP, Apache Commons Text, Apache Log4j2, Jetty, MariaDB).
-
You MAY add comments to clarify code for yourself. You can add comments to already defined methods if you want.
-
You MAY change a
return
statement in a method with aTODO
comment as needed. (You may not change the return type in the method declaration, however.) -
You MAY remove the
main
method if you do not need it for debugging. -
You MAY remove the
TODO
comments when you are done. This removes them from the “Tasks” view in Eclipse. If you want to keep the comment around, you can change the textTODO
toDONE
instead.
Post on Piazza if you have any questions regarding what must be done for a homework assignment or a question about your homework grade.
Submitting On-Time Homework
Our TA has recorded a super helpful walkthrough if you prefer a video of these steps! You may need to login with your USF username and password for access.
To receive full credit on any homework assignment, you must:
-
Pass all of the unit tests remotely. See the Testing Homework guide detailed steps. You will not receive full points if you are passing the tests locally but not remotely.
-
Commit your work often. Some assignments require a minimum number of commits! Consider making a commit after you complete every
TODO
in the code or after you pass a new test. -
Avoid warnings. Some assignments require the code to compile with no warnings to earn full points. Try to make sure your code is warning-free in Eclipse before testing your code remotely!
-
Follow the
TODO
directions. For example, if theTODO
comment stated you must use aHashSet
and your code does not, you could lose points even if you are passing all of the unit tests. -
Properly submit your homework on time. By default, GitHub Classroom will report your grade based on the last commit before the deadline and will ignore all other commits after that.
To submit your homework, you must make a commit and push that commit to GitHub before the deadline!
Submitting Late Homework
Our TA has recorded a super helpful walkthrough if you prefer a video of these steps! You may need to login with your USF username and password for access.
GitHub Classroom will report your grade based on the last commit pushed before the deadline and will ignore all commits pushed after that. To have your homework regraded after the deadline, you must:
-
Make sure you are happy with the late grade reported by the most recent GitHub Action run. Pay attention to the grade reported by the “Check Autograding Results” annotation.
-
Create an issue using the “Late Homework Request” template. Follow the instructions to fill in your name and USF username.
-
Wait for the GitHub Action bot to run. Within a few minutes, it should respond with:
-
If there are problems with your request, the bot will report the problems and close the issue. You must fix those problems and then re-open the issue to trigger it to run again.
-
If there are no problems with your request, the bot will respond with the grade that should be entered into Canvas and assign the issue to the teacher assistants to process. Once they have entered your grade, they will close the issue.
If you are uncertain what to do or your issue has been open for over 2 business days without any activity, reach out on Piazza for help.
-
See this example issue for what the request should look like when it runs properly.