Week 07 - October 28¶
Class Description¶
This week we explore stacks, queues, and error handling. You'll discover how these fundamental data structures power everything from algorithm implementation to undo functionality, and learn to write robust code that handles errors gracefully.
Key Connection: Abstract data types (stacks and queues) → Algorithm implementations → Robust error handling → Real-world applications.
Key Learning Objectives: - Understand stacks (LIFO) and queues (FIFO) as abstract data types - Implement stacks and queues from scratch - Use stacks and queues in practical applications - Handle exceptions gracefully with meaningful error messages - Write defensive code with proper validation
Before Class¶
Videos to Watch Before Class¶
CS 5001 - Stacks and Queues¶
- Lesson 11.1: Data Structures vs. ADTs [4:18]
- Lesson 11.2: Intro to the Stack ADT [6:12]
- Lesson 11.3: Stack ADT Operations [4:02]
- Lesson 11.4: Implementing the Stack ADT [15:46]
- Lesson 11.5: Python's Built-In Support for Stacks [4:38]
- Lesson 11.6: Intro to the Queue ADT [3:30]
- Lesson 11.7: Queue ADT Operations [4:00]
- Lesson 11.8: Implementing the Queue ADT [12:53]
- Lesson 11.9: Using Circular Buffers for Queues [9:40]
- Lesson 11.10: Python's Built-In Support for Queues [8:11]