A curated, high-quality collection of learning resources focused on Python and soon C/C++, designed to build strong software engineering foundations and system-level understanding.
.
├── python-basic/ # Essential Python syntax, data types, and operations
├── python-advanced/ # Decorators, threading, logging, JSON, and more
├── python-OOP/ # Deep dive into Python's object-oriented programming
├── cpp-basic/ # Fundamentals of C++: syntax, memory, pointers, etc.
├── cpp-advanced/ # Advanced C++: RAII, noexcept, smart pointers, RVO, etc.
├── cpp-OOP/ # Object-oriented programming in C++
├── CUDA/ # GPU programming with CUDA (host & device code)
├── MPI/ # Message Passing Interface programming and demos
├── docs/ # System-level notes on performance, Python-C++ interop, mixed precision, etc.
└── README.md # Project overview (this file)
Each numbered folder contains a README.md
explaining the concepts, along with runnable .py
files. For example:
cd python-advanced/08-decorators
python basic_function_decorator.py
Some scripts require third-party libraries (e.g., numpy
, scipy
, torch
).
All code is compatible with Python 3.7+ and written to be minimal, focused, and testable.
- OOP Mastery: Classes, inheritance, metaclasses, descriptors (
python-OOP/
) - Advanced Topics: Decorators, context managers, function caching, concurrency
- Data Structures: Lists, tuples, dicts, sets with practical usage
- C++ Basics: Syntax, functions, pointers, structs, scope, enums (
cpp-basic/
) - Modern C++: RAII, smart pointers, move semantics, alignment, RVO (
cpp-advanced/
) - C++ OOP: Classes, access specifiers, inheritance, polymorphism, templates
- CUDA Programming: Host/device model, kernel launch, memory management (
CUDA/
) - MPI Programming: Practical distributed programs, matrix ops, and validation runs (
MPI/
) - Docs: Python-C++ interfacing, GIL handling, CUDA tuning, mixed precision training (
docs/
)
- Small, modular examples — no cluttered notebooks
- Clear separation between concept, code, and commentary
- Emphasis on design, performance, and maintainability
- Builds knowledge progressively — ideal for serious learners and professionals
Found a bug, typo, or want to extend something? Open a PR — all contributions are welcome.
MIT License — free to use, adapt, and share for learning and teaching.