A comprehensive collection of my programming journey through various MOOCs, OpenCourseWare, books, and coding challenges. This repository demonstrates my continuous learning approach and problem-solving skills across multiple programming languages and concepts.
- MIT 6.0001 - Introduction to Computer Science and Programming in Python
- Missing Semester - The Missing Semester of Your CS Education (MIT)
- Python Crash Course (3rd Edition) by Eric Matthes
- MIT 6.0002 - Introduction to Computational Thinking and Data Science
- MIT 6.100L - Introduction to CS and Programming using Python
- MIT 6.006 - Introduction to Algorithms
- Effective C (2nd Edition) by Robert C. Seacord
- Introduction to Algorithms (4th Edition) by Cormen, Leiserson, Rivest, and Stein
coding-portfolio/
├── advent-of-code/ # Advent of Code solutions
│ └── 2024/
│ ├── inputs/ # Challenge input files
│ └── solutions/ # Daily challenge solutions
├── codeforces/ # Codeforces competitive programming
│ └── python/ # Python solutions
├── MIT/ # MIT OpenCourseWare materials
│ ├── Missing-Semester/ # Command line, version control, debugging
│ │ ├── lecture-1/ # Shell tools and scripting
│ │ └── lecture-2/ # Shell scripting and tools
│ └── MIT-6.0001/ # Python programming fundamentals
│ ├── practice-and-challenges/ # Practice problems
│ └── ps0/ # Problem sets
├── main.py # Main entry point
├── pyproject.toml # Project configuration
└── README.md # This file
Completed daily programming challenges, solving algorithmic puzzles:
- Day 1: Historian Hysteria - List processing and distance calculations
- Day 2: Red-Nosed Reports - Sequence analysis and safety validation
- Day 3: Mull It Over - Regular expressions and string parsing
- Day 4: Ceres Search - 2D grid search algorithms
Practicing algorithmic problem-solving through platforms like Codeforces to improve problem-solving speed and efficiency.
- Python: Data structures, algorithms, file I/O, string manipulation, regular expressions
- Problem Solving: Algorithmic thinking, optimization, debugging
- Competitive Programming: Codeforces challenges and contests
- Version Control: Git workflows, collaborative development
- Command Line: Shell scripting, automation, system administration
This repository reflects my commitment to:
- Continuous Learning: Regularly engaging with new concepts and technologies
- Practical Application: Implementing theoretical knowledge through hands-on coding
- Problem Solving: Tackling challenges from multiple angles and optimizing solutions
- Documentation: Writing clean, well-commented code for future reference
- Community Learning: Engaging with educational platforms and coding communities
- Complete MIT 6.0001 problem sets
- Continue Advent of Code participation
- Practice competitive programming on Codeforces
- Complete Missing Semester
- Start MIT 6.0002 (Computational Thinking and Data Science)
- Begin data structures and algorithms practice
- Contribute to open-source projects
- Build portfolio projects showcasing learned concepts
- Complete MIT's introductory CS sequence
- Master algorithms and data structures
- Explore specialized areas (ML, web dev, systems programming)
- Mentor others in their coding journey
I'm always open to discussing programming concepts, learning strategies, or potential collaboration opportunities. Feel free to reach out!
"The best way to learn programming is by programming." - This repository is a testament to that philosophy, showcasing my dedication to continuous improvement and hands-on learning.