Programmer 1 Course Topics:

Other links:

Readings - Oracle:

Oracle Training/tests:

What Is a Java Program?
  • Introduction to Computer Programs
  • Key Features of the Java Language
  • The Java Technology and Development Environment
  • Running/testing a Java program
Creating a Java Main Class
  • Java Classes
  • The main Method
Data In the Cart
  • Introducing variables
  • Working with Strings
  • Working with numbers
  • Manipulating numeric data
Managing Multiple Items
  • Working with Conditions
  • Working with a List of Items
  • Processing a list of items
Describing Objects and Classes
  • Working with objects and classes
  • Defining fields and methods
  • Declaring, Instantiating, and Initializing Objects
  • Working with Object References
  • Doing more with Arrays
  • Introducing the NetBeans IDE
  • Introducing the Soccer League Use Case
Manipulating and Formatting the Data in Your Program
  • Using the String Class
  •  Using the Java API Docs
  •  Using the StringBuilder Class
  •  More about primitive data types
  •  The remaining numeric operators
  •  Promoting and casting variables
Creating and Using Methods
  • Using methods
  •  Method arguments and return values
  •  Static methods and variables
  •  How Arguments are Passed to a Method
  •  Overloading a method
Using Encapsulation
  • Access Control
  • Encapsulation
  • Overloading constructors
More on Conditionals
  • Relational and conditional operators
  • More ways to use if/else constructs
  • Using Switch Statements
  • Using the NetBeans Debugger
More on Arrays and Loops
  • Working with Dates
  • Parsing the args Array
  • Two-dimensional Arrays
  • Alternate Looping Constructs
  • Nesting Loops
  • The ArrayList class
Using Inheritance
  • Overview of inheritance
  • Working with subclasses and superclasses
  • Overriding methods in the superclass
  • Introducing polymorphism
  • Creating and extending abstract classes
Using Interfaces
  • Polymorphism in the JDK foundation classes
  • Using Interfaces
  • Using the List Interface
  • Introducing Lambda expressions
Handling Exceptions
  • Handling Exceptions: An overview
  • Propagation of exceptions
  • Catching and throwing exceptions
  • Handling multiple exceptions and errors


  • Use Java programming language constructs to create a Java technology application.
  • Use decision and looping constructs and methods to dictate program flow.
  • Understand basic object oriented concepts such as inheritance, encapsulation, and abstraction.
  • Use and manipulate object references, and to write simple error handling code.
  • Use the new SE 8 java.time and java.time.format packages to format and print the local date and time.
  • Specify a data modification by passing a predicate lambda expression to the Collections class.