Introduction to Programming
  • Course Overview - Welcome
  • Welcome to computer programming!
  • Install Visual Studio Code [optional]
  • Install Java 15.0.2 on Windows
  • Configuring Windows for manual java programming
  • Program 1: Writing our first program -- Hello World
  • Simple Debugging, Fixing a Program, and dealing with problems while programming
  • Install an IDE - Eclipse Oxygen [June 2017 release] on Windows
  • Installing an IDE - Netbeans [skip if using Eclipse]
  • Creating Projects [Both Eclipse and NetBeans
  • Programming Syntax Basics
  • PIAT [Putting it all together]: Simple Output
  • Sudoku 1: Printing a Sudoku Grid
  • Sample Code for Section 1
  • Section 1 Quiz
  • SectionOneResources
Programming With Variables
  • Introduction to Types - Part 1: Number Types
  • Storing Types in Variables - Part 1: Number Types
  • Introduction To Types - Part 2: Non-Number Types
  • Storing Types as Variables - Part 2: Non-number Types
  • Simple Input using the Scanner
  • Simple Input using the Buffered Reader
  • Working With Variables and Math!
  • PIAT: Simple Physics Calculators
  • Sudoku 2: Gathering game conditions and input from the user
  • Sample Code for Section 2
  • Section 2 Quiz
  • Section Two Resources
Control Statements and Methods
  • Boolean Logic (true/false)
  • Control statement: if ... else
  • Nested if...else control statements, AND and OR operations
  • ADVANCED: switch and ternary operators
  • Introduction to Methods
  • Coding With Methods
  • PIAT: Simple Physics Calculator with a Menu
  • Sudoku 3: Checking input
  • Sample Code for Section 3
  • Section 3 Quiz
  • Section Three Resources
Loops - Repetitive User Input
  • Looping - overview and syntax structure
  • While loops
  • Do...While Loops
  • For loops
  • Review and Practical Example: Preventing Bad User Input with Loops
  • Advanced Topic: Recursion and The Fibonacci Sequence
  • PIAT: Simple Physics Cacluator with Menus and Repetitive User Input
  • Sudoku 4: Validated input, Repetitive input, Solve entire Grid.
  • Software Engineering Time out: Plan before you Program!
  • PIAT Advanced: Scorekeeper for 500 [a card game]
  • Sample Code for Section 4
  • Section 4 Quiz
Basic data structures (Arrays)
  • Introduction to Arrays
  • Coding With Arrays
  • Passing variables to methods in Java
  • Enhanced For Loop
  • Making Copies of Arrays
  • Sorting Arrays
  • PIAT: Star Trek Spaceships
  • Sudoku 5: Using arrays in the Sudoku Program for Grid Values and Solution Values
  • Sample Code for Section 5
  • Section 5 Quiz
Object Classes and Basic Inheritance
  • Getting a new project setup to begin our study of classes
  • Creating custom classes and working with constructors - Default Constructor
  • Working with properties in our custom classes - part 1
  • Working with properties in our custom classes - part 2
  • Creating custom classes and working with constructors - Explicit Constructor
  • Working with other methods in our custom classes
  • Introduction to inheritance - part 1
  • Introduction to inheritance - part 2
  • Adding the car and truck classes
  • The system without any inheritance
  • Creating Subclasses using the extends keyword [part 1]
  • Creating Subclasses using the extends keyword [part 2]
  • Overriding Base class methods
  • Testing the toString() methods
  • Overloading methods to create options
  • PIAT: Star Trek Ships By Class
  • Sudoku 6: Solver class
  • Sample Code for Section 6
  • Section 6 Quiz
Abstract Classes and Interfaces
  • Introduction to Interfaces
  • Introduction to Abstract Classes
  • PIAT: Part 1: Autolot - Polymorphism and Writing code to the interface.
  • PIAT: Part 2: Autolot - Polymorphism and writing code to the interface.
  • Further Study: Implementing the Comparable interface and Overriding Equals
  • Programming with the Strategy Pattern: Creating classes to represent behavior.
  • Sudoku 7: Abstracting Player And Game Behaviors
  • Sample Code for Section 7
Testing with JUnit
  • Introduction to Unit Testing - Part 1
  • Introduction to Unit Testing - Part 2
  • Creating the Tests and Writing Tests for the Constructors
  • Testing Mutators and Accessors; finish Constructor Testing