Slides Topics Pre-Lecture Lecture Resources Additional Resources

00 - Introduction

Course Overview

Installation

Command-line

First Java Program

Lecture Videos:

No quiz for this lecture

Code editor download links:

  • Notepad++ (Windows)
  • Sublime (Windows/Mac)
  • Atom (Windows/Mac)

Examples:

  • MyFirstJavaProgram.java

Official course outline (will post when available)

01 - Java Overview

 

Types

Variables 

Methods

Loops

Arrays

Lecture Videos:

Review Quiz:

  • Quiz 01: Java Fundamentals
  • Quiz 02: Arrays
  • Quiz 03: Error Types

In-class exercise:

Solutions:

Textbook: Sections 1.1, 1.2, 1.3

Errors: Pages 119 - 123

02 - Classes and Objects

Objects

Arrays of Objects

Lecture Videos:

Review Quiz:

  • Quiz 04: The this keyword
  • Quiz 05: Static vs. non-static

Exercises:

Solutions

Textbook: Section 1.4

 

03 - Interfaces and ADTs

ADTs

Interfaces

Lecture Videos:

Review Quiz:

  • Quiz 06: ADTs and Interfaces
  • Quiz 07: Survey

Exercises:

Solutions

Thursday Exercises:

Textbook: Chapter 4

04 - Lists

Array-based implementation of a List

Nodes

Lecture Videos:

Review Quiz:

  • Quiz 08: Lists: Array Implementation
  • Quiz 09: Nodes
  • Quiz 10: Linked List Insertion
  • Quiz 11: Doubly-Linked Lists

Exercises:

Solutions

Textbook: Chapter 5

05 - Recursion

Recursion

Lecture videos:

Review Quiz:

  • Quiz 12: Recursion
  • Quiz 13: Recursion with Lists

Exercises:

Solution:

Textbook: Chapter 6

06 - Runtime Analysis

Runtime Analysis

Big-Oh

Lecture Videos:

Review Quiz:

  • Quiz 14: Runtime Analysis

Exercises:

  • 06-runtime-analysis (.pdf, .docx)

Solutions:

Textbook: Section 10.1

07 - Generics Generics

Lecture Videos:

Review Quiz:

  • Quiz 15: Generics

Exercises:

Solutions:

Textbook: Page 291

08 - Stacks and Queues

Stacks

Queues

Lecture videos:

Review Quiz:

  • Quiz 16: Stacks & Queues
  • Quiz 17: Using Stacks

Exercises:

Solution:

Textbook: Chapters 7 & 8
09 - Exceptions

Exceptions

Try-catch blocks

Lecture videos:

Review Quiz:

  • Quiz 18: Exceptions

Exercises

Solutions:

Textbook: Pages 40-48

10 - Trees

Trees Terminology

Tree Traversals

Tree Structure

 

Lecture Videos:

Review Quiz:

  • Quiz 19: Tree Terminology
  • Quiz 20: Tree Structure

Exercises:

Solutions:

Textbook: Section 11.1 & 11.2

11 - Heaps

Heaps

Lecture Videos:

Review Quiz:

  • Quiz 21: Heaps

Exercises:

Solution (.pdf)

Textbook: Section 12.2

Comparable

The Comparable Interface

The compareTo method

Lecture Videos:

Review Quiz:

  • Quiz 22: Comparable

Comparable Exercises:

Inheritance Exercises:

Solutions:

Textbook: Pages 95-102, 218-224, 456-466

12 - Object-Oriented Programming

Inheritance

Object-Oriented Programming

Lecture Videos:

Review Quiz:

  • Quiz 23: Inheritance
  • Quiz 24: OOP

Inheritance Exercises:

Solutions:

Textbook: Pages 95-102, 218-224, 456-466

13 - Binary Search Trees (BSTs)

Binary Search Trees

Insertion and Removal from a BST

Lecture Videos:

Review Quiz:

  • Quiz 25: BSTs
  • Quiz 26: BST Implementation

Exercises

Solutions:

Textbook: Section 11.2

Iterators

14 - Maps

Maps

Iterators

Lecture Videos:

Review Quiz:

  • Quiz 26: Maps
  • Quiz 27: Iterators

Exercise files:

Solutions:

Textbook: Page 292

Textbook: Pages 683-685

15 - Hash Tables

Hash Tables

Collision Handling

Separate Chaining

Lecture Videos:

Review Quiz:

  • Quiz 28: Quadratic Probing and Double Hashing
  • Quiz 29: Tombstones

Exercises

Solutions:

Textbook: Section 13.2