Spring 2001 |
Meeting Times and Place: W 19:00 to 21:45 in CL1 104
Office Hours:W 17:30 to 18:30; R 19:00
to 21:00; CSB 207
Text:
Object-Oriented Software
Development Using Java
Xiaoping Jia, Addison-Wesley, 2000.
References:
The Java Programming Language, Third Edition
Ken Arnold, James Gosling,
David Holmes, Addison-Wesley, 2000
Thinking in Java, 2nd Edition,
Bruce Eckel, Prentice Hall,
2000
also on-line at http://www.eckelobjects.com/
The Java Tutorial Second Edition: Object-Oriented
Programming for the Internet
Mary Campione, Kathy Walrath,
Addison-Wesley, 1998
also on-line at http://java.sun.com/docs/books/tutorial/index.html
Design Patterns: Elements of Reusable
Object-Oriented Software
Gamma, Helm, Johnson & Vlissides, Addison-Wesley, 1995
Free Software IDE:
JBuilder 4 -- http://www.borland.com/jbuilder/foundation/ (you need this)
JBuilder4 Documentation and Samples link (but don't forget this)
I strongly
recommend you get JBuilder 4 Foundation. It's free and it's very nice.
I hope all of you can run this at home, rather than
in the labs.
JBuilder also can be configured to create Spotlets,
Java programs that run on Palms.
2 Tests: about 30% of grade3 Programming Assignments: about 30% of gradeFinal Exam: about 40% of grade
Week
|
|
J=Jia S=Slides |
1 (1.10)
|
Course requirements; Guiding Principles; Object
versus Process Oriented
|
S 1-42 |
2 (1.17)
|
Encapsulation; Polymorphism; Inheritance; Classes;
Objects ;
|
S 42-78 |
3 (1.24)
|
Elements of Java
JBuilder4 Demo
As promised, here's sample
Java code for Vectors and Iterators
|
S 79-102 |
4 (1.31)
|
Classes; Objects; The Java Language / Culture
|
S 103-103 |
5 (2.07)
|
Program 1 due
We reviewed object-oriented principles, and built
an example JApplet in JBuilder, called helpme, that demonstrates many concepts
required in the first programming assignment. Download helpme.zip
and take a look.
|
S 103-103 |
6 (2.14)
|
Here's a solution to Program
1. Understanding this program is important review for the first
test.
Program
2 assigned.
Review for Test 1. Click here
for review topics.
|
S 103-153 |
7 (2.21)
|
Test 1
|
|
8 (2.28)
|
Program 1 graded
Test 1 graded
Added a change to Program 2, a new abstract class in our shapes hierarchy, to override toString() method for printing/debugging convenience. Make sure you implement the new requirements! Reviewed concepts from Ch. 3 in preparation for Ch. 4! (Withdrawal: Friday, March 2, 2001 -- after
this class)
|
S 154 - 168 |
9 (3.07)
|
Program 2 due
Begin Ch. 4 topics. |
S 169 - 184 |
10 (3.14)
|
Spring Break!
|
|
11 (3.21)
|
Program 2 really due!
Here's a solution to Program 2 We spent a lot of time discussing the difference between deep and shallow copying, the cloneable interface (which is a marker interface), and the clone() method. Equality versus equivalence. We discussed threads, and the two ways to use threads in a Java program, by extending the Thread class and overriding the run() method, or by implementing the Runnable interface. We also discussed the I/O framework from chapter 6, including reading from and writing to files. |
S 185 - 213 |
12 (3.28)
|
Program 2 graded
Program 3 assigned Review for Test 2. Click here
for review topics.
|
|
13 (4.04)
|
||
14 (4.11)
|
Test 2 graded
|
|
15 (4.18)
|
Program 3 due
Review for Final Exam: we drew pictures depicting
the heap from program 3, as objects were created, cloned, modified, and
compared using = =, .equals(), and .hashCode().
As promised, here are the solution keys to Test
1 and Test 2.
*** Here is a list of promises for the Final Exam *** |
|
16 (4.25)
|
Program 3 graded
Final Exam Wednesday, April 25, 19:00-21:45 |
Note 1: Assignment deadlines must be adhered.
Note 2: Notes and support material will be on-line. Visit the course
web site regularly: http://www.cs.ucf.edu/courses/cop3930-OOP/Smith