Week of: 
Lecture 
Topics 
Slide/Examples 
Assignments 
Reading List 
June 1 
Monday Lecture 
Course Introduction, Syllabus, Java Review: class, inheritance 
Course Introduction
Lecture 1 

Capter 1.1 
Tuesday Discussion 
CVS,
Debugging, Inheritance 
Debugging
TVCode 


Wednesday Lecture 
Static members, class visibility, abstract classes 
Visibility
Lecture 2 
Project 1. Due:06/08 
Cahpter 1.2 
Thursday Discussion 
Time Class 



Friday Lecture 
Array Based Containers 
Lecture 3
Static member example 

Chapter 1.3 
June 8 
Monday Lecture 
Sorted Bag 
Lecture 4 
Project 2
Due: 06/16 
Chapter 1.3 
Tuesday Discussion 
Time Class 
Week2 Lab1 


Wednesday Lecture 
Comparable, Comparator, Clone 
Lecture 5 


Thursday Discussion 

comparatorclonefinalize
Week2 Lab2 


Friday Lecture 
GUI 



June 15 
Monday Lecture 
Linked List 
Lecture 7 

Chapter 1.3 
Tuesday Discussion 
Quiz 1
Linked List examples 

Project 3
Due: 06/22 

Wednesday Lecture 
Linked List, List Iterator 
Lecture 8 


Thursday Discussion 
Group project 



Friday Lecture 
Double Linked List 
Lecture 9
Doubly Linked List 


June 22 
Monday Lecture 
Stack and Queue 
Lecture10 Queue
Lecture 10 Stack
Stack & Queue 

Chapter 1.3 
Tuesday Discussion 




Wednesday Lecture 
Recursion 
Lecture 11
Recursion 


Thursday Discussion 




Friday Lecture 
6/26 Midterm 1 



June 29 
Monday Lecture 
Recursion 2: Recursive Shapes, Maze 
Lecture 12 
Project 4
Due: 07/06 

Tuesday Discussion 
Group Project 
Group project 2 


Wednesday Lecture 
Tree, Binary Tree 
Lecture 13
Trees 


Thursday Discussion 




Friday Lecture 
Holioday 



July 6 
Monday Lecture 
Binary Search Tree 
Lecture 14
BST Code 
Project 5
Due: 07/10 
Chapter 3.2 BST 
Tuesday Discussion 




Wednesday Lecture 
Red Black Tree 
Red Black Tree
Red Black BST Code 

Cahpter 3.3 
Thursday Discussion 




Friday Lecture 
More BST 
PolymorphicListsTrees
PolymorphicListCode 
Project 6
Due: 07/17 

July 13 
Monday Lecture 
Heaps and Priority Queue 
Heaps and Priority Queue
Demo Code: PriorityQueue 

Chapter 2.4 
Tuesday Discussion 
Group Project 
Group Project 3 


Wednesday Lecture 
Algorithm Complexity 
BigO 

Chapter 1.4 
Thursday Discussion 




Friday Lecture 
Concurrency 
Threads
multithread code example 
Project 7 

July 20 
Monday Lecture 
Concurrency 2 
Synchronization
Code Examples 


Tuesday Discussion 




Wednesday Lecture 
Huffman Code, Hash Table 
Hash Huffman Code Examples 

Chapter 3.4 
Thursday Discussion 




Friday Lecture 
07/24 Midterm 2 



July 27 
Monday Lecture 
Sorting 
Merge Quick HeapSort
Code Example :Sort 


Tuesday Discussion 


Project 8
Due: 08/07 

Wednesday Lecture 
Sorting, Graph 
Merge Quick HeapSort 

Chapter 4 
Thursday Discussion 
Group Project 4 



Friday Lecture 
BFS, DFS, Shortest Path, MST 
Undirected Graphs
Graph Code 


August 3 
Monday Lecture 
Wildcards, RegEx, Design Patterns 
Generics
generics code example 


Tuesday Discussion 
Exam review 



Wednesday Lecture 
Effective Java 
Effective Java 


Thursday Discussion 




Friday Lecture 
08/07 Final Exam 


