Readings
Week | Read By | Reading | Quiz Prompts |
---|---|---|---|
1 | Monday, 2/4 | Bailey, Chapter 0 | Problem 0.1 |
1 | Wednesday, 2/6 | Bailey, Chapters 1 and 7 | What is "state"? |
1 | Friday, 2/8 | no reading | |
2 | Monday, 2/11 | Bailey, Chapters 2 and 3.1-3.5 |
What is the purpose of a Vector ?
|
2 | Wednesday, 2/13 | Bailey, Chapter 4 | What is the problem with specialization? |
2 | Friday, 2/15 | Bailey, Chapter 5.2.1 |
Why does sum2 work? How about sum3 ? (try simulating on paper)
|
3 | Monday, 2/18 | Bailey, Chapter 5.2.2 | What is the purpose of an inductive proof? |
3 | Wednesday, 2/20 | mathematical induction up to (but not including) the section on variants | Prove 1 2 + 2 2 + 3 2 + ... + m 2 = m (m + 1) (2m + 1)/ 6 |
3 | Friday, 2/22 | no reading | |
4 | Monday, 2/25 | Bailey, Chapters 5.1 and 9.1-9.3 | Self-check problem 5.4 |
4 | Wednesday, 2/27 | Bailey, Chapter 9.4-9.5 | What can the list on p. 180 of Bailey store? |
4 | Friday, 2/29 | Bailey, Chapter 6.1-6.3 | Which is asymptotically faster, selection sort or insertion sort? |
5 | Monday, 3/4 | Bailey, Chapter 6.4, 6.7-6.8 | Merge sort is often referred to as a "divide and conquer" algorithm. Why? (you may need to do some extra digging) |
5 | Wednesday, 3/6 | Bailey, Chapter 6.5, 6.9 | Quicksort is frequently chosen over mergesort even though quicksort's worst-case performance is worse. Why? Note that your answer should have two parts. |
5 | Friday, 3/8 | Bailey, Chapter 6.6 | Think of an example input that radix sort is incapable of sorting. |
7 | Monday, 4/1 | no reading | (but note that Wednesday's reading is long) |
7 | Wednesday, 4/3 | Bailey, Chapter 10 | What feature of Java most closely models the idea of an abstract data type (ADT)? Can you think of an ADT? |
7 | Friday, 4/5 | Bailey, Chapter 8 | Come up with an example of an Iterator whose hasNext method never returns true. Why might this be useful? |
8 | Monday, 4/8 | Bailey, Chapter 11 | Are we likely to find two objects that are equal (using their equals method) to be _stored_ close together in an OrderedStructure? |
8 | Wednesday, 4/10 | Bailey, Chapter 12 | Sometimes data is inserted into a tree such that the tree is "lop-sided." Explain why this produces worst-case lookups for trees. Does this worst case resemble another data structure that you already know? |
8 | Friday, 4/12 | Bailey, Chapter 12 | Prove that efficient computation of the height of a BinaryTree must take time proportional to the number of nodes in the tree. |
9 | Monday, 4/15 |
Why we care about balanced trees. Bailey, Chapter 14-14.4 |
What distinguishes a binary tree from a binary search tree? |
9 | Wednesday, 4/17 |
Using an IDE. |
What is a conditional breakpoint? |
9 | Friday, 4/19 |
Bailey, Chapter 13 |
What is a heap? (note that this question asks about the heap data structure, not the region of memory, which happens to have the same name) |
10 | Monday, 4/22 |
no reading |
What is the matrix? |
10 | Wednesday, 4/24 |
Bailey, Chapter 16-16.3.2 |
How does an adjacency matrix work? How might you implement one? |
10 | Friday, 4/26 |
Bailey, the rest of Chapter 16 |
What is the advantage of an adjacency list over an adjacency matrix? Disadvantages? |
11 | Monday, 4/29 |
Excerpt from The Art of UNIX Programming (just the linked page; but read on if you want) |
What does the phrase "premature optimization is the root of all evil" mean? |
11 | Wednesday, 5/1 |
Bailey, Chapter 15-15.4.1 |
Why does the "last two digits" trick on p. 375 of Bailey work? |
11 | Friday, 5/3 |
Bailey, Chapter 15.4.2-15.4.5 |
Is it possible for a hash table to have two entries with equal keys? What is a "hash collision"? |
12 | Monday, 5/6 | Self-review for exam | |
12 | Wednesday, 5/8 | Self-review for exam | |
12 | Friday, 5/10 | Self-review for exam |