Course Description

This course focuses on Object-Oriented (OO) program design. Students will design programs using classes and objects. They will implement solutions that take advantage of Object-Oriented features including generics, inheritance, and polymorphism by using the Java programming language.

Students will use UML notation as a means to describe OO designs. Additionally, they will analyze, implement, and critique common design patterns.

Prerequisites

CS5001 Intensive Fundamentals of Computer Science.