This repository was initially created for a semester requirement but has since evolved into a personal project to track and showcase my learning progress in Python. It includes various tutorials, concepts, and coding challenges that I’ve encountered and solved.
- Basic syntax and operators.
- Data types and variables.
- Control flow (if, else, loops).
- Introduction to classes and objects.
- Inheritance, polymorphism, encapsulation, and abstraction.
- Basic algorithms such as Bubble Sort, Merge Sort, and Binary Search.
- Time and space complexity considerations.
- Simple GUI applications using Tkinter.
- Widgets like buttons, labels, and entry fields.
- A collection of beginner to intermediate-level problems from various platforms:
- LeetCode
- GeeksforGeeks
- HackerRank
- Problem sets include topics like arrays, strings, sorting, searching, and more.
- Clone the repo and explore each folder for specific tutorials or problems.
- Feel free to contribute by submitting pull requests with solutions or improvements.
Thank you for your interest in contributing! This project began as a semester effort but has grown into a collaborative Python learning resource. It includes tutorials, practice problems, and beginner-friendly projects — and we welcome your additions!
Please familiarize yourself with the current folder structure:
tutorials/
– Python basics, syntax, OOP, sorting/searching, GUI (Tkinter).questions/
– Practice problems and solutions from platforms like LeetCode, GFG, HackerRank.projects/
(optional) – Small Python-based projects (if added in the future).
🛑 All contributions must be submitted via Pull Requests.
🔒 Direct pushing tomain
is restricted and requires approval.
- New practice problems with clear code and comments.
- Solved questions from LeetCode/GFG/HackerRank (please mention the platform and problem name).
- Corrections or improvements to tutorials or examples.
- Mini-projects using Tkinter or other beginner-friendly libraries.
- Create a new folder for your set if needed (e.g.,
questions/recursion/
). - Use snake_case for file names:
binary_search_solution.py
- Add comments explaining your logic inside the code.
- Avoid uploading unnecessary files like
.DS_Store
,.pyc
, etc.
- Fork the repo.
- Clone your fork.
- Create a new branch:
git checkout -b your-feature-name
- Add your files to the correct folder.
- Commit your changes with a clear message:
git commit -m "Added solution to GFG array rotation"
- Push to your fork and open a Pull Request.
- Wait for the review and approval before it’s merged.
Only the repository owner (currently @Naman Vasudev(https://github.com/Naman-Vasudev) can approve and merge Pull Requests into the main branch. This ensures content consistency and quality.
- Don’t push directly to
main
(it's protected). - Don’t submit copied or plagiarized solutions.
- Don’t rename existing folders/files unless necessary and discussed.
This is a community-driven learning space — your contributions help others grow, and your code could help a beginner someday.
Let’s keep learning and building together!
Feel free to reach out via GitHub Issues if you have questions.
- Continue adding tutorials and challenges.
- Expand topics to include advanced algorithms and data structures.
- Improve GUI projects and explore additional libraries.
This repository is open-source.