Advanced Programming and Design

Objectives
This course teaches concepts and methods of object-oriented programming that help create complex software systems that are maintainable, reusable, and extensible. It also addresses the development of scalable software that is able to exploit modern multicore hardware.