Skip to content

A curated learning repository focused on High-Performance Computing (HPC) — covering fundamentals to advanced topics in CUDA, MPI, C++, and Python-C++ interoperability.

Notifications You must be signed in to change notification settings

mrshaw01/software-engineer

Repository files navigation

Software Engineer

pre-commit status

Last Commit Issues Pull Requests

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.

Repository Structure

.
├── 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)

How to Use

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.

Highlights

Python

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

  • 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

Systems & Performance

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

Learning Philosophy

  • 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

Star History

Star History Chart

🤝 Contributions

Found a bug, typo, or want to extend something? Open a PR — all contributions are welcome.

📄 License

MIT License — free to use, adapt, and share for learning and teaching.

About

A curated learning repository focused on High-Performance Computing (HPC) — covering fundamentals to advanced topics in CUDA, MPI, C++, and Python-C++ interoperability.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •