Lessons:

Lesson 1: Java Basics

  • Important Dates
  • Overview
  • General Info
  • Executing programs

Lesson 2: Object Oriented Programming

  • Identifiers
  • Basics of OOP

Lesson 3-1: Java Basics 2

  • Whitespace
  • Errors
  • Comments
  • Variables and Constants
  • Primitive Types
  • Default Types (Numerical Types)
  • Char
  • Escape Sequences
  • Boolean
  • Arithmetic Expressions and Operators

Lesson 3-2: Java Basics 2

  • Integer Division
  • String Arithmetic
  • Order of Operations
  • Mixed Type Expressions
  • Assignment Conversion
  • Casting

Lesson 4: Using Predefined Classes

  • Declaring Variables of Classes
  • Instantiation
  • Invoking Methods
  • Reference Variables
  • Garbage Collection
  • String Methods
  • String Immutability

Lesson 5: Input and Output

  • Scanner Basics
  • Scanner Errors
  • Multiple Prompts and Tokens
  • Multiple Tokens Per Line
  • Packages
  • Formatting with printf
  • String.format
  • NumberFormat
  • DecimalFormat

Lesson 6: Decision Making Statements 1

  • if Statements
  • Relational and Equality Operators
  • Comparing Non-numeric Data
  • Comparing Strings
  • String Interning
  • The compareTo Method
  • The if-else Statement
  • Logical Operators
  • Short-circuit Evaluation
  • Ternery Condition
  • The switch Statement

Lesson 7: Iteration

  • while Loops
  • do-while Loops
  • for Loop
  • Nested Loops
  • The break Statement
  • The continue Statement

Lesson 8: Arrays

  • Array Information
  • Declaring and Creating Arrays
  • Specifying Values
  • for-each Statement
  • Searching Arrays
  • Sparce Arrays and Null Checking
  • CLI Arguments
  • Wrapper Classes
  • 2D Arrays
  • 2D Array Processing (for loops)
  • Ragged Arrays
  • More Dimentions

Lesson 9: Methods

  • Methods
  • Method Header
  • Calling/Running Methods
  • External Method Calls
  • Method Overloading

Lesson 10: Introduction to Writing Classes 1

  • Instance Variables
  • Visibility Modifiers
  • Testing Objects
  • Constructors
  • Methods
  • Static Variables, Constants, and Methods
  • Math.random()

Lesson 11: Introduction to Writing Classes 2

  • Accessers and Mutators
  • Overloading Constructors
  • Constructor Chaining and this()
  • Using ‘this’ as a reference
  • The toString Method

Lesson 12: Inheritance

  • Inheritance Basics
  • Class Hierarchies
  • The Protected and Default Modifiers
  • Subclasses
  • Inheritance and the Final Keyword
  • The Abstract Modifier vs Concrete
  • The Object Class and Overriding equals

Lesson 13.5 and Lesson 14: Interfaces

  • Introduction to Interfaces
  • Sorting Objects
  • Default Methods
  • Static Methods
  • Constants in Interfaces
  • Interface Hierarchies

Lesson 15: Introduction to Polymorphism

  • Polymorphism
  • Assignments, Methods, and Casting

Lesson 16: Exceptions and File IO

  • Exceptions
  • Throwing an Exception
  • The Call Stack
  • The Throwable Hierarchy
  • Handling Exceptions by Catching
  • File I/O and the FileNotFoundException
  • Declaring Exceptions to be Thrown (Removing try-catch requirement)
  • Checked vs Unchecked Exceptions
  • Defining and Exception and Using the Throw Operator
  • Delimited Files

Lesson 17: Lists and more Generics

  • The List Interface
  • ArrayLists
  • LinkedLists
  • ArrayList vs LinkedList

Lesson 18: Recursion

  • Recursion Basics
  • Factorial Example

Lesson 19: JavaFX

  • JavaFX Basics and Hello World
  • The Stage and Scenes
  • Event Handling
  • List of Node Types
  • Scene Graph and Stack Pane
  • Anonymous Inner Classes
  • Lambda Expressions