Note: Some courses are unfinished. This is intentional. The site is actively expanding, and lessons are released continuously (every 2–3 lessons), rather than waiting for a full course to be completed. This ensures new content is always available. Completed courses currently are C++, Linux, x86-64 Assembly, and SQL. Each course is expected to reach around 60–120 lessons.
I could not find a SINGLE in browser course for learning C++, and C# that was free, with no ridiculouse 'oh you can do 1 lesson every 7 days' limits, so I made this.
Just open the site at https://learnhardcode.dpdns.org/ If you install the files, run uncache.py and open localhost:9000/
If you get errors on correct lessons, open dev tools, and hard refresh(ctrl+shift+r) until hello.js says "hello.js?v=XXX" in the networktab. Also, go to dev tools, and in storage clear cache storage. That will guarantee to fix it.
Yet another note: WIP doesn't mean that it's not on the site, it means the editor exists and some lessons exist but it's not 100% so some lessons may be subject to change
- C++: Done (66 lessons)
- SQL: Done (66 lessons)
- Linux: Done (41 lessons)
- ASM: Done (37 lessons)
- Git: WIP
- C++ DSA: WIP
- C#: WIP
- QuantumC: WIP
- Rust: WIP
- TypeScript: WIP
- C: WIP
- Go: WIP
- Haskell: WIP
- Web: WIP
- Fortran: WIP
- Objective C (probably not)
- Zig
- Guided Projects/Guided Course Projects (EG Compilers, OS, System Design), Docker, Kubernetes, RabbitMQ, Redis (Local Dev Courses)
- Elixir
- OCaml
- Cobol
- ⭐ Star the repo if it helped you
- Share it with a friend learning C++, C#, or Rust
If you have any ideas on courses for languages you can't find anywhere else, or a way to make a course on a language that basically nobody has, especially for free, and want to help this project, simply Fork this repo, and make a pull request, Either if you find bugs in lessons or feel like there should be more lessons on a section that is COMPLETE or want to add a new language, do this or leave a issue.