Lectures

Date Meeting Material covered Relevant reading
3/25 Lecture 1 Introduction to course; Java review slides; code
3/26 Lab 1 Implementing an array-based list  
3/27 No class; sorry
3/30 Lecture 2 Java review; generics; ADTs; List ADT slides; code
4/1 Lecture 3 Automated testing; more OurArrayList implementation slides; code
4/2 Lab 2 Testing PrintQueue  
4/3 Lecture 4 More testing practice slides; handout; code
4/6 Lecture 5 Interfaces and linked lists slides; code
4/8 Lecture 6 Practice with list methods and testing them slides; code
4/9 Lab 3 Testing and writing list methods  
4/10 Lecture 7 Implementing remove in a linked list; iterators slides; code
4/13 Lecture 8 Running times; Big-O slides
4/15 Lecture 9 taste of amortized time; Stack and Queue ADTs slides
4/16 Lab 4 Timing data structures  
4/17 Exam 1
4/20 Lecture 10 StringBuilder; design problems slides; handout
4/22 Lecture 11 Going over Exam 1; Sorting: comparators, selection sort, insertion sort, bubble sort slides
4/23 Lab 5 Searching for treasure  
4/24 Lecture 12 Insertion sort, bubblesort, logarithms, mergesort slides
4/27 Lecture 13 Quicksort; searching lab discussion; Set, Map, and Priority Queue ADTs slides1; slides2; handout
4/29 Lecture 14 Inheritance; binary search; trees slides
4/30 Lab 6 Building the friendship graph  
5/1 Lecture 15 Binary search tree operations; tree traversals slides1; slides2
5/4 Lecture 16 Finishing tree traversals; recursion: Towers of Hanoi and finding subsets of 1..n slides; code
5/6 Lecture 17 Parallelism; fork-join; precedence graphs slides
5/7 Lab 7 Fork-join to count prime numbers  
5/8 Lecture 18 More fork-join slides
5/11 Flunk Day!
5/13 Exam 2
5/14 Lab 8 Finding common queries  
5/15 Lecture 19 Heaps slides
5/18 Lecture 20 Bucket/radix sort; practice design problems slides; handout
5/20 Lecture 21 Hashing; more design problem practice slides
5/21 Lab 9 Reductions in parallel  
5/22 Lecture 22    
5/25 No class
5/27 Lecture 23 Meet via Zoom; answering questions and doing your design problems  
5/28 No lab    
5/29 Reading Day
5/30 Reading Day