GTx: Computing in Python III: Data Structures course Syllabus
Full curriculum breakdown — modules, lessons, estimated time, and outcomes.
Overview: This course offers a structured and hands-on introduction to core data structures in Python, ideal for learners building foundational programming skills. You'll gain practical experience implementing and manipulating data structures such as lists, dictionaries, trees, and queues. The curriculum emphasizes real-world applications, algorithmic thinking, and efficiency analysis to prepare you for technical interviews and software development roles. With a time commitment of approximately 8–12 hours per week, the course spans about 8–10 weeks to complete all modules and the final project.
Module 1: Core Python Data Structures
Estimated time: 20 hours
- Understanding and using lists and tuples
- Working with dictionaries and sets
- Manipulating structured data efficiently
- Applying built-in methods for data handling
- Practical use cases for core data types
Module 2: Abstract Data Types (ADTs)
Estimated time: 20 hours
- Introduction to stacks and queues
- Implementing linked lists in Python
- Understanding ADT principles and benefits
- Choosing the right structure for the problem
Module 3: Trees and Graph Basics
Estimated time: 20 hours
- Representing hierarchical data with trees
- Tree traversal techniques (in-order, pre-order, post-order)
- Introduction to graph fundamentals
- Simple graph search algorithms
- Modeling real-world problems with trees and graphs
Module 4: Algorithmic Thinking & Efficiency
Estimated time: 20 hours
- Introduction to Big-O notation
- Analyzing time and space complexity
- Evaluating performance trade-offs between data structures
- Optimizing code with efficient data handling
Module 5: Technical Interview Preparation
Estimated time: 15 hours
- Problem-solving strategies for coding challenges
- Common data structure patterns in interviews
- Practicing efficiency analysis in real scenarios
Module 6: Final Project
Estimated time: 25 hours
- Design and implement a data-driven Python application
- Apply multiple data structures to solve a complex problem
- Submit code with documentation and efficiency analysis
Prerequisites
- Familiarity with basic Python syntax and control flow
- Understanding of functions and basic data types
- Previous experience writing and debugging Python code
What You'll Be Able to Do After
- Implement and manipulate core Python data structures confidently
- Choose appropriate data structures for specific programming tasks
- Analyze algorithm efficiency using Big-O notation
- Solve common coding interview problems involving data structures
- Build efficient, well-structured Python programs for real-world applications