General Assignment Frequently Asked Questions (FAQ)
I don’t know where to start
The assignment may feel overwhelming
Start by reading the assignment in its entirety
Consider how the problem can be broken down
I don’t know how to do X
This is typical and sometimes intentional as independent wording is critically important
Go to google.ca and type in X
This is not to dismiss your question — it’s how experienced programmers figure out how to do X
How long should this assignment take?
This will depend heavily on experience levels
At this stage, expect the assignments to take multiple hours
In other words, do not get discouraged if you are on hour 6 and you’ve yet to finish
Remember, you would not expect to write a high quality essay in a single one hour sitting
I think I did everything correctly, but it’s still not working
This is typical
Sometimes bugs are simple and easy to find, and others are sneaky
Take your time with debugging and tracking down the problem
I recommend going through the code; what does the code you wrote actually say?
Consider printing out values to see what the values of your variables are at different points of your code
Try to take advantage of the debugger
If you are still stuck after an hour or so of trying to get the broken part working, come to office hours
Should I be making any significant changes to the provided code/files?
Unless it’s an empty class you are to complete, no
Often the provided code is written in such a way for a specific reason
What do the provided methods do?
Have a read of the docstrings for the methods
Trying to figure out their functionality is part of the assignment
Learning to look at unfamiliar code is a critically important skill to learn
Some of the code in the provided methods looks like magic
This is normal, even with experienced programmers
It would be unusual if one were to look at a non-trivial block of code and immediately know what it is doing
At this stage, you may need to do a bit of googling to make sense of the code
This is an important skill to develop
Is it OK to solve the problems in a way you did not describe, since I believe my solution is better
It may be the case that you truly found a better way to solve the problem, but follow the provided instructions
Sometimes constraints are provided to you to emphasize a specific skill you are to learn and develop
Additionally, if you do not follow the instructions, it may break the automated testing of your code
The files the program is supposed to read are not opening properly/Java cannot find the files
This one isn’t uncommon; your files may be in the wrong location on your computer
I provided you with a constant for the relative path to the files, so ensure the files are where the path expects
How do I know if I have enough comments?
You don’t really
Write your docstrings
If you have a block of code that you feel is not self-explanatory, consider adding a comment
Do not get carried away with adding comments
If possible, make the code itself as self-explanatory as possible, that way you don’t need the comment
Can I work with a friend?
No
If the deadline is 11:55pm and I submit it shortly after that, will it still get marked?
No
It would be unfair to not be consistent and follow the outline set at the start of the semester
To hedge against a late submission, aim to submit the assignment well before the deadline
I accidentally submitted the wrong code — will you accept the correct code even though it’s late?
No
Unfortunately this is a common cheating strategy students take in order to submit their assignments late
Although you may have truly made this mistake, because cheating is so rampant, I cannot accept these submissions
Will I really get a 0 if the submission is done incorrectly?
Yes
Unfortunately, like submitting the wrong code, this is a common cheating strategy
I had technical difficulties when trying to submit, therefore it was late — will you accept the submission now?
No
Like the others, this is another common cheating strategy
Because this is commonly used for cheating, we can’t accept the submission
To hedge against this, aim to submit your assignment well before the deadline