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