Object Oriented Programming
Spring 2001

U.C.F.

Felix G. Hamza-Lup
Computer Science
School of Electrical Engineering and Computer Science 
 University of Central Florida 
Orlando, FL 32816-2362


email: fhamza@cs.ucf.edu



Meeting Times and Place: M,W,F  8:00 to 8:50 in MAP 359
Office Hours: 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/

JBuilder4 Documentation link ;)


Grading:

2 Tests: about 30% of grade
3 Programming Assignments: about 30% of grade
Final Exam: about 40% of grade 


Assignments policy:

-         The assignments are to be coded by individuals. This does not prevent you from discussing them with your friends or seeking their advice and help. What this does mean is that I expect each of you to do your own work.

-         All programs will be turned in via hard copy and softcopy. The softcopy will be turned in via floppy disk. Hard copies, and floppies, are due by the end of class on the designated day.

-         (!) Late projects will not be accepted.

-         (!) Don't forget to put your names on the assignments.


Resources: Overheads, Java Tutorial, Java at Sun, Java Madness (help with JBuilder)


Syllabus

Week

Topic

Chapters
J=Jia
S=Slides

1 (1.08)

Course requirements; Guiding Principles; Object versus Process Oriented 
Why and What: OO Thinking; Basic vocabulary and concepts;

J1, J2

S1-S30

2 (1.17)

Classes; Objects; OO Paradigms: Encapsulation, Polymorphism, Inheritance;

J1, J3

S31-S68

3 (1.24)

Elements of Java; Java and C++; Program 1 assigned.

JBuilder 4 Demo.

J3

S69-S102

4 (1.31)

JBuilder 4 Demo. Elements of Java (cont.): Iterators - (Iterators Sample). User interface for Assignment 1 (.zip file) ; whole JBuilder project, so download it, unzip it and open the .jpr file in JBuilder. 

J3

S102

5 (2.07)

Program 1 due ; Overloading, Overriding, Variables and Types, Objects and Classes.

J3

S102-S118

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

J3,J4

S118-S149

7 (2.21)

Review Topics. Test 1 ( Wednesday  February 21st   8:00 AM )

S150-S154

8 (2.28)

Test 1 graded;(Withdrawal:  Friday, March 2, 2001 -- after this class)

Test 1 key discussion.

J4

S154-S157

9 (3.07)

Summarizing main concepts learned so far: object oriented paradigms, variable, object, class, type.

Program 2 due; solution to Program 2

Principle of Substitutability.

 

J4

S157-S177

10 (3.14)

Spring Break! Program 2 graded.

 

11 (3.21)

Clone: Deep copy vs. Shallow copy; Threads; Frameworks: I/O Framework.

J4,J6

S177-S188

12 (3.28)

Program 3 assigned; I/O Framewok: Character Streams, Byte Streams Review for Test 2

J6

S188-S206

13 (4.04)

Test 2; File I/O program example.

 

14 (4.11)

Test 2 graded;

 

15 (4.18)

 Program 3 due (20 April);

As promised, here are the solution keys to Test 1 and Test 2.

Here's a solution to Program 3.

 

16 (4.25)

Final Exam Wednesday, April 25, 7:00-9:45 (A.M)

 

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/fhamza


Felix G. Hamza-Lup, fhamza@cs.ucf.edu -- Last Updated April 22,2001