Assignments
General information on Assignments, Assignment Submission, Grading and the like.
Due Dates
With rare exceptions all my assignments are due at 8PM the Friday of the week noted for the due date. (If the week is identified by the Sunday or Monday in the class schedule this may be a bit confusing.)
Unless previous arrangements have been made assignments are late after the due date/time. Late assignments will be penalized. Generally I multiply grades for assignments late less than one week by 0.5. Assignments more than one week late will not be accepted or graded.
Submitting Work
You should submit your work to this class using the pages linked here - you'll have to make a login. To make that login you'll have to know the secret word - which will be given out in class. My grades and comments will be returned through the same system (though those pages are not likely to work quite yet). Your assignments should be submitted in a specific format. The "get a login" and "submit an assignment" part of this seems to work ok and the "get grades" part should work as soon as there is data. However, this system is likely to have a few bugs yet, so if you run into any problems, let me know.
The easiest way to get correctly formatted homework files is to build them by using this jar file submit.jar and the command "java -jar submit.jar". (In unix you'll need to be running X Windows.) If you are trying to submit large files (over a few Mb) you may need to use the extended argument to java to expand the maximum heap size : "java -Xmx512Mb -jar submit.jar" (this expands the heap to 512Mb which should be sufficient).
The program will produce an output file (with a weird name) and tell you the name of that output file both in the text area in the program window and in the terminal (if you ran it from a terminal) Be sure to select a class and an assignment and give your name in the appropriate places.
If you are submitting a file from a group, give only one person's name (from the group) and submit a text file "group-members" with the names of the other people in the group. If there is no such file, I will not be able to properly credit the students working on the assignment.
It is wisest to grab a recent version of the "submit.jar" file as bugs are discovered and fixed from time to time and recent versions should be more reliable than earlier versions.
The source code for this program (I try to keep this current, but it is not always up to date) may be found in this file: Submitter.java
Improperly submitted files will not be graded. I will usually give you one chance to retry submitting files without penalty. Of course, if there is an error in my submit.jar program, I'll fix it and you can resubmit without penalty. If you think there is an error and there is not an error, you get the one chance above.
DO NOT send me object files, class files, or other binary executables. Images in JPEG or PNG format are ok as are PDF files for write ups - though you should also consider HTML files for writeups when appropriate. Docbook and other XML formats may be acceptable (check with me first). Please do not send me, unless I specifically say that they are okay, other binary files. This includes Microsoft Office binary files, Open Office binary files, ".dvi" files and the like. Also, unless you check with me, no RTF files.
DO send (as required) source code, Makefiles, Ant build files. I should be able to compile and run your code with the files you give me, with any files I make available to you, and with standard libaries. Remember I am using Linux. If in doubt, ask.
Please do not send back to me data files that I make available to you as part of an assignment.
I believe the submit program works ok. If you find problems, let me know. The source for the program is included in the jar file if you're curious or want to enhance, fix or just play around with the code.
Copying
Your assignments must be your own work. If I give you code, you can use that code as a basis for your work - but the work you do to solve the assignment must be your own. You may (indeed I encourage you to) work with someone else (or several others) and solve the assignment. However you must then discard that work completely and redo it on your own. For all but the most trivial of problems the differences will be enough that it will be clear that it is your own.
Copying code off the internet, from other students or from any other source and passing it off as your own is not permitted. If I catch you doing it, you may be subject to penalties in grading in that course as well as penalties imposed by the university. I won't claim that I detect all such code, but generally its not that hard to see when it has been copied. Plagiarism of other peoples copyrighted works is illegal and you could potentially be sued for doing it.
If you work in a team the same rules apply - that is, the assignment must be original to your team.
Note that you own the copyright on your code (as I own the copyright on my code) or other writings and you can then use it as you will in the future. If you do work in a team the team owns the copyright on all the works produced.
Web Pages
Assignments for a class are posted to web pages in the general area for that class. My goal is to make all the assignments available for a class by the first day of class. I don't always make it, but my goal is certainly to make all the assignments for a class available by the end of the first week of the class.
Some classes are best done with assignments made available over the course of the term. In these cases, assignments will still be posted to the website and their availability will be announced in class.