Lectures, Readings, and Assignments
The following schedule will be updated as we progress. The lecture slides and assigned readings will be posted after each lecture. The assignments will be posted as they are assigned and sample homework solutions will be posted after they are graded.
Week # |
Date |
Lecture Slides |
Readings |
Assignments/Quiz |
Week 1 |
01/19 |
Introduction and pretest |
|
|
Week 2 |
01/24 |
Java Review |
1.1, CS170 book |
|
01/26 |
Methods, Objects, and Inheritance Bank
Account, Lab1 (Eclipse tutorial) |
|
Week 3 |
01/31 |
Arrays and Binary Search |
1.1 (p18-21, p46-49) |
hw1, Solution |
02/02 |
Algorithm Analysis |
1.4 (p172-188) |
|
Week 4 |
02/07 |
Algorithm Analysis + Simple Sorting |
2.1 (p243-257) |
|
02/09 |
Simple Sorting + Interface |
hw2, Solution |
Week 5 |
02/14 |
Stacks + Generics |
1.3 (p120-123, 126-141) |
|
02/16 |
Stacks and Queues
Reverse.java
Evaluate.java
Dijkstra's two-stack algorithm demo
ResizingArrayQueue.java
|
|
Week 6 |
02/21 |
Stacks and Queues + Iterators
Josephus.java
| Hw3, Solution |
02/23 |
Linked list |
1.3 (p142-153) |
|
Week 7 |
02/28 |
Recursion |
Intro Programming book notes |
Quiz1, Solution |
03/01 |
Recursion |
Hw4, Solution: List Elem, Josephus, Circular List |
Week 8 |
03/06 |
Dynamic Programming + MergeSort,
Merging demo, Mergesort demo,
Nerd sort
|
2.2 (p270-279) |
|
03/08 |
Mergesort (cont.) + Quicksort,
Partitioning demo, Quicksort demo
|
2.3 (p288-296) |
|
Week 9 |
Spring break - have fun! |
|
Week 10 |
03/20 |
Quicksort (cont.) + Sorting summary
Transaction.java |
2.5 (p336-339, 341-351) |
Quiz2, Solution
Hw5, Solution |
03/22 |
Binary Search Trees
Search and Insert demo |
3.2 (p396-411) |
|
Week 11 |
03/27 |
Binary Search Trees
Random insert and delete visualization
|
|
03/29 |
Midterm |
|
Review Practice exam, Solution |
Week 12 |
04/03 |
Balanced Search Trees, Amy Shannon |
3.3 (p424-432) |
|
04/05 |
Hash Tables
|
3.4 (p458-471)
|
|
Week 13 |
04/10 |
Priority Queues and Binary Heap
Binary Heap
Demo
|
2.4 (p308-319) |
Hw6, Solution |
04/12 |
Graphs
Graph.java, AdjMatrixGraph.java, GraphClient.java
|
4.1 (p515-557) |
|
Week 14 |
04/17 |
Graphs
DepthFirstSearch.java, DepthFirstPaths.java, BreadthFirstPaths.java, DFS demo |
Quiz3, Solution |
04/19 |
Graphs
The Oracle of Bacon
|
Project: FaceSpace, MapQuest |
Week 15 |
04/24 |
Graphs - Digraphs, weighted graphs, shortest paths
Digraph.java, Prim's MST demo, Dijkstra's shortest path demo, Dijkstra's shortest path demo
|
4.2 (p566-573), 4.4 (p638-649, p652-657) |
|
04/26 |
Graphs
Dijkstra algorithm animation,
A* algorithm animation |
Quiz4, Solution |
Week 16 |
05/01 |
Project workshop and review |
|
|
|
05/07 |
Final exam 4:30-7:00pm |
|
Review Practice exam, Solution |
|