Homework structure
There are two parts to every homework: a written part, and a
programming part. Instructions for each part are detailed
below.
Written part
The written part usually consists of a few short-answer
questions. Make sure to explain your answers. Submissionwise,
write your name and your Columbia UNI (no SSN!) on the
top, and hand it in at the beginning of class on the due
date. If you decide to use a late day, either find a TA or
myself to hand it in, drop it off in/slide under the door of 608
CEPSR, or put it in my departmental mailbox. (If you do either,
make sure to email me immediately after doing it so that I can
"timestamp" your submission and pick it up.)
Note: both my office building and the
departmental main office are closed evenings (after 5:30PM) and
weekends, so plan accordingly, or contact me if a problem arises
when using a late day. I'm usually here weeknights, but not
always on weekends.
Programming part
The programming part is to be completed and submitted
electronically. You do not need to submit hardcopies. However,
there are several guidelines you should follow when doing your
homework.
- When submitting, make sure to include the source files
(.java) and a README file. The README should contain your name,
email address, and should describe what your program does, how
to run it, known issues, and anything else you feel should be
documented.
- Your source files should be well-commented. At this level,
I expect proper commenting. I strongly suggest you check out
the Javadoc
style of commenting; while it's not strictly required, I'd
prefer you do it this way. You don't have to be overly
extensive -- saying "this is a variable" right before an int
declaration is overkill -- but non-obvious segments of your code
should be explained, and methods, variables, and classes should
have a brief explanation before them.
- Your code should compile on cunix. Please avoid
submitting noncompiling code. While we may be able to give you
a little partial credit, it's much harder for us to do if
your code doesn't compile. While you're at it, make sure your
code runs to some form of completion. If you can't finish the
assignment in time, it is better to submit some subset of the
code that compiles and runs than to submit an entire program
that doesn't compile or work. Also, if you program on a Windows
machine, make sure to test your code from time to time on
cunix, since we'll be grading it there.
- Please don't use proprietary packages or JARs, such as a
"keyboard" class you may have used in CS1004.
Submitting your code
Submitting your code is relatively straightforward: gather all
your files into a folder on cunix, and run
~cs3134/bin/submit. If everything goes correctly, you'll
receive email about it. Make sure you submit before the
deadline, unless you're planning to use a late day.