Lectures (Dan)

Lecture Date Topic Reading Lecture Materials
1 Friday, February 7 Course intro Chapter 0, "Introduction", Bailey
(optional) Appendix B, "Beginning with Java", Bailey
(optional) "Java for Python Programmers"
slides
2 Mon, 2/10 main, args, and type conversions Bailey Ch. 1-1.4
slides
quiz1-practice-solutions.pdf
HelloWorld.java
SumSome1.java
SumSome2.java
SumSome3.java
SumSome4.java
SumSome5.java
SumSome6.java
SumSome7.java
3 Wed, 2/12 OOP, Designing and Organizing Code Bailey 1.5-1.10 (focus on 1.6, particularly '5 informal steps')
slides
Fri, 2/14 Winter Carnival No Class
No Class
4 Mon 2/17 Vectors (extensible arrays) and Generics Bailey 3-3.1
Bailey 4-4.2.2
[Vectors and Generics]
5 Wed 2/19 Vectors of Associations, Composition ('Has A' relationship) Bailey 2 (all)
Bailey 3.2-3.5
[Associations and Inheritance]
[WordFreq.java]
6 Fri 2/21 Time and Space Complexity Bailey 5.1
slides
7 Mon, 2/24 Pre- and Post-conditions; Recursion Bailey 5.2-end
slides
Example0.java
Example1.java
Example2.java
Example3.java
Fib.java
8 Wed, 2/26 Interfaces and Abstraction: What is a List? Bailey 7-7.1
Bailey 9-9.1
slides
9 Fri, 2/28 Asymptotic analysis Bailey 9.3-9.4
slides
10 Mon, 3/2 Abstract data types (no reading) slides
11 Wed, 3/4 Linked Lists Bailey 6.1-6.3, 6.8-6.9 slides
Honkable.java
AbstractHonkable.java
Car.java
Goose.java
Test.java (for Honkables)
Node.java
Test.java (for Nodes)
12 Fri, 3/6 Mathematical induction Bailey 6.4-6.7 slides
13 Mon, 3/9 Sorting (bubble, insertion, & selection) Bailey 6-6.3 slides
Coins.java
14 Fri, 3/11 Comparing Objects Bailey 6.7-6.9, 6.4 slides
Sorter.java
BubbleSort.java
IntegerComparator.java
Person.java
PersonComparator.java
15 Fri, 3/13 Advanced sorting (merge sort and quick sort) Bailey 6.5-6.7 slides
16 Mon, 4/6 Welcome back! (none; review for midterm) slides
17 Fri, 4/10 Iterators Bailey Ch 8 slides
18 Mon, 4/13 Iterators, Bitwise Operations Bailey Ch 8 slides
ReverseIterator.java
SkipIterator.java
BIterator.java
19 Wed, 4/15 Stacks & Queues Bailey Ch 10
20 Fri, 4/17 Ordered Structures, Binary Search Bailey Ch 11 slides, part 1
slides, part 2
OrderedStructure.java
OrderedVector.java
21 Mon, 4/20 Trees, part 1 Bailey Ch 12-12.5 slides, part 1
slides, part 2
BinaryTree.java
TreeTest.java
22 Wed, 4/22 Trees, part 2 Bailey Ch 12.6-12.9 slides, part 1
BinaryTreeNode.java
TreeTest.java
slides, part 2
BinarySearchTreeNode.java
BSTTest.java
Read this: Why we care about balanced trees
23 Fri, 4/24 Trees, part 3 slides
SparseVector.java
ImplicitBinarySearchTree.java
BSTTest.java
24 Mon, 4/27 Trees, part 4 (Tries) slides
The Hudsucker Proxy
Tim Robbins, not Tim Allen... d'oh!
25 Wed, 4/29 Heaps Bailey Ch 13 slides
VectorHeap.java
26 Fri, 5/01 Heapify, Heapsort Bailey Ch 13 slides
27 Mon, 5/04 The Map interface, Hashtables Bailey Ch 15 slides
NaiveProbing.java
28 Wed, 5/06 Managing Hashtable Collisions Bailey Ch 15 slides
29 Fri, 5/08 Fun With Hashing Optional: A Cool And Practical Alternative to Traditional Hash Tables
30 Mon, 5/11 Graphs (Intro, Vocab, API) Bailey Ch 16 slides
Graph Interface
Graph Practice
Graph Practice (filled)
31 Wed, 5/13 Graphs (Implementation) Bailey Ch 16 slides
31 Fri, 5/15 Graphs (Applications) / Semester Recap Bailey Ch 16 slides
  • CSCI 136, Spring 2020