• Online, Instructor-Led
  • Classroom
Course Description

This course provides a solid understanding of the core OO and Java concepts and practices needed to create well designed Java programs. It also covers all the key OO capabilities and how to use them in Java, including material on creating well designed Java classes, using encapsulation, building more complex functionality with composition, and using inheritance to share functionality and create specialized types. It also covers more advanced concepts such as using interfaces, working with the Java Collections Framework, and overviews of accessing databases with JDBC and JPA (including labs using JPA). All labs are done using Eclipse.

Learning Objectives

At the conclusion of this course, students will be able to:
- Understand the role of the Java Virtual machine in achieving platform independence.
- Use the primitive data types and fundamental control flow constructs to write basic Java applications.
- Utilize the Eclipse IDE to develop and debug Java applications and incorporate automated JUnit testing.
- Use the object-oriented paradigm when defining classes
- Be able to define and invoke methods properly
- Create arrays of various data types and loop through them in an application
- Use encapsulation to combine the data and methods within a class.
- Use inheritance and polymorphism to create and use new data types that are specialized versions of existing data types.
- Define both abstract classes and interfaces to create a hierarchy of classes that form the basis for a framework of data types to work with
- Be able to write exception handlers to respond to errors at runtime within a program
- Use the various built in I/O classes to perform various ways of creating input and output within a program
- Use various data types from the Collections Framework to work with various collections of data.
- Work with the client/server model to create applications that are able to communicate over a network.
- Write basic Graphical User Interfaces (GUIs) in Java
- Utilize the Java Stream API to process data in a pipelined fashion.

Framework Connections

The materials within this course focus on the NICE Framework Task, Knowledge, and Skill statements identified within the indicated NICE Framework component(s):