Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Zero To Mastery

Java Programming Bootcamp: Zero to Mastery

via Zero To Mastery

Overview

Learn Java from scratch with an industry expert. You'll learn Java programming fundamentals all the way to advanced skills and reinforce your learning with over 80 exercises and 18 quizzes. The only course you need to go from complete programming beginner to being able to get hired as a Backend Developer!
  • Learn Java SE syntax and concepts such as object-oriented programming, exception handling, file I/O, functional programming and more
  • Learn to write clean, bug-free Java code using best practices
  • Master Java programming from fundamentals all the way to advanced skills
  • Learn one of the best, most widely-used programming languages
  • Practice your skills with 80+ exercises (with solutions)
  • Put your knowledge to the test with 18+ quizzes
  • Build fun games like Wordle, Hangman, Tic Tac Toe, and Trivial Pursuit
  • Have the skills and understanding of Java to confidently apply for Java programming jobs

Syllabus

  •   Introduction
    • Java Programming Bootcamp: Zero to Mastery
    • Exercise: Meet Your Classmates and Instructor
    • Understanding Your Video Player (notes, video speed, subtitles + more)
    • Course Code & Resources
    • Set Your Learning Streak Goal
  •   Welcome to Java (the language)!
    • What is Java?
    • When Do We Need Java? Backend vs. Frontend
    • Time To Get Your Hands Dirty - Your First Java Program
    • Quiz
    • Mac Users: Development Environment Setup
    • Windows Users: Development Environment Setup
    • Linux Users: Development Environment Setup
    • Other Users: Development Environment Setup
  •   Java Application Structure
    • Creating Classes
    • Using Classes to Create Objects
    • Structuring the Application with Packages
    • Adding Class Members to Classes
    • Understanding the Application Structure
    • Quiz
    • Let's Have Some Fun (+ Free Resources)
  •   Exercises: Packages and Classes
    • A Note on Exercises
    • Exercise: Basic Bank Account
    • Solution: Basic Bank Account
    • Exercise: Product Inventory
    • Solution: Product Inventory
    • Exercise: University Application
    • Solution: University Application
    • Exercise: Football Tournament
    • Solution: Football Tournament
  •   Working with Variables and Arrays
    • Understanding Variables
    • Working with Variables in Java
    • Working with Primitives
    • Sizes of Primitives
    • Performing Operations with Operators
    • Arithmetic Operators
    • Assignment Operators
    • Unary Operators
    • Relational Operators
    • Storing Text Variables in Strings
    • Understanding Casting
    • Casting in Java
    • Storing Multiple Values in One Variable
    • Working with Arrays
    • Quiz
    • Unlimited Updates
  •   Exercises: Primitives, Arrays and Casting
    • Exercise: Assign and Print Integer Values
    • Solution: Assign and Print Integer Values
    • Exercise: Add Two Floating-Point Numbers
    • Solution: Add Two Floating-Point Numbers
    • Exercise: Concatenate Two Strings
    • Solution: Concatenate Two Strings
    • Exercise: Initialize and Print an Integer Array
    • Solution: Initialize and Print an Integer Array
    • Exercise: Multiply Two Integer Variables
    • Solution: Multiply Two Integer Variables
    • Exercise: Find the Length of a String
    • Solution: Find the Length of a String
    • Exercise: Initialize and Print a String Array
    • Solution: Initialize and Print a String Array
    • Exercise: Divide Two Double Variables
    • Solution: Divide Two Double Variables
    • Exercise: Cast a Double to an Int
    • Solution: Case a Double to an Int
  •   Primitives vs. Objects
    • Primitives vs. Objects
    • Objects Containing Primitives
    • Objects Containing Objects
    • Understanding the Stack and Heap
    • The Meaning of Pass by Value
    • Quiz
    • Implement a New Life System
  •   Exercises: Objects
    • Exercise: Create a Simple Object with Primitives
    • Solution: Create a Simple Object with Primitives
    • Exercise: Create an Object Containing Other Objects
    • Solution: Create an Object Containing Other Objects
    • Exercise: Predict the Output of the Code
    • Solution: Predict the Output of the Code
    • Exercise: Pass Primitive Data Type to a Method
    • Solution: Pass Primitive Data Type to a Method
    • Exercise: Pass Object to a Method
    • Solution: Pass Object to a Method
  •   Control Flow
    • If Statement
    • Demo: If Statement
    • Switch Statement
    • Demo: Switch Statement
    • While Loop
    • Demo: While Loop
    • Do While Loop
    • Demo: Do While Loop
    • For Loop
    • Demo: For Loop
    • Foreach Loop
    • Demo: Foreach Loop
    • Controlling Loops with Break and Continue
    • Quiz
    • Course Check-In
  •   Exercises: Control Flow Statements
    • Exercise: Determine Entrance Ticket Price Using If Statement
    • Solution: Determine Entrance Ticket Price Using If Statement
    • Exercise: Comment on a Student's Grade Using Switch Statement
    • Solution: Comment on a Student's Grade Using Switch Statement
    • Exercise: Print All Values in an Array Using a For Loop
    • Solution: Print All Values in an Array Using a For Loop
    • Exercise: Print the First N Even Numbers Using a While Loop
    • Solution: Print the First N Even Numbers Using a While Loop
    • Exercise: Print a Sequence of Numbers Using a Do-While Loop
    • Solution: Print a Sequence of Numbers Using a Do-While Loop
    • Exercise: Calculate the Sum of an Array Using a For-Each Loop
    • Solution: Calculate the Sum of an Array Using a For-Each Loop
    • Exercise: Determine the Highest and Lowest Grades Using Control Flow Statements
    • Solution: Determine the Highest and Lowest Grades Using Control Flow Statements
    • Exercise: Find the Average of Odd Numbers in an Array Using Control Flow Statements
    • Solution: Find the Average of Odd Numbers in an Array Using Control Flow Statements
  •   Writing & Using Methods in Java
    • The Syntax of a Basic Method
    • Adding Input Parameters to Methods
    • Adding the Return Type and the Return Statement
    • Invoking Different Methods
    • Quiz
    • Exercise: Imposter Syndrome
  •   Exercises: Methods
    • Exercise: Basic Method
    • Solution: Basic Method
    • Exercise: Method with Input Parameters
    • Solution: Method with Input Parameters
    • Exercise: Method with Return Type and Return Statement
    • Solution: Method with Return Type and Return Statement
    • Exercise: Invoking Methods from Another Class
    • Solution: Invoking Methods from Another Class
    • Exercise: Create a Method to Perform Several Calculations and Invoke It from Another Class
    • Solution: Create a Method to Perform Several Calculations and Invoke It from Another Class
  •   Access Modifiers and Static
    • Understanding Access Modifiers
    • Public Access Modifier
    • Demo: Public
    • Private Access Modifier
    • Demo: Private
    • Default Access (No Modifier)
    • Demo: Default
    • Protected Access Modifier
    • Demo: Protected
    • Static Modifier
    • Demo: Static
    • Quiz
  •   Exercises: Access Modifiers and Static
    • Exercise: Access Modifiers - Public, Protected, Default, Private
    • Solution: Access Modifiers - Public, Protected, Default, Private
    • Exercise: Static Modifier
    • Solution: Static Modifier
    • Exercise: Fix the Problem
    • Solution: Fix the Problem
  •   Working with Text Variables (String and StringBuilder)
    • String Class
    • Methods on the String Class
    • Understanding String Immutability
    • Comparing Strings
    • Working with StringBuilder
    • Quiz
  •   Exercises: String and StringBuilder
    • Exercise: String Class
    • Solution: String Class
    • Exercise: Methods on the String Class
    • Solution: Methods on the String Class
    • Exercise: Immutability of Strings
    • Solution: Immutability of Strings
    • Exercise: Comparing Strings
    • Solution: Comparing Strings
    • Exercise: StringBuilder - Create, Compare, Concatenate, and Reverse Strings
    • Solution: StringBuilder - Create, Compare, Concatenate, and Reverse Strings
  •   Working with Dates & Times
    • LocalDate
    • LocalTime
    • LocalDateTime
    • ZonedDateTime
    • Duration and Period
    • Calculating with Dates and Times
    • Formatting and Parsing Dates
    • Quiz
  •   Exercises: Dates and Times
    • Exercise: LocalDate
    • Solution: LocalDate
    • Exercise: LocalTime
    • Solution: LocalTime
    • Exercise: LocalDateTime
    • Solution: LocalDateTime
    • Exercise: ZonedDateTime, Duration, and Period
    • Solution: ZonedDateTime, Duration, and Period
    • Exercise: Formatting and Parsing Dates
    • Solution: Formatting and Parsing Dates
  •   Object Oriented Programming (OOP)
    • Introduction to OOP
    • OOP Pillar 1: Inheritance
    • OOP Pillar 2: Encapsulation
    • OOP Pillar 3: Abstraction
    • OOP Pillar 4: Polymorphism
    • Overriding, Overloading and Hiding
    • Quiz
  •   Exercises: Object Oriented Programming
    • Exercise: Apply Inheritance and the Three Pillars of OOP with Getters and Setters
    • Solution: Apply Inheritance and the Three Pillars of OOP with Getters and Setters
  •   Constructors
    • Constructors Explained
    • Default Constructor
    • Custom Constructor
    • Using super() and this()
    • Constructors and Inheritance
    • Quiz
  •   Exercises: Working with Constructors
    • Exercise: Default Constructor
    • Solution: Default Constructor
    • Exercise: Custom Constructor
    • Solution: Custom Constructor
    • Exercise: super() and this()
    • Solution: super() and this()
    • Exercise: Constructors and Inheritance
    • Solution: Constructors and Inheritance
  •   Enums
    • What Are Enums?
    • Creating and Using Basic Enums
    • Enums with Members
    • How Enums Work Beneath the Surface
    • Quiz
  •   Exercises: Working with Enums
    • Exercise: Basic Enums
    • Solution: Basic Enums
    • Exercise: Enums with Fields
    • Solution: Enums with Fields
    • Exercise: Game Statuses Enum
    • Solution: Game Statuses Enum
  •   Interfaces and Abstract Classes
    • Understanding Interfaces
    • Creating Interfaces
    • Implementing Interfaces
    • Interfaces with Default Methods
    • Interfaces with Static and Private Methods
    • Implementing Interfaces with Conflicting Method Signatures
    • Abstract Classes and Abstract Methods
    • Final Keyword
    • Quiz
  •   Exercises: Working with Interfaces
    • Exercise: Creating Interfaces
    • Solution: Creating Interfaces
    • Exercise: Implementing Interfaces
    • Solution: Implementing Interfaces
    • Exercise: Default Methods in Interfaces
    • Solution: Default Methods in Interfaces
    • Exercise: Implementing Interfaces with Conflicting Methods
    • Solution: Implementing Interfaces with Conflicting Methods
  •   Generics and Collections
    • Understanding Generics
    • Using Classes with Generics
    • Collection Framework: List
    • Collection Framework: Set
    • Collection Framework: Queue
    • Collection Framework: Map
    • Quiz
    • Comparable and Comparator
  •   Exercises: Working with Generics and Collections
    • Exercise: Generics - Parameterized Class
    • Solution: Generics - Parameterized Class
    • Exercise: Using Classes with Generics
    • Solution: Using Classes with Generics
    • Exercise: Collection Framework - List
    • Solution: Collection Framework - List
    • Exercise: Collection Framework - Set
    • Solution: Collection Framework - Set
    • Exercise: Collection Framework - Queue
    • Solution: Collection Framework - Queue
    • Exercise: Collection Framework - Map
    • Solution: Collection Framework - Map
    • Exercise: Create a Class Bag with a Type Parameter and Collection
    • Solution: Create a Class Bag with a Type Parameter and Collection
  •   Exceptions
    • Understanding Exceptions
    • Throwing Exceptions
    • Checked and Unchecked Exceptions
    • Handling Exceptions: Throws
    • Handling Exceptions: Try/Catch
    • Handling Exceptions: Try with Resources
    • Creating Custom Exceptions
    • Quiz
  •   Exercises: Working with Exceptions
    • Exercise: Throwing Exceptions
    • Solution: Throwing Exceptions
    • Exercise: Handling Exceptions - Try/Catch
    • Solution: Handling Exceptions - Try/Catch
    • Exercise: Checked vs Unchecked Exceptions
    • Solution: Checked vs Unchecked Exceptions
    • Exercise: Custom Checked Exception, Method, and Handling
    • Solution: Custom Checked Exception, Method, and Handling
  •   Reading and Writing Files
    • Reading and Writing Files
    • Reading Files with FileReader
    • Writing to Files with FileWriter
    • Quiz
  •   Exercises: Reading and Writing Files
    • Exercise: Reading from a File
    • Solution: Reading from a File
    • Exercise: Writing to a File
    • Solution: Writing to a File
    • Exercise: Read from a File and Copy to a New File
    • Solution: Read from a File and Copy to a New File
  •   Lambda Expressions and Functional Interfaces
    • Getting Started with Lambda Expressions
    • Functional Interfaces
    • Understanding Lambda Expressions
    • Writing Lambda Expression
    • Lambda Expressions as Arguments
    • Scope and Lambda Expressions
    • Built-in Functional Interfaces
    • Quiz
  •   Exercises: Lambda Expressions and Functional Interfaces
    • Exercise: Functional Interface
    • Solution: Functional Interface
    • Exercise: Lambda Expression
    • Solution: Lambda Expression
    • Exercise: Lambda Expression for Comparison
    • Solution: Lambda Expression for Comparison
    • Exercise: Another Functional Interface
    • Solution: Another Functional Interface
    • Exercise: Implementing the StringFormatter Interface
    • Solution: Implementing the StringFormatter Interface
  •   Functional Programming
    • Shorthand Lambda Expression: Method Reference
    • Understanding Streams
    • Stream API: Source Operations
    • Stream API: Terminal Operations
    • Stream API: Intermediate Operations
    • Using the Stream API: Practical Examples
    • Quiz
  •   Exercises: Functional Programming
    • Exercise: Method Reference
    • Solution: Method Reference
    • Exercise: Stream API - Filtering and Mapping
    • Solution: Stream API - Filtering and Mapping
    • Exercise: Stream API - Terminal Operations
    • Solution: Stream API - Terminal Operations
    • Exercise: Stream API - Intermediate Operations
    • Solution: Stream API - Intermediate Operations
    • Exercise: Rewrite a For Loop using forEach
    • Solution: Rewrite a For Loop using forEach
    • Exercise: Sum of Squares using Reduce
    • Solution: Sum of Squares using Reduce
    • Exercise: Find Maximum Value using Stream API
    • Solution: Find Maximum Value using Stream API
  •   The Java Memory
    • Different Parts of the Memory: Heap, Stack, Metaspace
    • The Automatic Garbage Collection Process
    • Understanding StackOverflowError and OutOfMemoryError
    • Quiz
  •   Concurrency and Multithreading
    • Understanding Concurrency and Multithreading
    • Working with Threads
    • Atomic Classes
    • Synchronized
    • Lock Interface
    • Concurrent Collections
    • ExecutorService and Thread Pools
    • Common Problems in Multithreading
  •   Exercises: Concurrency and Multithreading
    • Exercise: Basic Thread Creation
    • Solution: Basic Thread Creation
    • Exercise: Runnable Interface
    • Solution: Runnable Interface
    • Exercise: Synchronized Method
    • Solution: Synchronized Method
    • Exercise: Using ExecutorService
    • Solution: Using ExecutorService
  •   Projects - Build, Build, Build!
    • Using Scanner for Interactive Console Apps
    • Create a Wordle Game
    • Solution: Wordle
    • Create a Hangman Game
    • Solution: Hangman
    • Create a Tic Tac Toe Game
    • Solution: Tic Tac Toe
    • Create a Trivia Game
    • Solution: Trivia
  •   Where To Go From Here?
    • Thank You
    • Review This Course!
    • Become An Alumni
    • Learning Guideline
    • ZTM Events Every Month
    • LinkedIn Endorsements

Taught by

Maaike van Putten

Reviews

Start your review of Java Programming Bootcamp: Zero to Mastery

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.