CIS 4930 Section 0998X (Spring 1996)

Object-Oriented Programming

Last Edited: Tue Jan 9 18:29:31 1996 by jnw (Joseph N. Wilson) on aviator.cis.ufl.edu

Syllabus

Instructor
Joseph N. Wilson
Course Description
This course discusses fundamental conceptual models for object-oriented programming and illustrates these with specific programming languages and application problems. Specific topics include class and object models, inheritance, and other relations among classes and objects as well as both static and dynamic system models and implementations.

This Semester's Offering
During this Semester we shall use the languages C++ and Dylan and possibly Objective-C to illustrate object-oriented programming language issues, and projects using each of the languages will be assigned.

Students will complete perform readings, complete homework assignments, and work individually on a number of programming projects to gain competence in employing the object-oriented approach to programming.

Some course materials will be provided via the World-Wide Web.

Required Texts
An Introduction to Object-Oriented Programming, Timothy Budd, Addison Wesley, 1991. (ISBN 0-201-54709-0)
Recommended Texts
The C++ Programming Language, Bjarne Stroustrup--2nd Edition, Addison Wesley.

Dylan Interim Reference Manual, Apple Computer Eastern Research and Technology, 1994.

Credit
3 hours

Course Time and Place
MWF 2, CSE 222.

Grading
Homework and Quizzes (20%) Projects (30%), Midterm (25%), Final (25%)

Weekly homework assignments and quizzes will be due and given on Fridays.

Honor Code
The following is the University of Florida's honor pledge:
We, the members of the University of Florida community, pledge to hold ourselves and our peers to the highest standards of honesty and integrity.
Students will be expected to abide by this and shall not lie or cheat in this class or in any other dealings at the University of Florida. The following pledge will be attested to on each examination [assignment, program]:
On my honor, I have neither given nor received unauthorized aid on this examination [assignment, program]
Students are allowed to discuss concepts, methods of solution, and programming techniques, however, each individual written or program assignment shall be the creative effort of the student alone.
Outline of Topics
Week Topic
Jan 8,10,12 Thinking Object-Oriented; Responsibility-Driven Design
Jan (15),17,19 Responsibility-Driven Design; Classes & Methods
Jan 22, 24, 26 Classes & Methods; Messages, Instances, & Initialization
Jan 29,31 Feb 1 Messages, Instances, & Initialization
Feb 5,7,9 Inheritance
Feb 12,14,16 Midterm Feb 12; Static & Dynamic Binding
Feb 19,21,23 Replacement & Refinement
Feb 26,28 Mar 1 Inheritance & Types
Mar 4,6,8 Multiple Inheritance
Mar 11,13,15 Spring Break!
Mar 18,20,22 Polymorphism
Mar 25,27,29 Midterm Mar 25; Visibility & Dependence
Apr 1,3,5 C++ Container Classes and the Standard Template Library
Apr 8,10,12 Unified Design Notation
Apr 15,17,19 Implementation Strategies
Apr 22, 24 Further Topics and Review