Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

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

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

Readme

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors