Programming Assignments - A programming assignment will be assigned for each major topic covered in the course. These assignments can (and in most cases, will) build on previous assignments. For instance, the assignment on networks and socket programming will entail use of mulithreaded programming. These assignments are intended to allow you to get hands-on experience with all of the major components of the Java 2 programming environment. All assignments must be your own work! See the Academic Honesty section below for more details!
Test - The only test for this course covers concepts, both related to object-oriented programming in general and Java-specific. This test will not ask you to write any code. It will ask you to explain different concepts and components. It will ask you to understand the advantages and disadvantages of particular approaches to specific problem solving. It will require you to think.
Late Submission of Assignments - Everyone should try their best to submit all assignments on their due dates. However, there are various circumstances that may prevent a student from completing an assignment on time. Therefore, late assignments will be penalized 10% per 24 hour period, or fraction thereof. No special previsions will be made for weekends. Late assignments will be acceptable up to one week late. After one week, late assignments will no longer be accepted, and a score of zero will be assessed. Assignments should be handed in directly to me when possible. Assignments can be turned in electronically via email, however though fairly reliable as email can be, it is in no way guaranteed, and the risk that your email will not succeed is your own.
Grading Errors - Sometimes, mistakes do occur in the grading of assignments. After a graded assignment has been returned, you have one week to submit a request to have it regraded. This request must be in writing and include the original assignment, as well as a brief description of your dispute with the grade. Such a request should be submitted directly to the TA, during office hours or left in the TA's mailbox. After one week, no requests for assignment regrading will be considered. If the situation cannot be resolved after discussion with the TA, please come and talk to the instructor about it.
Academic Honesty - When working on a program, you may consult with the instructor, the TA, classmates, friends, or anyone else you wish. However, all programming must be your own work. You may discuss in general terms the approach to solving a programming problem. Once the discussion progresses to specific programming issues, such as control structures, variables, etc..., you must end any collaboration. Specifically, you may not (1) copy or allow another student to copy a computer file that contains another student's assignment and submit it, or any part of it, as your own, (2) work together on an assignment, sharing computer files and source code, and submit copies as the assignment as individual work, or (3) edit a script file. Any evidence of performing any form of academic dishonesty will be immediately turned over to the student judicial board, with a recommendation that a grade of F/X (failure due to academic dishonesty) be recorded for this course. If you are in doubt whether or not a certain behavior is permitted, please ask the instructor beforehand!