20906 Object Oriented Programming

Credits: 4 advanced credits in Computer Science or in Software Engineering

Prerequisites: Students must fulfill all English requirements and take bibliographic instruction in the Library.

Required: Data Structures and Introduction to Algorithms (or Data Structures)

The course, developed by David H. Lorenz and Tamar Benaya, is based on Object-Oriented Programming (3rd ed.), by T. Budd (Addison Wesley, 2002), and Squeak by Example, by A. P. Black et al. (Square Bracket Publishing, 2007).

The course fosters a comprehensive understanding of the principles of object-oriented programming and design by presenting a comparative approach to the field. Basic concepts in object-oriented design are illustrated with case studies and by writing programs in one or more object-oriented languages.

Topics: The concepts of object, class, meta-class, message, method, inheritance, and genericity; Forms of polymorphism in object-oriented languages.