Schedule of classes: |
|
||||||||||||||||||
Staff: |
|
||||||||||||||||||
Required Textbooks: |
Java Software Solutions,
Lewis and Loftus, 5th Edition,
Addison-Wesley, 2006, ISBN: 0321409493. |
||||||||||||||||||
Optional Textbooks: |
Preferred alternatives:
General Programming and/or Data Structures texts:
Topic-specific Guides:
|
||||||||||||||||||
Required Software: |
We will use Java 1.5. You could also
use Java 1.6 (the most recent version), and in a pinch even Java 1.4
(though we will occasionally use features such as the "foreach" loop
that are not present in that version). Given the
sometimes subtle inconsistencies between Java versions, it is advised
that you remove any other versions of the JDK that you may have on your
machine (though this is not a requirement). We will also use 3 IDE's: DrJava, Eclipse, and our own custom IDE. For those using PC's (rather than Macs), you may also consider using JCreator (we like version 2.5 -- it's older, but it's simple and gets the job done). This is a loose requirement, in that you may elect to use another IDE, or even just the command-line. On the course resources page, we also offer links to other IDE's which may have certain advantages over Eclipse in some circumstances. |
||||||||||||||||||
Course Requirements: |
Participation in this course consists of the
following activities
Attendance is strongly encouraged. You will be responsible for all materials presented in lectures and recitations. You should not expect that all lecture or recitation materials will be given to you in written form, nor should you expect that lectures or recitations will be drawn from the textbook. Assessment: Any material covered in lecture, in recitation, in assigned readings, or in homework assignments may be included in any future homework assignment, quiz, or test. |
||||||||||||||||||
Grading: |
Each homework, quiz, midterm, and final will be graded on a standard
scale: Semester grades will be determined first by computing the individual averages for homeworks, quizzes, and midterms, then combining these with the final exam according to the weighting table above. At that point, half-point rounding will be used, so 89.5 will round up to an A, but 89.499 will remain a B. Finally, we will look closely at every marginal case (within one point of the next higher grade), taking participation and extra credit into account so that grades may be adjusted nominally upwards in some exceptional cases. To help set expectations for marginal cases, it would be expected that about 10 hours of extra credit would roughly warrant consideration for a half-point increase. |
||||||||||||||||||
Exams: | Final Exam: There will be a common departmental written exam. Midterm
Tests: |
||||||||||||||||||
Quizzes: |
Quizzes will be given approximately once per week in lecture. No late / make-up quizzes or tests will be administered, except in the case of medical or family emergencies. |
||||||||||||||||||
Written Work: |
Some homework assignments, and most quizzes and tests, will include some written work (meaning: work that is not performed with access to Java or an IDE or a calculator (unless otherwise noted), whether or not it involves programming). In order to receive credit for these problems, you must show your work. Correct answers without supporting documentation will not be given any credit. Some questions may not require work to be shown (eg: "Name three software companies in Silicon Valley"), but most questions assuredly do. When in doubt, show your work. | ||||||||||||||||||
Programming Assignments: |
The programming assignments are a critical part of the course. Experience has shown that the concepts covered in this course are best learned by direct engagement -- in our case by applying them to example problems or by implementing them in computer programs. Programming assignments will be graded based on style (modularity, effective use of data abstraction, readability, commenting, etc.) and functionality (correctness and efficiency of the program on the test inputs). A working program is not sufficient for full credit. Make sure you do a thorough data validation. Your code should be properly annotated with comments that are well-placed, concise, and informative. Your assignments will be graded by your CA. |
||||||||||||||||||
Late Homework: |
Homework is due at a specified date and time. No late assignments will be accepted, except in the case of medical or family emergencies. If for some reason you cannot attend lecture on a day when written work is due, you can submit your homework to Angie Brookins or Heather Browne, whose offices are in the Wean Hall 5100 corridor. If you do this, be certain that you place "To: David Kosbie" very clearly at the top of your assignment so it will be properly routed. Also, be sure to contact your CA by email at that time to let them know your late work was submitted. This is only for unusual circumstances, and in general you are expected to submit written work in class. | ||||||||||||||||||
Dropped Lowest Scores | To give you some flexibility with your schedule, your lowest homework score and your lowest quiz score will each be dropped from your grade calculation. This is limited to homeworks and quizzes, though, and does not apply to test scores or the final exam. | ||||||||||||||||||
Cheating and Collaboration: |
Unless otherwise noted, for homework assignments, students are encouraged to talk to each other, to the course staff, or to anyone else about the assignments. This assistance, though, is limited to the discussion of the problem and perhaps sketching of general approaches to a solution. Each student must develop his or her own solutions to the homework. Consulting another student's solution is prohibited, and submitted solutions may not be copied from any source. Specifically: do not look at other students' code or written answers, and do not show them your code or written answers, until after an assignment has been submitted and graded. Also, if you find a reference (say, in an optional textbook or some online source) that contains code or a written solution that is identical or overtly similar to an assigned problem, then you are required to not look at that code or written solution! You may still refer to supporting figures and explanatory text, but you may not look at or copy the code. The issue of cheating will be taken seriously by the instructor and CA's, and homework assignments will be routinely checked for violations, which will be handled in accordance with the University regulations. |
||||||||||||||||||
Pair Programming Lite TM |
Some assignments may be denoted as "Pair Programming Lite". These are meant to give you the myriad educational benefits of working in small (two-person) groups, but to give you flexibility in how you approach the assignment. The rules to these assignments will be posted here soon. |