Starting out with Expressions
byte short long and width
Primitive Types Challenge
Float and Double Primitives
Floating Point Precision and a Challenge
The char and boolean Primitive Data Types
Primitive Types Recap and the String Data Type
Operators Operands and Expressions
Installing IntelliJ IDEA for Windows
Installing IntelliJ IDEA for Mac
Installing IntelliJ IDEA for Linux
Configuring IntelliJ IDEA - WINDOWS MAC and LINUX
Assignment Operator VS Equals to Operator
Operator Precedence and Operator Challenge
Statements Whitespace and Indentation (Code Organization)
Code Blocks And The If Then Else Control Statement
Code Comparison in IntelliJ
Coding Exercises Introduction
Positive Negative or Zero
Method Overloading Challenge
Seconds And Minutes Challenge
Minutes To Years and Days Calculator
Traditional Switch Challenge
A Switch Expression Challenge
The for Statement Challenge Exercise
Sum 3 and 5 Challenge And Using IntelliJ's Debugger
The while and do while statements
The while Loop Challenge Exercise
While Loop and Do While Recap
Local Variables and Scope
The class the object static & instance fields and methods
Parsing Values and Reading Input using System.console()
Exception Handling and Introduction to Scanner
Reading Input with Scanner
Reading User Input Challenge
Introduction to Classes and Objects
Introduction to Classes Using Getter Methods
Classes Using Setters and Creating Objects
Classes Challenge Exercise
Constructor Challenge Exercise
Reference vs Object vs Instance vs Class
Static vs Instance Variables
Static vs Instance Methods
Java's Implicit POJO Type The Record
What is java.lang.Object?
Inheritance Challenge - Part 1
Inheritance Challenge Part 2
Method Overloading vs Overriding Recap
The Text Block and other Formatting Options
Another Look at the String
String Manipulation Methods
Casting with classes and using Object and var references
Testing the runtime type using the instanceof operator
Polymorphism Challenge Exercise
Polymorphism Challenge Exercise Part 2
OOP Master Challenge Exercise Part 1
OOP Master Challenge Exercise Part 2
OOP Master Challenge Exercise The Bonus
Organizing Java Classes Packages and Import Statements
Using java.util.Arrays (sort fill copyOf )
Finding a Match Using a Binary Search and testing equality of arrays
Arrays Challenge Exercise
References Types vs Value Types
Variable Arguments (Varargs)
Minimum Element Challenge
List and ArrayList Part 1
ArrayList Challenge Part 1
Arrays ArrayList & LinkedList - (Memory and Big O Notation)
LinkedList Challenge Continued
Introduction to Autoboxing and Unboxing
Autoboxing and Unboxing related to Arrays & Lists
Autoboxing & Unboxing Challenge
Autoboxing & Unboxing Challenge
Introduction to the enum type
The enum type continued with the switch statement
Abstraction & Generalization (with overview of abstract and other modifiers)
Abstract Class Challenge Part 1
Abstract Class Challenge Part 2
Interfaces what's new since JDK 8 (default methods & public static methods)
Interfaces new since JDK8 (public static & private methods)
Interface vs Abstract Class
Interface Challenge Part 1
Interface Challenge Part 2
Generic Class Challenge Part 2
Comparable vs. Comparator
Generic classes as reference types
Generics methods wildcards and type erasure
Static methods & multiple upper bounds
Putting it all together Final Section Challenge
Introduction to Lambda Expressions
Introduction to the Lambda Expression and Functional Interfaces
Lambda Expressions syntax and additional examples
Lambda Expressions Continued
Java's Functional Interfaces Consumer & Predicate
Java's Functional Interfaces Function & Supplier
Lambda Expression Challenge Put it all together
What's a Method Reference?
The Most Confusing of the Method References
Method Reference Challenge
Convenience Methods on Functional Interfaces (Chaining lambdas)
Convenience Methods Continued with the Comparator
Introduction to Java's Collections Framework
Collections: Understanding the Big Picture
Code Setup (Deck of Cards) for java.util.Collections methods
Introduction to java.util.Collections
java.util.Collections (shuffle reverse sort indexOfSubList)
java.util.Collections (binarySearch frequency min max rotate)
Collections methods Challenge Your own Card Game
Collections methods Challenge (Five Card Draw) continued
Understanding the importance of the hash code
Code Setup (Phone and Email Contacts) for Sets and Maps
Introduction to Sets & HashSet
Set Operations Symmetric and Asymmetric results
Code Setup (Tasks and TaskData)
LinkedHashSet and TreeSet
TreeSet Closest match and subset methods
TreeSet Challenge (Theatre Seats)
TreeSet Challenge (Theatre Seat Bonus)
The Map Interface and functionality
Map functionality Continued (compute replace remove)
Working with Map's view collections (keySet values entrySet)
HashMap Challenge A Text-Based Adventure Game
LinkedHashMap and TreeMap
Working with TreeMap (NavigableMap) methods
Targeted Collections for enum types
Collections Framework Final Challenge (The Setup)
Final Challenge(Store Inventory)
Final Challenge (Store Inventory)
Revisiting the final modifier
The final modifier applied to methods and local variables
Declaring immutable classes to produce immutable objects Part 1
Declaring immutable classes to produce immutable objects
Challenge: Write your own immutable classes
Defensive Copies Shallow and Deep Copies
Immutable Unmodifiable Collections and Views
Challenge: Use unmodifiable collections
Challenge Continued: Using unmodifiable collections
Constructor review final field initializations Introduction to Initializers
Record Constructors (and javap)
Game Console Setup Part 1
Game Console Setup Part 2
Challenge: Initializers and Constructors A Pirate Game
Challenge: Pirate Game continued
Final Classes Review of constructor access modifiers
Final Challenge (Pirates Continued Part 2)
A first look at a stream in action
The Structure of the Stream Pipeline
Intermediate Operations distinct filter limit skip takeWhile dropWhile
Intermediate Operations map peek sorted
Terminal Operations for statistical information and matching
Code Setup Part 1 (Student Engagement Statistics)
Code Setup Part 2 (Student Engagement Statistics)
Challenge: Terminal Operations
Challenge part 2: Terminal Operations
Terminal operations for processing and transforming stream elements
Using Stream's collect & reduce terminal operations
Challenge: Terminal Operations Part 2
Maps to Streams (using flatMap)
Functionality on java.lang.Math
Randomization Challenge (Rolling Dice)
Bonus Challenge (DiceGame with Scoring)
Introduction to BigDecimal
Overview: Date & Time (java.time)
Overview: Instance Period Duration and Time Zones
Instant ZonedDateTime Duration Period and ChronoUnit.between
Localization Introduction to Locale
DateTime and Localization Challenge
Internationalization (ResourceBundle)
Internationalization (ResourceBundle) Part 2
What's a Regular Expression?
The Parts of a Regular Expression
Methods that use Regular Expressions
Mini Challenges -Regular Expressions
Using Pattern and Matcher
Matcher methods (find group) Grouping and Capturing
Matcher methods for replacing text
Review of the Regular Expressions for Phone Number/HTML tags
Exception Handling: Checked vs. Unchecked the finally clause
Exception Handling: Try with Resources
First Steps: Understanding File Path Files and Paths
Files class: Directory Listings (list walk find)
Files class: Using walkFileTree
File Tree Walking Challenge
Reading text from a file Java IO way
Scanner for reading input files
Character Sets & Reading Text from a File with NIO2 Functionality
Challenge - Reading text from a file
BufferedWriter FileWriter and PrintWriter
Renaming copying deleting files and directories
Copying Deleting Directories: InputStream & Reader's transferTo method
Directory and File Manipulation Challenge
RandomAccessFile Continued
RandomAccessFile Challenge
DataOutputStreamDataInputStream & Serialization
Serialization & Change - Part 1
Serialization & Change - Part 2
Java Threads and Thread Basics
Thread Creation and Execution
Interacting with a Running Thread
Multithreading and Memory
Concurrent threads concepts: Interleaving Atomicity Memory Consistency Volati
Synchronization synchronized methods
Synchronization synchronized blocks
Producer/Consumer Application Deadlocks
Avoiding Deadlocks with Wait & Notify
Synchronization Challenge
java.util.concurrent.locks
java.util.concurrent.locks continued
Managing Threads Introduction to the ExecutorService SingleThreadExecutorServi
The FixedThreadPool ExecutorService
Additional Thread Pools Callable Submit and the Future
ExecutorService Challenge
WorkStealingPool ForkJoinPool
Parallel Streams Ordering Reducing and Collecting
Synchronized & Concurrent Collections
Thread-Safe Lists and Queues ArrayBlockingQueue
ArrayBlockingQueue Consumer Tasks
Revisiting Deadlock and Other Common Problems
More Java concurrency features
WatcherService (the File Watcher)
JDK11 Global Library Configuration
Create Your First JavaFX Project
JavaFX Hello World Program
Slider Spinner ColorPicker & DatePicker Controls
Events and Event Handlers
Setup Sample Todo List Application
Load and Save ToDo Items from/to Disk
Show Dialog and Add Controller Code
Bug Fix and Update List View
Data Binding and Observable
Transforming Nodes and Choosers
More on Choosers and Web Pages
Installing SceneBuilder for Windows
Installing SceneBuilder for Mac
Building a UI with SceneBuilder
Introduction to Debugging
Introduction to Unit Testing with JUnit
More Asserts and Exception Handling
JUnit Challenge #1 and #2
JUnit Challenges #3 to #7
Junit Challenges #8 to #10
Install and Setup SQLite for Windows
Install and Setup SQLite for Mac
Install and Setup SQLite for Linux
Wildcards in Queries and Views
Housekeeping and Final SQL Challenge
JDBC and SQLite GUI Browser
Creating Databases With JDBC in Java
JDBC Insert Update Delete
.executeQuery() and using Constants
The Music SQLite Database
Write Java Query for Artists
Executing SQL in DB Browser
Query Albums by Artist Method
Query Artists for Song method
Write the Method to Query View
SQL Injection Attacks and Prepared Statements
Inserting Records With JDBC
Insert Albums Artists and Songs
Fix Artist and Preload Records
Structuring the new project
Creating the first module (Common)
Creating the Module Descriptor file
Creating the 2nd module (Database)
Challenge - Create the final module (UI)
MySQL Installation for Windows
MySQL Installation for Mac
MySQL Installation for Linux
Database Basics in Ten Minutes
Using MySQL WorkBench to create and view a music database
Connecting to the music database with JDBC
Querying (Retrieving) Data
SQL Injection and ANSI SQL
Statement.execute vs. Statement.executeQuery
Update Delete Statements and Inserting related records
Using executeUpdate Transactions Commits and Rollback and Batch Execution
Creating a Store Front database SQL Exceptions
JDBC Challenge Transactions and Insertion using Statement
PreparedStatement Continued
Challenge: PreparedStatement
CallableStatement OUT and IN/OUT parameters
CallableStatement with functions
Biggest Tip to Succeed as a Java Programmer
The Four Stages of Becoming a Programmer
Software Tools Introduction
Java Development Kit Installation Overview
Install JDK 11 for Windows
Installing Intellij IDEA for Windows
** IMPORTANT ** - Configuring IntelliJ IDEA
Installing Intellij IDEA for Mac
Installing Intellij IDEA for Linux
Configuring IntelliJ IDEA - WINDOWS MAC and LINUX
Hello World Challenge and Common Errors
Starting out with Expressions
byte short long and width
Primitive Types Challenge
float and double Primitive Types
Floating Point Precision and a Challenge
The char and boolean Primitive Data Types
Primitive Types Recap and the String Data Type
Operators Operands and Expressions
Assignment Operator VS Equals to Operator
Operator Precedence and Operator Challenge
Statements Whitespace and Indentation (Code Organization)
Code Blocks And The If Then Else Control Statements
More On Methods And A Challenge
Method Challenge - Final Code Changes
DiffMerge Tool Introduction
Coding Exercises Example Part 1
Coding Exercises Example Part 2
Coding Exercises Example Part 3
Seconds and Minutes Challenge
The switch statement (+Challenge Exercise)
Day of the Week Challenge
The for Statement (+Challenge Exercise)
The while and do while statements (+Challenge Exercise)
Parsing Values from a String
Reading User Input Challenge
Constructors - Part 1 (+Challenge Exercise)
Constructors - Part 2 (+Challenge Exercise)
Reference vs Object vs Instance vs Class
Method Overloading vs Overriding Recap
Static vs Instance Methods
Static vs Instance Variables
Inheritance Challenge Part 1 (+Challenge Exercise)
Inheritance Challenge Part 2
Arrays (Challenge Exercise)
References Types vs Value Types
Minimum Element Challenge
List and ArrayList Part 1
ArrayList Challenge Part 1
ArrayList Challenge Part 2
ArrayList Challenge Part 3
Bug Fix for ArrayList Challenge
Autoboxing & Unboxing (Challenge Exercise) - Part 1
Autoboxing & Unboxing (Challenge Exercise) - Part 2
Autoboxing & Unboxing (Challenge Exercise) - Part 3
LinkedList Challenge Part 1
Bug Fix for "Track 1" Error
LinkedList Challenge Part 2
LinkedList Challenge Part 3 (Final video)
Interfaces Challenge Part 1
Interfaces Challenge Part 2
Interface vs Abstract Class
Abstract Class Challenge Part 1
Abstract Class Challenge Part 2
Abstract Class Challenge Part 3 (includes recursion).
Lambda Expressions Introduction
Lambda Expressions Continued
Lambda Expressions Nested Blocks
Scope and Functional Programming
Functional Interfaces & Predicates
More on Predicates & Suppliers
Chaining java.util.function Functions
Comparable and Comparator
Map Continued and Adventure Game
Adding Exits to the Adventure game
Immutable Class Challenge
HashSet - equals() and hashCode()
Finish off equals() and hashcode()
Potential issue with equals() and sub-classing
Sets - Symmetric & Asymmetric
StockList Class With Maps
TreeMap and Unmodifiable Maps
Regular Expressions Introduction
Character classes and Boundary Matchers
Quantifiers and the Pattern and Matcher classes
Matcher find and Group Methods
Regular Expressions Challenge Part 1
Regular Expressions Challenge Part 2
Regular Expressions Challenge Part 3
Stack Trace and Call Stack
Catching and throwing Exceptions
Writing content - FileWriter class and Finally block
Load Big Location and Exits Files
Buffered Writer and Challenge
Reading Binary Data and End of File Exceptions
Object Input Output including Serialization
Finish Object I/O and RandomAccessFile class
Create Random Access File
Update Static Initializer Block With Random File Access
Update Adventure Game to Read Random Access File
Writing Objects With Java NIO
Reading and Writing with Java NIO
Writing Binary Files with Java NIO
Absolute and Relative Reads
FileChannel to Copy Files and Pipes with Threads
Read Existing Directory Contents
Separators Temp Files and File Stores
Mapping IO and NIO Methods