Lab 5

Queues and Stacks

Goals

  • Implement queue and stack data structures to reinforce our understanding how they work
  • Use array lists as the backing of our queue and stack to explore how one data structure can be used to create another
  • Explore the application of queues and stacks for a real-world problem
  • Learn about the use of Javadocs for documenting Java code

Welcome to your fifth CSCI 151 lab! The lab can be started by following this link to create a copy of the assignment for you on GitHub: https://classroom.github.com/a/8DJ5agtf

In this week’s lab, we will be exploring both the queue and stack data structures by (1) creating our own implementation (backed by an array list) to better understand how they implement the FIFO and LIFO properties, respectively, and (2) explore their use in a real-world application of solving maze puzzles. We will also learn how to use Javadocs as part of our comments to produce documentation easily readable and searchable by ourselves and other developers.

We will once again begin with a Warmup designed to help reinforce some of the key concepts needed to complete the lab assignment. You are strongly encouraged to work with a partner on the Warmup during the lab period.

As a friendly reminder, there is also lab helping available outside of your regularly scheduled lab time. A calendar and description can be found here. Please make use of the lab helping available as much or as little as you need; it is there to assist you as we learn together this semester. Please also feel free to reach out to your professor by email or stop by office hours with any questions.