Object-orientation continues to be a dominant approach to software development.  This intermediate programming-intensive course studies the use of classes and objects with an emphasis on collaboration among objects. 
Prerequisites: COMP 272.
Outcomes: A thorough understanding of the principles of object-orientation: abstraction, delegation, inheritance, and polymorphism; exposure to basic design patterns; programming experience in mainstream object-oriented languages such as C++ and Java.
            
            
                        Prerequisites: COMP 272.
Outcomes: A thorough understanding of the principles of object-orientation: abstraction, delegation, inheritance, and polymorphism; exposure to basic design patterns; programming experience in mainstream object-oriented languages such as C++ and Java.