Overview
Introduction to object-oriented design, architecture, and programming. Use of packages, class libraries, and interfaces. Encapsulation and representational abstraction. Inheritance. Polymorphic programming. Exception handling. Iterators. Introduction to a class design notation. Numerical computation. Applications in various areas.
Learning Outcomes
- Write an object-oriented program by using the following core concepts: classes, objects, methods, inheritance, polymorphism;
 - Structure a simple architecture for an object-oriented program;
 - Identify and reuse software components in the Java language;
 - Translate requirements and specifications to object-oriented programs that prototype realistic problems;
 - Use iterators and exceptions handlers in object-oriented programs;
 - Diagram class relationships by applying the concepts of class design; and
 - Design and construct object-oriented programs of 500 lines or less, including graphical user interfaces, to solve medium-complexity problems using algorithms and the constructs in the Java language.
 
Topics
- Course Introduction
 - Designing methods, introduction to Numeric Representations
 - Introductions to Objects and Encapsulation
 - Testing Code Coverage
 - Inheritance
 - JavaFX, Layout Panes