Skip to content

Yousif-elkot/python-basics

Repository files navigation

🐍 30-Day Python Mastery Journey# 🚀 30-Day Python & Cloud Engineering Journey

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

📊 Progress OverviewActive Resources:

  • 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)

�📈 Learning Philosophy


🎯 Build → Improve → Document → Repeat

🎓 Learning Resources

  • 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

�️ Journey Timeline


Day 1Foundations & CLI Applications

📈 Learning Philosophy

📁 View Details →

🎯 Learn → Code → Test → Master

🔧 Unit Converter

  1. Interactive Learning - Complete tutorials before coding

  2. Clean Implementation - Type hints, documentation, best practices- Basic Python syntax, functions, and control flow

  3. Comprehensive Testing - Verify every implementation works- Input validation and error handling

  4. Real-World Focus - Build practical applications- Professional code organization with type hints

  5. Professional Workflow - Git commits, documentation, code review

📞 Phone Book CLI


  • Dictionary data structures and JSON persistence

📅 Week 1: Data Structures Mastery- Menu-driven interface design

  • CRUD operations and user experience

Day 1 — Foundations & CLI Applications

� Password Generator

📁 View Details →

  • 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



Day 2Arrays, Lists & Search Algorithms

Day 2 — Arrays & Search Algorithms

📁 View Details →

📁 View Details →

📝 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 3Stacks, 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

Day 4 — Trees & Recursion

🔄 Command History Manager

📁 View Details →

  • 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

Day 5 — Hash Tables- Dual-mode operation (FIFO vs Priority)

  • 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

Day 6 Part 1 — Basic Graph Algorithms- JSON export for external tool integration

📁 **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)

Day 4Trees, Recursion & File Systems


📁 View Details →

Day 6 Part 2 — Advanced Graph Algorithms

🌳 Binary Search Tree

📁 View Details →

  • 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

📋 Day 7 — Week 1 Review (Upcoming)📁 Directory Tree Explorer CLI

📁 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

🚀 Week 1 Achievements

☁️ 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 5Hash 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

📁 Repository Structure- Production-ready text analysis tool


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---

🛠️ Tech Stack

Set Up Virtual Environment


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)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages