Loyola University Chicago

searchform
This siteLUC.edu

COMP 473: Object-Oriented Programming

Credit hours
3
Prerequisites
COMP313
You need to have knowledge of Java, data structures, and fair sophistication with OOP - some experience with designing interacting, cooperating classes that would come in an intermediate discussion of software patterns. Software engineering is recommended but not required like the background listed above.
 
Description
Object-oriented programming has become the dominant software development paradigm of the 1990s. This course assumes familiarity with the main constituents of the object-oriented methodology:

OOP = abstraction + inheritance + polymorphism

Building on this foundation, the course studies three major topics.

Design Patterns
First, the course discusses patterns, reusable solutions to recurring software design problems. Common design patterns such as Composite, Decorator, and Command typically involve several classes related by composition and inheritance.
Implementation
Next, the course examines how object-oriented language features such as composition, encapsulation, inheritance, and dynamic binding can be implemented. These features are studied in the context of an interpreter for a simplified object-oriented language. The interpreter itself is written in Java.
Components
Finally, the course explores programming with reusable components. Specifically, the standard features of component architectures are discussed: properties, events, methods, and persistence, and introspection. Concretely, the course studies JavaBeans as an example of a component architecture.

This course is heavily project-oriented. Students study each major topic in the context of a substantial programming project. The reuse of existing class libraries and software components is emphasized. The programming projects will be conducted in the Java language.

Other Information
Grading will be based upon the following components: programming projects, quizzes, in-class exams, and the final exam.
Syllabus
Taught by Dr. Laufer.

Computer Science Department · Loyola University Chicago · Lewis Towers, Suite 416
Water Tower Campus · 820 N. Michigan Avenue · Chicago, Illinois 60611, USA
Phone: 312.915.7999 · Fax: 312.915.7998 · E-mail: info@cs.luc.edu