COP 4331
Object-Oriented Design and Programming (5862/99S)
New or Updated Items
Final exam information
Texts
-
Required
-
Practical Object-Oriented Development In C++ and Java by
Cay S. Horstmann, John Wiley & Sons; 1997; Softcover; ISBN 0471147672
-
Teach Yourself Java 1.1 in 21 Days, Second Edition by Laura
Lemay and Charles L. Perkins; SAMS; 1997; Softcover; ISBN: 1575211424
-
Recommended
-
Java In A Nutshell : A Desktop Quick Reference, Second Edition
by David Flanagan; O'Reilly & Associates; 1997; Softcover; ISBN: 156592262X
Objectives
-
To develop an understanding of the basic principles of object-oriented
software design and implementation through study and practice.
-
To develop an understanding of the Java language and skill in using it
to implement object-oriented software.
Prerequisites
Students are expected to have a good grasp of the fundamental concepts
of C++ and object-oriented programming as currently taught in COP 3530,
Data Structures and Algorithm Analysis. The following are some specific
concepts and topics with which the student should be familiar: class,
object, constructors, destructors, inheritance, public/protected/private
access, polymorphism, virtual functions, abstract classes, template classes,
recursion.
Syllabus
Click here for course syllabus.
Reading Assignments
Key: TYJ = Teach Yourself Java ...;
POOD = Practical Object-Oriented Development ...
Jan. 21: TYJ Days 1 - 7
Jan. 28: POOD Ch. 1 & 4
Feb. 4: POOD Ch. 5
Feb. 25: TYJ Days 8 & 9 (fonts only)
Mar. 4: TYJ Days 11
Mar. 18: TYJ Days 12 & 13
Mar. 25: TYJ Days 14, 15, & 16
Apr. 2: TYJ Day 17
Apr. 9: TYJ Days 20 & 21
Apr. 16: (more to come)
Homework and Programming Assignments
-
Assignment 1: Expr Application:
Due Thrusday, February 4
-
Assignment 2: O-O Analysis:
Due Thursday, February 18 (Late assignments will
not be accepted)
-
Assignment 3: O-O Analysis (continued): Due Thursday, March
4
-
Draw a class diagram for SLOTE. Prepare a class description form
for each class in SLOTE.
Prepare an operation description form for one non-trivial function
in each class. If you are working with a partner, also prepare an
operation description form for every operation in the document class or
your equivalent class.
-
Assignment 4: SLOTE Applet:
Due Thursday, April 1
-
Assignment 5: SLOTE Application:
Due Thrusday, April 15
-
Assignment 6: Action Listener: Due Thursday,
April 29
-
Modify the Slote Application to use the listener model for actions rather
than the action() method. You may use either the Java 1.1 listener
model or the Swing model. Submit your program in print and with hwroy.
The last possilbe time for submission is 5pm Friday, April 30.
Assignments, Exams and Grading
There will be two exams, a midterm on February 25
and the final on April 29. The final exam
will be cumulative. In computing the final grade, homework will count
40%, the midterm exam will count 25% and the final 35%.
Assignments are due at the start of class on the assigned date unless
otherwise indicated. In most cases late work will be accepted with
a penalty of 5 points for the first day plus 4 for the second, 3 for the
third, 2 for the fourth, and one for each additional day, assessed.
However, in a few instances where solutions will be provided or discussed,
late work will not be accepted. These special assignments will be
clearly identified.
Java programs will be submitted in three forms
-
Electronic submission of source code with hwroy,
-
Submission of printed copy of code and printed output from testing of any
Java applicaiton programs, and
-
Java applets must be published to our CSE Unix account (see below)
Design assignments will be submitted as hard copy.
CSE Unix Accounts
You must have a CSE Unix account. If you do not currently have such
an account, telnet to reality.cse.fau.edu
and login with the userid and password "register". Provide the requested
information. If you would like to pick up your account information
in Davie rather than in Boca, say so in the "Comments?" section at the
end of the dialog.
In order to publish your Java programs to the
web, you must create a subdirectory in your home directory called public_html.
The permissions for this directory should be set to 755. Within this
directory, create a subdirectory cop4331 with the same premissions.
For each assignment you will create a subdirectory of cop4331 with the
same permissions and a name specified in the assignment. All html
and class files for the assignment will be copied to this directory with
permissions 644. In addition, your home directory must have permissions
set to 711. Do not publish your source code.
To run Java on the CSE Sun systems, be sure to
add /usr/local/java1.1/bin or /usr/local/java1.2/bin to your path
depending on whether you wish to use Java 1.1 or Java 1.2.
Source code will be submitted with hwroy, either by logging in to your
CSE Unix account and executing the command "hwroy" or with the web version
at http://www.cse.fau.edu/~hwroy.
Last Update: 14 Apr 1999 by R.Levow