Object Oriented Programming Using Java

Because the real power of Java comes from its object orientation, Java
programmers need both object-modeling and coding skills to realize Java's
full potential. This course teaches those skills and also explores how
they interrelate. Geared for students with no object-oriented knowledge
and only introductory Java skills, the course leads students through the
entire application production process with a series of practical examples.
This process--developing object models, scenario diagrams, and coding--is
repeated through the entire course to build the student's skill in producing
real-world, practical solutions. Emphasis is on getting students to "think"
in terms of objects.

Though not intended to teach Java comprehensively, the course provides
enough additional information on Java for students to write significant
applications, especially using AWT and threads.

Grading:

Based on a series of 4-5 short programming assignments (90% of grade) and
an in-class final test (10% of grade). The lowest programming assignment
score is dropped and the rest averaged together to form 90% of the course
grade. The final letter grades are determined by the combination of assignments
and final as follows:

The majority of the course work consists of several programming assignments.
We will walk through the code for a solution on each assignment due date.
The lowest score you receive will be dropped and the rest averaged to form
90% of your course grade. (This means that, if necessary, you can miss
one assignment without penalty.)

I prefer that assignments be turned in through e-mail. The best way to
do this is to attach each source code and output file for the assignment
at the end of an email. This will let me give you more precise feedback
on your code. If necessary, I can also accept hardcopies. Assignments are
due 1-2 weeks after being assigned.

This class assumes that you have access to a computer with version 1.2
or later of the JDK (Java Development Kit). If you do not already have
a JDK, you can download version 1.4 from http://java.sun.com. You can also find
an IDE there (Forte for Java, Community Edition) if you wish to use it.
Nothing in the course will require more than a text editor, a command
line compiler, and a web browser or applet viewer (included in the JDK).

Collaboration

Unless otherwise arranged, the programming assignments are to be done individually,
and all work submitted must be your own. This helps ensure a fair and
uniform experience for all students. This applies to the actual programming;
I encourage you to discuss design in class and on the class mailing list.
If you do receive major assistance from any source, you must cite it.
If you have any questions about the collaboration policy, please ask me.

Having said this, if two people wish to collaborate on class assignments
and submit an assignment as a team, I can make arrangements to do this
by expanding the assignment. Please see me at the start of class if you
wish to do this.

There will be one final exam, worth 10% of the course grade, on the last
day of class. The exam is intended to verify understanding of basic object-oriented
programming principles. The content will be similar to that of the quizzes.

Late assignment policy

In general, late assignments cannot be accepted since we walk through solutions
in class. I will make exceptions for special circumstances if arranged
in advance. (For example, if your work requires you to miss class and
you also will miss the walkthrough.)

Grade Options & Incompletes

Please contact me before the last class meeting to change grading
options or request an incomplete.