Five parts of documentation for object-oriented code should be
In general, all of this (and the README discussed
below )
Offsite people, again, because of firewalls, etc,
I suggest you get an account here and make a web page at
our site
Do not send me the equivalent of a README file in the mail. In fact, in
reality, I should not need to get any mail from you regarding lab submissions
since you should have registered them and any information should be at the
ftp site or on the web page. Except if you are taking a
video course and I do not have any other way of knowing when you might
be submitting materials
Java and portability. Yes, Java is machine independent, but
filing systems are not. I should not have to manipulate directories
because you used a package name but did not send it to me in the same
structure. Nor should I have to look for classes with main() in them.
Nor should I have to change file names so there
are no spaces in them, edit capitals (case specific), or add things to
classpaths that you did not mention were needed.
For applications (I need to download to run), to make sure that
I see the
same files and directory structures as you, you should
submit your labs (with any classes needed to run it that are
not in the JDK) using a jar. For the java programming classes, the last java lab submission is illustrated
at http://www.ecst.csuchico.edu/~amk/foo/advjava/notes/CSsubmission.html .
You should use jars for all the java labs that are not runnable
from a web page (and you might want to use them there too to get used
to them for applets), but you will not need to
have multiple jars for labs other than ones that run on more than one
machine (e.g. client/server, RMI, etc).
A Beginner's Guide to HTML (original page is gone but this has links to
three nice pages..including tutorials pages with a beginner's document with basic links
Finally, related to the above. It works very nice when you have a web page
with links to all of your stuff, so I don't have to open a million things,
all I have to do is follow your links. Here is a Java example. In this example, I was showing people
how to take your application and make it into an applet (if you had a main()
that was not ridiculous).
Here is another example for HelloWorld. This one shows how to use javadoc for documentation, (this
is as easy as using /** and */ for documentation - look in the source to
see the exact file and what it generated) but this example is
missing any object model and a link to the .jar with all the files.
I have links to these here so you can look under View at DocumentSource or
PageSource and
see how easy it is to make a web page with all your stuff.
Note that even if you have an application, you can make a web page with
all of your documentation and information, and then make a .jar
file link for me to download. See this guide page and this jar tip page for jar information. Even though this
page talks about using jar files for applets, you could use it
for an application since it is similar to providing a .zip file containing
all your classes. Note this is also handy to transport anonymous classes
with the dollar sign problem.
For those of you behind firewalls, get an account here and make your page here.
The best way to see if your submission is OK...May I make a suggestion?
Give a link to your program submission to some stranger, along
with the code - not on your machine - and tell them to look at
it. Just stand there and don't say a word about what to do. If
they have any questions, this material should be somewhere in a
README or documentation so that I don't have the same question.
Please realize that yours is not the only one I am looking at and you
are not standing over my shoulder.
Do not send me tool specific files!
Your Specific Application
Also, you should provide a README file to inform me explicitly
what to do to see how your piece of work gets started, what I should expect to see, etc. Remember that I have a lot of
students and if it takes me a long time to figure out how to see what
it is that I am supposed to see, I get frustrated....and we don't want that
to happen while I am grading your lab :-). So be precise and clear. Thanks
Make a Webpage
Quickest webpage ever
The Advanced HTML index
HTML tutorial and references