Week # 
Date 
Lecture Slides 
Programs 
Readings 
Hw/Quiz 
Week 1 
8/29 
Introduction 



8/31 
Pretest 

CS170 notes 

Week 2 
9/3 
Labor day! 



9/5 
Java review: types, variables, expressions 

1.1 

9/7 
Java review: control flow statements, methods 

Lab guide 
Week 3 
9/10 
Arrays 

Hw1 solution 
9/12 
Arrays: Hw1 discussion

BinarySearch 

9/14 
OO, Libraries, Inheritance 

1.2 

Week 4 
9/17 
Inheritance 
BankAccount 

9/19 
Stacks: Operations, implementation

FixedCapacityStackOfStrings 
1.3 

9/21 
Stacks: Implementation, Generics 
FixedCapacityStack
ResizingArrayStack
Reverse 
Hw2 solution 
Week 5 
9/24 
Stacks: Applications, Hw2 discussion 
Bracket
Parentheses
Evaluate
EvaluatePostfix


9/26 
Queues: Implementations, Applicatinos 
ResizingArrayQueue
Josephus


9/28 
Queues: Deque, Priority Queue 
UnorderedArrayMaxPQ
OrderedArrayMaxPQ

Quiz1 Quiz1 sol 
Week 6 
10/1 
Linked List 
LinkedList
DoublyLinkedList 

10/3 
Stacks and queues: linked list implementations, iterators 
LinkedStackOfStrings
Stack
Queue

Hw3 solution 
10/5 
Stacks and queues: iterators, java collections, Hw3 discussion 

Week 7 
10/8 
Algorithm Analysis 
Stopwatch.java 
1.4 

10/10 
Algorithm Analysis 


10/12 
Simple sorting: Comparable, bubble sort 
Comparable
Date

2.1 

Week 8 
10/15 
Fall break! 


10/17 
Simple sorting: selection sort, insertion sort 
Selection
Insertion


10/19 
Mergesort: Recursive algorithm 
Merge Merging demo 
2.2 
Quiz2 Quiz2 sol
Hw4 
Week 9 
10/22 
Mergesort: Improvements, Nonrecursive algorithm, Analysis of Recursive algorithms 
MergeX 

10/24 
Analysis of Recrusive algorithms, Quicksort Algorithm 
Quick 
2.3 

10/26 
Quicksort: Analysis, Improvements 
Quick 
Week 10 
10/29 
Midterm 1



Review, Practice Exam, Solution, Midterm1 sol

10/31 
Binary Search Trees: definition, search (Prof. Cheung) 
SequentialSearchST
BinarySearchST
BST
BST_Iterative
BST_Recursive

3.1 3.2 

11/2 
BST: search, insert 

Week 11 
11/5 
BST: traversal 

11/7 
BST: ordered operations, delete 
Hw5 
11/9 
BST: delete, Hw5 discussion Hash table 
Transaction
SeparateChainingHashST
LinearProbingHashST

3.4 

Week 12 
11/12 
Hash table 

11/14 
Priority Queue and Heap 
TopM
UnorderedArrayMaxPQ
OrderedArrayMaxPQ
MaxPQ
MinPQ

2.4 

11/16 
Graphs: Definition, representations (Luca Bonomi) 
AdjList Graph
AdjMatrixGraph 
4.1 

Week 13 
11/19 
Graphs: Depth first search, path finding 
DepthFirstSearch
DepthFirstPaths


11/21 
Self study 



11/23 
Thanksgiving Break! 


Week 14 
11/26 
Graphs: Breadth first search, connected components 
BreadthFirstPaths
ConnectedComponents 
4.1 
Quiz 3 Quiz3 sol 
11/28 
Midterm 2 


Review, Practice Exam, Solution

11/30 
Graphs: Directed and Weighted Graphs 
Digraph
DirectedDFS
DFSDirectedPaths
BFSDirectedPath
EdgeWeightedGraphs
Edge

4.2 
MapQuest FaceSpace 
Week 15 
12/3 
Graphs: Shortest Paths, Dijkstra's demo 
DijkstraSP
EdgeWeightedDigraph
DirectedEdge 
4.4 
12/5 
Graphs: shortest paths, symbol graphs, project discussion 
SymbolGraph 

12/7 
Graphs: Minimum Spanning Trees 
LazyPrimMST 
4.3 
Quiz 4 Quiz4 sol 
Week 16 
12/10 
project workshop and review 




12/13 
4:307pm: Final exam 


Review, Practice Exam, Solution
