In this course, students will learn to program using an object oriented programming language. It is assumed students have already learned to design and outline the logic and structure of a program. Upon that foundation, this course will build skills in creating application programs that use object oriented programming concepts, API classes, and user-defined classes. Throughout the course, proper program documentation using class diagrams and comments will be stressed. Unit tests will be used to verify correctness and ensure program quality.