Introduction
  • Course Overview
Development Environment Setup
  • Download and Install JDK 15
  • Download Latest version of Eclipse 2020
  • Dedicated TA Support
  • Setup Java and Eclipse (Windows)
  • How to Proceed in this Course
Getting Started
  • What is a computer program
  • Lecture 2: First Java Program
The Very Basics of Java
  • Lecture 3: Variables and Data Types
  • Lecture 4: More on Data Types
  • Lecture 5: Working with Arrays
  • Lecture 6: Control Flow using if-else and switch statements
Understanding Methods
  • Lecture 7: Methods in Java
  • Lecture 8: Method Visibility and Static vs. Instance
Understanding Object Orientation
  • Lecture 9: Class and Object
  • Lecture 10: Program Flow
  • Lecture 11: Program Structure and Application Runtime
  • Lecture 12: Java Stack + Heap with Reference Variables
  • Lecture 13: Class Inheritance
  • Career Advice
  • Lecture 14: Interfaces
  • Lecture 15: Abstract Classes
Putting it Together with Strings, Nested Loops and Debugging
  • Lecture 16: Working with Strings
  • Lecture 17: While Loops
  • Lecture 18: For Loops
  • Lecture 19: Nested For Loops and Debugger
PRACTICAL PROJECT: Car Dealership
  • Lecture 20: PRACTICAL PROJECT (Car Dealership) + HW
  • Lecture 21: SOLUTION TO PROJECT (Car Dealership) + toString and equals()
Building and Deploying Java Programs with JAR Files
  • Compiling Java Programs using the Command Line
  • Creating and Deploying Executable Programs using JARs
  • Creating a JAR File Using the Command Line
File Processing and Exception Handling
  • Lecture 22: File Processing with Exception Handling and Keyboard Input
  • Lecture 23: Buffered File Reader with Try Catch and Finally
  • Lecture 24: Try with Resources and the AutoCloseable Interface
The Collections Framework
  • Lecture 25: Introduction to Collections
  • Lecture 26: Traversing Lists and Custom Types
  • Lecture 27: HashSet and LinkedHashSet with Hashcode
  • Lecture 28: Collection Methods and Using the Comparable Interface
  • Lecture 29: HashMap, LinkedHashMap and TreeMap
PRACTICAL PROJECT: Stock Market Data
  • Lecture 30: PRACTICAL PROJECT (Stock Market Data Processor)
Java Generics
  • Lecture 31: Generics
  • Lecture 32: Generics with Wildcards
PRACTICAL PROJECT: Data Analytics Processor
  • Lecture 33: PRACTICAL PROJECT (Data Analytics Processor Assignment)
  • Lecture 34: PRACTICAL PROJECT (SOLUTION)
Concurrency in Java
  • Lecture 35: Introducing Threading
  • Lecture 36: Starting Threads and the Runnable Interface
  • Lecture 37: Thread Safety Using Synchronization
  • Lecture 37: Thread Safety with Collections
  • Lecture 39: Producer Consumer Pattern Using wait() and notify()
  • Lecture 40: Producer Consumer Pattern Using a BlockingQueue
  • Lecture 41: Thread Pools and the Executor Framework
JDBC (Java Database Connectivity)
  • Lecture 42: Java JDBC Overview (Installing MySQL Database)
  • Lecture 43: Preparing the Database and Basic SQL Commands
  • Lecture 44: Use JDCB to Send SQL Statements after Connection
  • Lecture 45: Inserting, Updating and Deleting Data Using JDBC
Java 9 Features and the JShell
  • Java JShell
Lambda Expressions and the Streams API
  • Functional Interfaces and Lambdas
  • Practice with Lambda Expressions [Assignments]
  • Built-in Functional Interfaces
  • Working with Streams
  • Get Access to All of my current and future courses!