software-engineer

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

https://github.com/mrshaw01/software-engineer

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (6.3%) to scientific vocabulary

Keywords

cpp cuda high-performance-computing hip python
Last synced: 6 months ago · JSON representation ·

Repository

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

Basic Info
  • Host: GitHub
  • Owner: mrshaw01
  • Language: C++
  • Default Branch: main
  • Homepage:
  • Size: 34.8 MB
Statistics
  • Stars: 353
  • Watchers: 6
  • Forks: 61
  • Open Issues: 14
  • Releases: 0
Topics
cpp cuda high-performance-computing hip python
Created 9 months ago · Last pushed 6 months ago
Metadata Files
Readme Citation Codeowners

README.md

🌐 Language

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

text . ├── 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:

bash 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.

Owner

  • Name: Shaw Nguyen
  • Login: mrshaw01
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this repository for learning or reference, please cite it as below."
title: "software-engineer"
version: "0.1.0"
date-released: "2025-06-23"
authors:
  - given-names: "Shaw"
    family-names: "Nguyen"
    affiliation: "Moreh"
type: software
repository-code: "https://github.com/mrshaw01/software-engineer"
url: "https://github.com/mrshaw01/software-engineer"
abstract: >
  A curated learning repository focused on High-Performance Computing (HPC) — covering fundamentals to advanced topics in CUDA, MPI, C++, and Python-C++ interoperability.
license: "MIT"
keywords:
  - python
  - cpp
  - cuda
  - high-performance-computing
  - hip

GitHub Events

Total
  • Issues event: 7
  • Watch event: 224
  • Issue comment event: 2
  • Push event: 219
  • Public event: 1
  • Pull request event: 1
  • Fork event: 39
Last Year
  • Issues event: 7
  • Watch event: 224
  • Issue comment event: 2
  • Push event: 219
  • Public event: 1
  • Pull request event: 1
  • Fork event: 39

Issues and Pull Requests

Last synced: 7 months ago


Dependencies

.github/workflows/pre-commit.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite