What would be good ways to accomplish following:
(1) Add comments to Jupyter notebook for my own reference in future? And in doing so what should I not do so as not to confuse the auto grader?
(2) Is it better to make a local copy of the notebook and adds comments there?
(3) If I make a local copy perhaps the Unit tests will not work? How can I get copy of Unit tests?
Yes, you can always add comments by adding cells above or below as per your preferences, but you must know that it will always cause error to the auto grader. So, it would be better for you to add things once you pass the assignment fully through the grader and then write your comments by adding cells and then download the notebook in the form of pdf to your local disk.
This will be an easy way to remember things for your future references.
Regarding issue on local copy, Mentor Kchong has already advised you with a link.
My experience is that adding your own comments even within the graded cells is not a problem, as long as you are careful not to accidentally overwrite any of template code. Even adding cells to the notebooks (“Insert → Cell Below”) generally doesn’t cause problems for the graders even when they contain code, as long as you are careful not to redefine any function names that are used in the graded cells. I sometimes add cells with different tests for my code or other “experimental” logic.
Yes, you can use “Insert → Cell Below” to do that. Note that this could confuse the grader in some cases, so the best practice is to add this comment as the first line in any added cells:
# START SKIP FOR GRADING
End of inclusion …
Of course it may be that I have just not explored the full range of this type of addition and there may be other things that will disturb the graders. But you can always test your code again by grading it after your additions. You can submit to the grader as many times as you like and there is no penalty, even if the later submissions fail after you’ve passed the assignment. The system remembers your best scores.