calendar
Course Calendar

syllabus
Course Syllabus

Notes & Class Examples

Lecture Notes Class Notes Class Examples
Chapter 1 - Java Primer 1: Types, Classes and Operators    
Chapter 1 - Java Primer 2: I/O Methods and Control Flow    
Chapter 2 - Object-Oriented Programming   Geometry
Chapter 3 - Arrays   BetterArray
Chapter 3 - Singly Linked Lists   Linked List  
Chapter 3 - Doubly Linked Lists    
Chapter 4 - Analysis of Algorithms    
Chapter 5 - Recursion    
Chapter 6 - Stacks   Infix to Postfix Computation
Chapter 6 - Queues   Queue
Chapter 7 - Lists and Iterators    
Chapter 8 - Trees    
Chapter 9 - Priority Queues    
Chapter 9 - Adaptable Priority Queues    
Chapter 9 - Heaps   Heap Sort
Chapter 10 - Maps    
Chapter 10 - Hash Tables    
Chapter 10 - Skip List    
Chapter 10 - Sets and Multimaps    
Chapter 11 - Binary Search Trees   Binary Search Tree
Chapter 11 - AVL Trees    
Chapter 11 - Splay Trees    
Chapter 11 - (2,4) Trees    
Chapter 11 - Red-Black Trees    
Chapter 12 - Divide-and-Conquer    
Chapter 12 - Merge Sort   Merge Sort
Chapter 12 - Quick-Sort   Quick Sort
Chapter 12 - Bucket-Sort and Radix-Sort    
Chapter 12 - Selection-Sort   Homework 2 Demo
Chapter 12 - Sorting Lower Bound    
Chapter 13 - Pattern Matching    
Chapter 13 - Tries    
Chapter 13 - The Greedy Method and Text Compression    
Chapter 13 - Dynamic Programming    
Chapter 14 - Graphs    
Chapter 14 - Depth-First Search    
Chapter 14 - Breadth-First Search    
Chapter 14 - Directed Graphs    
Chapter 14 - Shortest Paths    
Chapter 14 - Minimum Spanning Trees    
Chapter 14 - Union-Find Partition Structures    
Chapter 15 - Memory Management    
Chapter 15 - B-Trees    

Homework

Homework Assignments
Homework 1
Homework 2
Homework 3
Homework 4
Homework 5
Homework 6

Exams

Exams Exam Solutions
Midterm Exam Midterm Exam Solutions
Final Exam Final Exam Solutions

Java & Eclipse Downloads & Java Documentation

Java Download Eclipse Download Java Documentation
Java SE Development Kit 8 Downloads

Download Java SE Development Kit 8u161
Open Downloaded File and Follow Install Instructions
Eclipse Download

Download Eclipse IDE for Java Developers
Open Downloaded File and Save Eclipse on Your Desktop
Java Platform, Standard Edition 8 API Specification

Debugging

Teaching Novice Programmers How To Debug Their Code