CS 520 Object-Oriented Programming
The fundamental concepts of object-oriented programming languages, including data abstraction and typing, class inheritance and generic types, prototypes and delegation, concurrency control and distribution, object-oriented databases, and implementation. To illustrate these issues, programming assignments in languages such as Smalltalk, Eiffel and C++ will be given.