Course curriculum

  • 2

    M1: Getting Started

    • Installing VSCode

    • Setting up VSCode

    • Download Module 1 Code!

    • Your Turn 1: Writing our first Java Program!

    • Fun Fact about HelloWorld

    • Discussion around our first program

    • Your Turn 2: Fixing syntax errors

    • Three kinds of programming languages

  • 3

    M2: Variables - The JVM - Memory

    • M2-Download Module 2 Code!

    • M2-DEEP DIVE: The JVM (Java Virtual Machine) Stack and Method Areas

    • M2-Variables 1: Introducing Variables (byte and int)

    • Variables 2: Primitive Variables - Declaring primitive variables

    • Variables 3: Our first useful program!

    • Variables 4: Calculating the area of a circle

    • YourTurn1 - Useful programs with Variables

    • Quick Review: Variables in a nutshell

    • Copy of DEEP DIVE: Local Variables

    • YourTurn2

    • ZOP-OP1-M2-PrecisionAndCasting

    • YourTurn 3

    • Quick Review 1

    • String Variables

    • Naming Variables

    • What is wrong with this code?

    • Test Yourself!!!

    • Test Yourself - ANSWERS!

    • Rules of the JVM - Part 2

    • Quick Review 2

    • Your Turn 4

  • 4

    M3: Methods & The Debugger

    • Download Module 3 Code!

    • Methods and Clean Code

    • Making Cookies with Methods!

    • Your Turn 1a

    • Variable Scope within methods - Part 1

    • Passing information into methods - Part 1

    • Your Turn 1b

    • Passing Information into methods - Part 2

    • Returning values from methods

    • Using VSCode's Debugger to understand scope and memory usage

    • Using the debugger with VSCode - Part 2

    • Your Turn 1c

    • Your Turn 2

  • 5

    M4: Objects - The Heap - Our first OOP program!

    • Download Module 4 Code!

    • Introduction to Object-Oriented Programming

    • Using Objects - Reference Variables - The Heap

    • Using Objects - What is actually going on?

    • Writing our first OOP Program!

    • Deeper into our first OOP program

    • Your Turn 1 - Your first OOP program!

    • Your Turn 2

    • How do Strings fit into all of this?

    • Let's build a Pirate!

    • Variable Identification Chart - Part 1

    • Debugging our Pirate!

    • Deep Dive: Objects and the Heap

    • demo4: Understanding the difference between instance variables and local parameters

    • Your Turns 3-7

  • 6

    Module 5: Getting Input - Decisions, Decisions, Decisions - Bringing it all together!

    • Download Module 5 Code!

    • Getting Input - Now our programs become more useful!

    • YourTurn1 - Building a Floor Cost Estimator

    • Yourturn1 - Let's write it together

    • YourTurn 2

    • Boolean - Is it true?

    • The last boolean operator - NOT!

    • If statements - Now it gets interesting! (Plus, Yourturn 3a, 3b, 3c)

    • YourTurn 4 - Guess the number game

    • YourTurn 4 Complete - Guess the number game solution

    • If Statements and Scope

    • Demo 3 - Multiple conditions in if statements - Nested If statements

    • Let's build a better Pirate!!!

    • youturn5

    • Yourturn6

    • Switch Statements - The if statement's neater cousin

    • Shortcut Ifs

  • 7

    Module 6: Getters - Setters - Constructors - Exceptions - Overloaded Methods

    • Download Module 6 Code!

    • Exceptions & and Rich's secret 6th rule of programming: Never let anyone break your code!

    • YourTurn 1

    • Getters and Setters to the rescue

    • Using the 'this' keyword

    • Getters and Setters in a nutshell

    • Your Turn 2 - Protecting our Mars Lander

    • Yourturn3 - Protecting our Course objects

    • YourTurn4 - Protecting our autopilot objects

    • Autopilot solution

    • Constructors - Part 1

    • YourTurn 5

    • Overloading Methods

    • Solving the ice cream dilemma

    • Your Turn 6

    • Your Turn 6 Solution

    • Constructors - Part 2

    • Constructors - Part 3

    • Yourturn 7

    • Try/Catch and sometimes Finally

    • Exceptions and Try/Catch - Part 2

    • Your Turn 8

    • Exception chains & Why we need the 'throws Exception' clause

  • 8

    Module 7: Loops

    • Download Module 7 Code!

    • Loops - If statements on a Ferris wheel

    • While loop review and What Prints 1

    • Your Turn 1

    • Your Turn 1 - Let's do it together!

    • Do While Loops - The while loop's lazy cousin

    • For loops - The organized, older sister to the while loop

    • What Prints 2

    • What Prints 3

    • Your Turn 2

    • Your Turn 3

    • Modulus

    • What Prints 4 - Need to know modulus!

    • Sentinel Loops

    • break, continue and return

    • Nested Loops

    • Your Turn 4

    • Your Turn 5 - A hard one!

  • 9

    Module 8: Arrays

    • M8-Download Module 8 Code!

    • M8 - The .equals method

    • M8 - Introduction to Arrays

    • M8 - An easier way to think of arrays

    • M8 - More Arrays!

    • M8 - YourTurn1

    • M8 - Your Turn 2

    • M8 - Your Turn 3

    • M8 - Passing Reference Variables to methods

    • M8 - Bonus Video - Let's build an array of objects

    • M8 -Building a Joke Machine!

    • M8 - Your Turn 4 - Secret Message!

    • M8 - Building a TODO List

    • M8 - Your Turn 5 - Magic 8Ball

    • M8 - Demo 8 - Building a better Pizza Order

  • 10

    Module 9: Deeper into Arrays

    • M9 - Download Module 9 Code!

    • M9 - Building a Contact List

    • M9 - The toString method

    • M9 - Contact List Part 2

    • M9 - Your Turn 1 - Build a parking lot management system -Part 1

    • M9 - YourTurn 1 - Building a parking lot management system - Part 2

    • M9 - Bonus Lecture - YourTurn 1 - Building a parkinglot management system - Part 3

    • M9 - YourTurn 1 - Building a parkinglot management system - Part 4

  • 11

    Module 10: String and Math Class - Static - toString - .equals

    • Download Module 10 Code!

    • The String Class: Formatting a String

    • Your Turn 1

    • YourTurn 2 - The Math Class

    • The Static Keyword (Class Variables and Class Methods)

    • Yourturn 4 - Can you decrypt the secret message in time?

    • Bonus Lecture - Building a Better Input using Static and Try/Catch

  • 12

    Module 11: Bonus Lectures!

    • Download Module 11 Code!

    • Bonus Lecture: Passing variable length parameter lists to methods

    • Bonus Lecture: Let's talk about the main method

    • myArray.length? Hmmmm.....

    • Let's talk about System.out.println()

    • Building our CourseMark Class

    • Building our Student class

    • Building our School class - Part 1

    • Building our School class - Part 2

  • 13

    Module 12: Bringing it all together!

    • Download Module 12 Code!

    • Your Turn 1 - Variables and where they live

    • Your Turn1 - Variables and where they live: Answers

    • Your Turns 2-7

    • YourTurn8 - Dice Simulation

    • Your Turn 9