Skip to content

chevyphillip/python-data-structures-practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Python Data Structures Practice - WGU MSSWEAIE

GitHub Pages Python 3.12+ uv License: Educational

🌐 Live Documentation

πŸ“– Visit the interactive documentation website: https://chevyphillip.github.io/python-data-structures-practice/

Overview

This repository contains comprehensive Python data structures and standard library exercises designed specifically for WGU's Master of Science in Software Engineering - AI Engineering program.

What You'll Learn:

  • Core Data Structures: Master lists, dictionaries, and sets with practical applications
  • Advanced Python Modules: Deep dive into itertools, collections, and functools
  • Functional Programming: Learn modern Python patterns and optimization techniques
  • Real-world Applications: Practice with scenarios relevant to AI/ML and software engineering

Learning Objectives

🎯 Core Data Structures

  • Master Python data structure fundamentals (lists, dictionaries, sets)
  • Practice real-world data manipulation scenarios
  • Build confidence with slicing, indexing, and operations

πŸš€ Advanced Python Modules

  • Master built-in functions for data transformation (map, filter, zip, enumerate)
  • Learn advanced iteration patterns with itertools module
  • Utilize specialized data structures from collections module
  • Apply functional programming concepts with functools module

πŸ’‘ Practical Applications

  • Prepare for advanced AI/ML data handling
  • Develop algorithmic thinking and problem-solving skills
  • Build efficient, Pythonic code using standard library tools

Structure

πŸ“ Basics (basics/)

🟒 Beginner Level - Foundation concepts and operations

  • 01_lists_basics.ipynb - Foundation list operations and methods
  • 02_dictionaries_basics.ipynb - Dictionary fundamentals and key-value operations
  • 03_sets_basics.ipynb - Set operations, logic, and mathematical operations
  • 04_combined_basics.ipynb - Integration practice with multiple data structures

πŸ“ Intermediate (intermediate/)

🟑 Intermediate Level - Advanced Python modules and functional programming

  • 01_builtin_functions.ipynb - Master map(), filter(), zip(), enumerate(), sorted()
  • 02_itertools_mastery.ipynb - Advanced iteration with chain(), combinations(), groupby(), infinite iterators
  • 03_collections_mastery.ipynb - Specialized data structures: Counter, defaultdict, deque, namedtuple
  • 04_functools_mastery.ipynb - Functional programming: partial, reduce, lru_cache, singledispatch

πŸ“ Advanced (advanced/)

πŸ”΄ Advanced Level - Real-world applications and complex scenarios

  • 01_combined_practice.ipynb - Complex multi-structure problems
  • 02_ai_scenarios.ipynb - AI/ML relevant applications and data processing

πŸ“ Assessments (assessments/)

πŸ“ Testing and Evaluation

  • ds_while_loops_assessment.ipynb - Comprehensive assessment combining data structures with control flow

πŸ“ Data Files (data/)

  • sample_data.json - Sample data for practice exercises

πŸ“ Solutions (solutions/)

  • Complete solutions with explanations organized by difficulty level
  • Alternative approaches and optimization strategies for each problem

πŸš€ Quick Start

Option 1: Using uv (Recommended)

# Clone the repository
git clone https://github.com/chevyphillip/python-data-structures-practice.git
cd python-data-structures-practice

# Install dependencies with uv
uv sync

# Start Jupyter Notebook
jupyter notebook

Option 2: Using pip

# Clone the repository
git clone https://github.com/chevyphillip/python-data-structures-practice.git
cd python-data-structures-practice

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Start Jupyter Notebook
jupyter notebook

πŸ“– For detailed setup instructions, visit: Installation Guide

Difficulty Progression

🟒 Beginner (Basics):

  • Basic operations, simple indexing
  • Core data structure methods
  • Foundation concepts (~30-45 minutes each)

🟑 Intermediate (Modules):

  • Advanced Python standard library modules
  • Functional programming concepts
  • Performance optimization techniques (~45-50 minutes each)

πŸ”΄ Advanced (Applications):

  • Real-world scenarios and complex problems
  • Integration of multiple concepts
  • AI/ML data processing patterns (~45+ minutes each)

Study Approach for ADHD Learners

βœ… Progressive Learning - Start with basics, advance systematically βœ… Hands-on Practice - Every concept includes practical exercises βœ… Immediate Feedback - Run each code block as you write it βœ… Comprehensive Examples - Real-world scenarios in every notebook βœ… Manageable Chunks - Each notebook is designed for focused learning sessions βœ… Visual Learning - Rich examples with clear output demonstrations

πŸ“š Additional Resources

πŸ”§ Features

πŸ“š Comprehensive Content

  • βœ… Progressive Curriculum - 10+ notebooks from beginner to advanced
  • βœ… Standard Library Mastery - Complete coverage of itertools, collections, functools
  • βœ… Real-world Applications - Practical exercises with business scenarios
  • βœ… Performance Focus - Caching, optimization, and efficiency techniques

πŸ› οΈ Technical Excellence

  • βœ… Modern Dependency Management - Full support for both uv and pip
  • βœ… Comprehensive Testing - Verification tools included (verify_requirements.py)
  • βœ… Professional Documentation - Live website with installation guides
  • βœ… Interactive Learning - Jupyter notebooks with immediate feedback

🎯 Learning Support

  • βœ… Multiple Learning Styles - Visual, hands-on, and theoretical approaches
  • βœ… ADHD-Friendly Design - Structured, manageable learning chunks
  • βœ… Complete Solutions - Detailed explanations and alternative approaches
  • βœ… Assessment Tools - Comprehensive testing and evaluation notebooks

Support

Each exercise includes:

  • Clear step-by-step instructions
  • Helpful hints
  • Common mistake warnings
  • Multiple solution approaches

🀝 Contributing

This is an educational resource. If you find issues or have suggestions for improvements, please open an issue or submit a pull request.

πŸ“„ License

This educational content is available for academic and learning purposes.


🌐 Live Documentation: https://chevyphillip.github.io/python-data-structures-practice/

πŸ“‚ Repository: https://github.com/chevyphillip/python-data-structures-practice

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •