Reading Assignments - CompSci 161, Spring 2026 (Dillencourt)
The textbook reading activities for the quarter are listed below. Generally, the readings for each week will be posted by Friday afternoon of the previous week.
Rules for receiving credit for a reading:- "Reading a section" means reading the section and doing all the participation activities.
- Readings and associated activities are to be completed before 9:29AM
on the due date (one minute before the start of class).
- For example, you would receive full credit for having read Section 1.1 if and only if the Zybook software logs you as having completed all participation activities in the section by 9:29AM PST on Thursday, April 2.
- There is no grace period.
- It is recommended that you do not wait until the last possible moment to read the material and complete the activities.
- Zybook allows me to obtain a retroactive report of who had finished which sections at any time in the past. Please keep this in mind before claiming that a section that you finished after the deadline was actually completed before the deadline.
Special rules for the first two weeks:
- The readings for the first two weeks (up through and including the ones due on Thursday, April 9) will not count toward your reading score.
- I will collect the data and send each student an individual report it during week 3. When this report is available, please read it. This helps identify errors and misconceptions. (For example, if you signed up for Zybooks using an email other than your UCI email, or if you signed up for Zybbooks using the incorrect code.)
- Beginning week 3, readings will count toward your reading score.
Readings assignments:
- Week 1:
- Tuesday, March 31, by 9:29AM:
- No reading assigned (but you might want to get started early on the reading due on Thursday)
- Due Thursday, April 2 by 9:29AM:
- 1.1: Introduction
- 1.2: Analyzing algorithms
- 1.3: A quick mathematical review
- 1.4: A case study in algorithm analysis
- Tuesday, March 31, by 9:29AM:
- Week 2:
- Due Tuesday, April 7, by 9:29AM:
- 2.1: Introduction [Basic Data Structures]
- 2.2: Stacks and queues
- 2.3: Lists
- 2.4: Trees
- Due Thursday, April 9, by 9:29AM:
- 3.1: Introduction [Binary Search Trees]
- 3.2: Searches and updates
- The following two readings are recommended
but not required.
The reason for recommending but not requiring them is
given with each reading.
- [Recommended but not required]
Section 5.3 (just the material on Insertion Sort that
starts immediately after Participation Activity 5.3,
together with
Algorithm 5.3.3 and Participation Activity 5.3.4).
- [GT], somewhat idiosyncratically, presents insertion sort as a priority queue algorithm, and this is where it is covered. I will assign this section as required reading when we cover priority queues in class.
- [Recommended but not required]
Section 8.3: Quick Sort.
- The details of the quicksort algorithm given in [GT] differ from the quicksort algorithm that I will present in class, and I will expect you to know the version presented in class. So I am not requiring this section. That having been said, you may find this section a useful complement to quicksort as presented in class.
- [Recommended but not required]
Section 5.3 (just the material on Insertion Sort that
starts immediately after Participation Activity 5.3,
together with
Algorithm 5.3.3 and Participation Activity 5.3.4).
- Due Tuesday, April 7, by 9:29AM:
- Week 3:
- Due Tuesday, April 14, by 9:29AM:
- 8.2: Merge sort
- Due Thursday, April 16, by 9:29AM:
- 5.1: Introduction [Priority Queues and Heaps]
- 5.2: Priority queues
- 5.3: PQ-sort, selection sort, insertion-sort
- 5.4: Heaps
- 5.5: Heapsort
- [Optional: 5.6 Extending priority queues]
- Due Tuesday, April 14, by 9:29AM:
- Week 4:
- Due Tuesday, April 21, by 9:29AM:
- 8.4: A lower bound on comparison-based sorting
- Thursday April 23: Midterm 1. No reading assigned.
- Due Tuesday, April 21, by 9:29AM:
- Week 5:
- Due Tuesday, April 28, by 9:29AM:
- 9.1: Introduction [Fast Sorting and selection]
- 9.2: Bucket Sort and Radix Sort
- Due Thursday, April 30, by 9:29AM:
- 10.1: Introduction [The Greedy Method]
- 10.2 The fractional knapsack problem
- 10.3 Task scheduling
- Due Tuesday, April 28, by 9:29AM:
- Week 6:
- Due Tuesday, May 5, by 9:29AM:
- 10.4 Text compression and Huffman coding
- Due Thursday, May 7, by 9:29AM:
- 11.1: Introduction [Divide and Conquer]
- 11.2: Recurrences and the master theorem
- Due Tuesday, May 5, by 9:29AM:
Last modified: April 30, 2026