CSE-509: Object Oriented Programming - Syllabus
Instructor: Harry Porter
Home Phone: 503-224-0014
Office space at OGI: Room 146, CSE Central
Office hours: directly after class meetings and by arrangement
Teaching Assistant: ?????
Office: Room ???, CSE Central
Office hours: ???
This course provides a rigorous introduction to the concepts behind object-oriented programming. It is for students who are already famailiar with the concepts of object-oriented analysis and design techniques. One way to learn this background material is by taking CSE 504 Object-Oriented Analysis and Design. In CSE 509, students gain a thorough understanding of incremental programming, type-safety, polymorphism, encapsulation, and set-based abstraction, and apply these concepts through a variety of programming projects. We studey several programming languages, including Java and Smalltalk, so students are exposed to different realizations of these concepts and gain an appreciation for the programming language design space. We also look at published object-oriented design patterns and see how they can be implemented in different object-oriented programming languages. Students are required to read appropriate research papers, complete several short programming assignments, complete a substantial programming project, and write some short essays. Prerequisite: CSE 504 or equivalent. 3 credits.
When and Where:
Monday & Wednesday, 4:00PM - 5:20PM
1600 Building, Room 110-A (#17 on the map),
Map of OGI Campus
First Class: Monday, January 7, 2002
No class on: January 21 (MLK), February 18 (President's)
OGI Weather / Closure Hotline: 503-748-1551
Squeak; Object-Oriented Design with Multimedia Applications, by Mark Guzdial. Published by Prentice Hall. ISBN 0-13-028028-3.
Squeak: Open Personal Computing and Multimedia, by Mark Guzdial and Kim Rose. Published by Prentice Hall. ISBN 0-13-028091-7.
The Java Programming Language (Third edition), by Ken Arnold, James Gosling, David Holmes. Published by Addison-Wesley. ISBN 0-201-70433-1.
For more info, see
OGI Textbook Ordering Info
Midterm Exam: Monday, February 25, 4:00PM - 5:20PM
Final Exam: Monday, March 18, 4:00PM - 5:20PM
The final will be comprehensive. The exams will be closed book and closed notes.
CSE-504: Object-Oriented Analysis and Design
HW 1: Introducing Smalltalk (1 week)
HW 2: Smalltalk Programming Assignment (1 week)
HW 3: Smalltalk Programming Assignment (1 week)
HW 4: Smalltalk Programming Assignment (2 week)
HW 5: Java Programming Assignment (1 or 2 weeks, concurrent with project)
Project: Student-Selected Project (in Smalltalk, 4 weeks)
Students are encouraged to discuss the programming projects among themselves. However, the actual coding must be done solely by each student. In other words, you are encouraged to share ideas, to talk specifics, and even to look directly at code when discussing code specifics with another student, but you are forbidden from sharing or copying code.
Attendance in class is mandatory.
The final exam may test on material covered only in class and on material covered only in the reading assignments. Your grade will be based approximately, as follows. These percentages are tentative; I may change them.
Students may obtain an OGI
Student ID / Card Key, available to
registered students at no charge. OGI Facilities will be taking photos for
IDs on January 7 through January 11 (Mon thru Fri.), between 11:00 a.m. and
noon, and also on January 9 and 10 from 3:00 to 7:00 p.m. Card keys are
produced in Jefferson (See #10 on the
If students are not available to get
an ID during these times, please call Donna Reed (503) 748-1178, or e-mail
for an appointment.
Students may use their own computers for this class, or they may obtain an
account on OGI's UNIX machines.
Students may obtain computer accounts by typing the word "apply" at any
console in the terminal room of the CSE Central computer science building
and following the prompts. See the CFST web page at
or contact the CFST account administrator in
Room 139 of CSE Central for instructions.
Students who have registered and run the "apply" program by Monday,
December 17 will have active accounts by the first day of class.
There is an email mailing list called ???, which you should subscribe to. To add yourself to the list, send an email to email@example.com with no subject and a single line in the message body:
You may submit short messages to this mailing list by emailing to ???.
Harry H. Porter III
Harry's Home Page
Last Updated: January 4, 2002.