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
  • CSCI 136: Data Structures and Advanced Programming, Spring 2019