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