Barring an emergency or a pre-arranged extension (with Professor Fisler), late homework is not accepted. We begin running grading scripts moments after the homework deadline (yes, at 11pm). We will often go over interesting parts of assignments in the next class. Late assignments interfere with both activities.
If you have a late concern about or problem with your homework, submit whatever you have at the deadline, then contact Professor Fisler about it. This establishes what you had done at the deadline, which makes it easier to fairly address your issue.
Please don't submit homework by email unless you had a problem getting to InstructAssist. All of our grading workflow starts from the submission areas in InstructAssist.
You are welcome to work with a partner on homework assignments, but you are not required to. You may select your own, or fill in the form that will be linked to each homework handout to have us pair you up. You are welcome to change partners from week to week (we encourage this, unless you have a productive relationship that helps you both learn the material.)
If you do work with a partner, we strongly recommend against you splitting the problems and each working on half. Each set of problems is designed to teach you a set of program patterns which could show up on exams or quizzes. If you only do half the problems, you only practice half the patterns. Especially if you are finding the material challenging, only do half the homework will ultimately work against you.
Our autograding software will look for tests in files that have either Examples or Test in the filename (such as Examples.java, DilloTests.java, Hwk1ExamplesGood.java). Tests that are left in any other files will not get detected (and hence not get graded). Similarly, the autograder will not look for classes or methods in these tests files, so non-test classes in these files will not get graded.
Please be sure to separate your code and your tests so that the grading software can find them. You will lose points for failing to set up your files as described here.
Your files can be organized into any subdirectories that you wish.
If you are having problems getting your code to compile before submitting, at least try to get the compilation errors out of your test files. Tests are much harder for us to grade by hand than code, and we have separate grading processes for each.
The tutorials show you how to put your files in something called the default package (if you don't know what that is, don't worry about it--you won't run afoul of this without trying). All of your files must be in the default package for our grading software to find your work. If your file starts with a line like package ..., you are NOT using the default package.
You are responsible for making sure your files are not accessible to other students. Failure to do so constitutes a violation of the course's academic integrity policy.
For Git users: If you like using github to manage your files, it is your responsibility to make sure that your files are not visible to other students (or the public). Either use bitbucket or get the github student pack to protect your work.
You do NOT need to: