## Overview

This week we will take our stack test and largely finish our work with queues.

## Friday, April 5th

### Classwork

We will begin class by getting back our stack quizzes, and discussing the solutions. The test on queues will be structured very similarly to this one, so it is important that you learn from this quiz now even if you did not score well when you took it.

Then we will share our implementations of the queue ATD and discuss a plan
for what to do next. There is only one application discussed in
*Section 8.5: Applications of Queues*, namely, the
Josephus problem,
whose solution is presented using a circular linked list. We haven't
implemented that yet. Should we?

### Homework

Read the first two sections of *Chapter 2: Trees* from our text on
pages 279 to 286. Take good notes. There is quite a bit of new vocabularly
here, and as I am hoping is becoming clear by now, *it is the abstraction
that gives us the power!*

You won't see any code here, but you will begin to form the mental scaffolding of the tree data structure.

## Wednesday, April 3rd

### Classwork

We'll start class today with a short test on stacks. After the test we will divide up into two groups of three to complete the implementation of the queue ADT using arrays and linked lists.

### Homework

Use TDD to complete a tested implementation of the queue ADT with the backend data structure (array or linked list) assigned to your group.

Julissa, Nate, and Joseph will work on the linked list implementation, and Cyrus, Sheel, and Edward will develop the array implementation. We will share these on Friday.

## Monday, April 1st

### Classwork

We'll begin class with a discussion of the stack test that we will take on Wednesday.

Then we will divide up into two groups of three to implement the queue ADT using both arrays and linked lists.

### Homework

Work with your group to implement the queues as we planned in class today.