Welcome to my 30-day Python coding journey! This repository tracks my daily progress as I master Python fundamentals, data structures, and algorithms from scratch.Welcome to my 30-day coding adventure! This repository tracks my daily progress as I build Python fundamentals and work toward Cloud Engineering skills.
Current Status: 🔥 Week 1 Complete! (7/7 days - 100%)Each day includes hands-on projects, code improvements, and detailed documentation. The goal is to develop professional coding habits while building a portfolio of practical applications.
Each day includes interactive tutorials, hands-on implementation, comprehensive testing, and real-world applications. From basic arrays to advanced graph algorithms with 20+ projects built!---
---## 🎓 GitHub Education Pack Status
- ✅ GitHub Copilot Pro - Daily AI pair programming (in VS Code)
| Week | Days | Status | Projects | Core Focus |- ✅ Microsoft Azure $100 - Claimed, saving for Month 2 (AWS comparison)
|------|------|--------|----------|------------|- � Full Timeline & Claims Schedule → - When to claim $20,000+ worth of tools
| Week 1 | 1-7 | ✅ DONE | 20+ apps | Data Structures (Arrays → Graphs) |
| Week 2 | 8-14 | 📋 Next | TBD | Algorithms & Patterns |Next Claims:
| Week 3 | 15-21 | 📋 Planned | TBD | OOP & Testing |- 🎯 GitHub Certification (Day 30) - Free exam voucher
| Week 4 | 22-30 | 📋 Planned | TBD | Integration & Portfolio |- 🎯 DigitalOcean $200 (Day 31) - Free hosting for projects
- 🎯 LocalStack (Day 35) - AWS emulator for free cloud practice
Total Lines of Code: ~5,000+ lines (hand-coded with Copilot assistance)
Test Success Rate: 100% ✅ ---
Completion Rate: 23% (7/30 days)
🎯 Build → Improve → Document → Repeat
- Start with simple, working solutions
Active Tools:- Iteratively add features and improve code quality
-
✅ GitHub Copilot Pro - AI pair programming (daily use in VS Code)- Practice Git workflows and professional documentation
-
✅ Python 3.13 - Latest Python features & best practices- Focus on real-world applications and best practices
-
✅ VS Code - Professional development environment- Leverage GitHub Copilot for faster learning and better patterns
-
✅ Git/GitHub - Version control & portfolio
Roadmap: 📋 30_DAY_PYTHON_ROADMAP.md - Complete 30-day learning path
🎯 Learn → Code → Test → Master
🔧 Unit Converter
-
Interactive Learning - Complete tutorials before coding
-
Clean Implementation - Type hints, documentation, best practices- Basic Python syntax, functions, and control flow
-
Comprehensive Testing - Verify every implementation works- Input validation and error handling
-
Real-World Focus - Build practical applications- Professional code organization with type hints
-
Professional Workflow - Git commits, documentation, code review
📞 Phone Book CLI
- Dictionary data structures and JSON persistence
- CRUD operations and user experience
� Password Generator
- Cryptographically secure random generation
Projects:- Advanced CLI interfaces with argparse
-
🔧 Unit Converter - Temperature, length, weight conversions with validation- Security-focused programming practices
-
📞 Phone Book - CRUD operations, JSON persistence, menu-driven CLI- Character set manipulation and validation
-
🔐 Password Generator - Secure random generation, customizable character sets
�💡 Key Skills: Python fundamentals, file I/O, function design, CLI development, security programming, professional documentation
Skills: Python basics, functions, file I/O, CLI development, input validation, type hints
📝 Smart Todo List
Projects:
-
📝 Smart Todo List - Dynamic arrays, linear search, sorting, priority management- Dynamic arrays and list operations (insertion, deletion, traversal)
-
Linear search algorithms with multiple criteria
Skills: Arrays, lists, linear search, sorting algorithms, algorithm complexity (O notation)- Sorting algorithms with custom key functions
- Advanced CLI interface with comprehensive error handling
---- Data persistence with JSON serialization
✅ Day 3 — Stacks & Queues💡 Key Skills: Arrays & lists, search algorithms, sorting algorithms, data structures, algorithm complexity analysis
📁 View Details →---
Projects:### ✅ Day 3 — Stacks, Queues & System Integration
-
🧮 Balanced Brackets Checker - Stack-based validation (11 test cases)
-
🔄 Command History Manager - Undo/redo with stack, search, persistence📁 View Details →
-
📋 Task Queue - Priority queue, FIFO processing, JSON storage
-
🖥️ System Monitor - Real-time CPU/memory monitoring with deque🧮 Balanced Brackets Checker
Skills: Stack (LIFO), Queue (FIFO), deque, priority queues, system integration- Stack (LIFO) data structure for bracket matching
- Algorithm problem-solving with edge cases
---- Character-by-character validation logic
- Comprehensive test suite with 11 test cases
🔄 Command History Manager
- Stack implementation with undo/redo functionality
Projects:- Command tracking with timestamps and exit codes
-
🌳 Binary Search Tree - Insert, search, traversal (in-order, pre-order, post-order)- Search through history with pattern matching
-
📂 Directory Explorer - Recursive file traversal, tree visualization- JSON persistence and statistics tracking
-
📄 JSON Processor - Recursive parsing, tree manipulation- Professional CLI with argparse
Skills: Binary trees, BST operations, recursion, tree traversal, DFS📋 Task Queue Simulator
---- Queue (FIFO) and Priority Queue implementations
- Task scheduling with priority levels using heapq
- Status tracking (pending/completed) with execution simulation
📁 View Details →- JSON persistence and comprehensive CLI
**Projects:**🖥️ System Monitor
-
📊 Word Frequency Analyzer - Hash table implementation, collision handling, statistics
-
Python + Bash integration using subprocess module
Skills: Hash tables, hash functions, collision resolution, O(1) lookups, dictionaries- Parse Linux system commands (free, df, uptime)
- Deque-based time-series metric storage
---- Alert threshold detection and warnings
- Full CLI with 4 commands: snapshot, monitor, history, export
📁 **View Details →**💡 Key Skills: Stack (LIFO), Queue (FIFO), Priority Queue (heapq), Deque, Collections module, Subprocess integration, Bash command parsing, Time-series data, Alert systems, Argparse CLI design, JSON serialization, Dataclasses
**Projects:**☁️ Cloud Engineering Bridge: AWS SQS message queues, CloudWatch monitoring & alarms, Event-driven architecture, Task scheduling patterns, Infrastructure automation, EC2 monitoring
- 🕸️ Graph Implementation - Adjacency list, BFS, DFS, path finding
Skills: Graphs, adjacency list, breadth-first search, depth-first search, shortest path (unweighted)
🌳 Binary Search Tree
- TreeNode and BST class implementation
Projects:- Insert and search operations (O(log n) average case)
-
🗺️ Weighted Graphs - Dijkstra's algorithm, cycle detection, topological sort- All 4 traversals: inorder, preorder, postorder, level-order (BFS)
-
Delete operation with 3 cases (leaf, one child, two children)
Skills: Weighted graphs, Dijkstra's shortest path, 3-color cycle detection, topological sort, dependency resolution- Helper methods: count_nodes, height, find_min, find_max, is_balanced
- ASCII tree visualization with box-drawing characters
---- Comprehensive testing suite
📁 View Details →- Recursive directory scanning and tree building
- DirectoryNode tree structure (N-ary tree)
Activities:- ASCII visualization with proper connectors (├──, └──, │)
-
🎯 6 Coding Challenges (LeetCode-style problems)- Size calculation with human-readable formatting (bytes/KB/MB/GB)
-
🏗️ Mini Capstone: Task Dependency Manager- Full CLI with argparse: show and stats commands
-
📝 Self-Assessment Quiz- Depth limiting and ignore patterns (.git, node_modules, etc.)
-
📊 Progress Review- Error handling for permission issues
-
Production-ready command-line tool
💡 Key Skills: Recursion patterns (base case + recursive case), Binary Search Trees (BST), Tree traversal algorithms (DFS & BFS), N-ary trees, File system operations (os module), Recursive aggregation, ASCII art generation, CLI design with subparsers, Path manipulation, Error handling
☁️ Cloud Engineering Bridge: S3 bucket structure exploration, File system monitoring, Directory size analysis, AWS CLI tree commands, Infrastructure inventory tools, Recursive operations on cloud resources
✅ 7 Days Completed
-
All core data structures implemented from scratch---
-
20+ real-world applications built
-
100% test success rate### ✅ Day 5 — Hash Tables, Dictionaries & Text Analysis
-
~5,000 lines of Python code written
-
Professional Git workflow established� View Details →
**🎯 Skills Mastered:**🗂️ Custom Hash Table Implementation
-
Arrays, Lists, Stacks, Queues, Deques
-
Binary Trees, Binary Search Trees- Hash function design using ASCII sum modulo table size
-
Hash Tables, Dictionaries- Collision handling with chaining (linked lists in buckets)
-
Graphs (weighted & unweighted)- Dynamic resizing with load factor monitoring (> 0.7 triggers resize)
-
BFS, DFS, Dijkstra's Algorithm- Complete CRUD operations: insert, search, delete
-
Cycle Detection, Topological Sort- Automatic table doubling and rehashing of all items
-
Recursion, Algorithm Complexity- Statistics tracking (count, collisions, load factor)
-
Type Hints, Documentation, Testing- O(1) average-case lookup performance
**💡 Key Takeaways:**📊 Word Frequency Analyzer CLI
-
Graphs are the most versatile data structure
-
Recursion simplifies tree/graph problems- Text file reading with encoding support and error handling
-
Hash tables provide O(1) lookups- Text tokenization using regular expressions (regex)
-
BFS for shortest paths, DFS for exploration- Stop word filtering (50+ common words: the, is, and, etc.)
-
Real-world applications of every data structure- Frequency counting with Python's Counter
-
Top N word analysis with bar chart visualization
---- Dual export: JSON and CSV formats
- Full CLI with argparse: --top, --no-filter, --export, --output flags
python-basics/
├── README.md # This file**☁️ Cloud Engineering Bridge:** Configuration management (key-value stores like AWS Parameter Store), Caching strategies (ElastiCache, CloudFront), Log analysis and metrics aggregation, CloudWatch Logs Insights queries, Data processing pipelines, ETL operations
├── 30_DAY_PYTHON_ROADMAP.md # Complete learning roadmap
├── .gitignore # Python best practices---
├── day1/ # Foundations & CLI
│ ├── unit_converter.py### �🚀 **Days 6-30** — _The Adventure Continues..._
│ ├── Phone_book.py
│ └── Password_gen/_Each day will introduce new concepts building toward Cloud Engineering applications_
├── day2/ # Arrays & Search
│ └── Smart_Todo_List/---
├── day3/ # Stacks & Queues
│ ├── balanced_brackets.py## 🎯 30-Day Goals
│ ├── command_history.py
│ ├── task_queue.py### **Python Mastery**
│ └── system_monitor.py
├── day4/ # Trees & Recursion- [✅] Core syntax and data structures
│ ├── bst.py- [✅] Arrays, lists, and linear data structures
│ └── Directory Tree Explorer/- [✅] Hash tables and dictionaries
├── day5/ # Hash Tables- [✅] Regular expressions and text processing
│ ├── hash_table.py- [ ] Object-oriented programming
│ └── word_frequency.py- [ ] Error handling and testing
├── day6_part1/ # Basic Graphs- [ ] API development and consumption
│ ├── graph.py
│ └── learn_graphs.py### **Development Skills**
├── day6_part2/ # Advanced Graphs
│ ├── graph.py- [ ✅ ] Git/GitHub professional workflows
│ └── learn_advanced_graphs.py- [ ✅ ] Code documentation and comments
└── day7/ # Week 1 Review- [ ✅ ] Project structure and organization
└── README.md- [ ✅ ] Debugging and problem-solving
```- [ ] Performance optimization
---### **Cloud Engineering Prep**
## 🎯 What's Next?- [ ] Automation scripting
- [ ] Configuration management
### Week 2 Preview (Days 8-14)- [ ] Database interactions
- **Day 8:** Sorting Algorithms (Merge Sort, Quick Sort)- [ ] Web services and APIs
- **Day 9:** List Comprehensions & Generators- [ ] DevOps tool integration
- **Day 10:** File I/O & Data Pipelines
- **Day 11:** Error Handling & Logging---
- **Day 12:** Decorators & Context Managers
- **Day 13:** HTTP Requests & REST APIs## 📊 Progress Stats
- **Day 14:** Week 2 Review + Weather Dashboard Project
| Metric | Count |
---| --------------------- | ------ |
| **Days Completed** | 5 / 30 |
## 💻 How to Use This Repository| **Projects Built** | 15 |
| **Functions Written** | 180+ |
### Clone the Repository| **Git Commits** | 45+ |
```bash| **Lines of Code** | 4200+ |
git clone https://github.com/Yousif-elkot/python-basics.git
cd python-basics---
python3 -m venv .venv**Tools:** Git, GitHub, VS Code, Linux CLI
source .venv/bin/activate # Linux/Mac**Libraries:** json, sys, typing, argparse, string, random, datetime, os, collections, heapq, subprocess, dataclasses, re, csv
# or**Concepts:** CLI development, data persistence, error handling, security programming, documentation, arrays & lists, search algorithms, sorting algorithms, stacks (LIFO), queues (FIFO), priority queues, deques, system integration, subprocess management, time-series data, alert systems, bash parsing, recursion, binary search trees (BST), tree traversals (DFS/BFS), N-ary trees, file system operations, recursive algorithms, hash tables, collision handling, load factor, O(1) lookup, regular expressions, text parsing, data export (JSON/CSV)
.venv\Scripts\activate # Windows
```---
### Run Any Project## 🔗 Quick Navigation
```bash
# Example: Run Day 6 Part 2 graph implementation- **[Day 1 Projects](day1/)** — Unit Converter, Phone Book CLI & Password Generator
cd day6_part2- **[Day 2 Projects](day2/)** — Smart Todo List with Arrays & Search Algorithms
python graph.py- **[Day 3 Projects](day3/)** — Balanced Brackets, Command History, Task Queue & System Monitor
- **[Day 4 Projects](day4/)** — Binary Search Tree & Directory Tree Explorer
# Example: Run interactive tutorial- **[Day 5 Projects](day5/)** — Custom Hash Table & Word Frequency Analyzer
python learn_advanced_graphs.py- **[Latest Code](day5/word_frequency.py)** — Most recent project
```- **[Progress Tracker](PROGRESS_TRACKER.md)** — Detailed daily progress and stats
### Follow Along---
Each day folder contains:
- `README.md` - Overview, concepts, and usage_"Every expert was once a beginner. Every pro was once an amateur. Every icon was once an unknown."_ 🌟
- Implementation files - Fully commented code
- Interactive tutorials - Learn before coding
- Test cases - Verify your understanding
---
## 🌟 Key Features
- ✅ **100% Hand-Coded** - Every line written from scratch (with Copilot assistance)
- ✅ **Type Hints** - Modern Python practices throughout
- ✅ **Comprehensive Testing** - All implementations verified
- ✅ **Interactive Tutorials** - Learn concepts before coding
- ✅ **Real-World Applications** - Practical projects, not just exercises
- ✅ **Professional Documentation** - Clear README in every folder
- ✅ **Git Best Practices** - Clean commits, .gitignore, professional workflow
---
## 📚 Resources & References
- **Official Python Docs:** https://docs.python.org/3/
- **Real Python:** https://realpython.com/
- **LeetCode:** https://leetcode.com/ (for practice problems)
- **GitHub Copilot:** AI pair programming assistant
- **VS Code:** https://code.visualstudio.com/
---
## 🤝 Connect & Follow
**Repository:** https://github.com/Yousif-elkot/python-basics
**Author:** Yousif Elkot
**Journey Start:** October 2025
**Goal:** Master Python → Cloud Engineering
---
## 📄 License
This project is for educational purposes. Feel free to learn from it and adapt it for your own learning journey!
---
**Last Updated:** October 5, 2025
**Week 1 Status:** ✅ Complete (7/7 days)
**Next Milestone:** Week 1 Review (Day 7)