Object-Oriented Programming in Java - Level 1
This course introduces you to the fundamental concepts of Object-Oriented Programming. You do not need any previous experience in programming to take this course! Enjoy!
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
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
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
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
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
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
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!
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
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
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
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
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