Processing Tasks With Stacks and Queues

As you progress with your quest for data engineering knowledge, you will need to have a solid understanding of algorithms and data structures. In the first lesson of this course, you will learn about stacks and queues, and how to prioritize and process tasks with these two types of data structures.

You will also learn how to profile each data structure, the pros and cons of each, as well as how to construct your own implementation from scratch, so you can get an intuition of how each data structure works.

To facilitate your learning of stacks and queues, we'll use a dataset of applications for driver's licenses. Throughout this lesson, you will use this data to build stacks and queues to process data, just like at the Department of Motor Vehicles.

In addition to learning how to process tasks in the right order with stacks and queues, you’ll get to apply what you’ve learned from within your browser; there's no need to use your own machine to do the exercises. The Python environment inside of this course includes answer-checking to ensure you've fully mastered each concept before learning the next.


  • Learn to implement a stack in Python.
  • Learn to implement a queue in Python.
  • Learn to provile stacks and queues.

Lesson Outline

1. Assigning Tasks To Pools
2. Processing Applications
3. Processing Applications
4. Stacks
5. Stacks
6. Implementing A Stack
7. Time Spent In Stacks
8. Waiting Time With Queues
9. Waiting Time With Queues
10. Implementing a Queue
11. Time Spent In Queues
12. Profiling Stacks As Elements Are Added
13. Profiling Queues As Elements Are Added
14. Queues vs Stacks
15. Takeaways

Take a Look Inside