{"id":15099833,"url":"https://github.com/fpsvogel/learn-cs","last_synced_at":"2025-04-13T23:37:32.113Z","repository":{"id":251508208,"uuid":"837622801","full_name":"fpsvogel/learn-cs","owner":"fpsvogel","description":"Learning resources for computer science, C, etc.","archived":false,"fork":false,"pushed_at":"2025-02-18T14:27:11.000Z","size":54,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T19:17:19.752Z","etag":null,"topics":["awesome-lists","books","c","computer-science","learning-resources","low-level-programming","systems-programming","zig"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fpsvogel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-03T14:16:57.000Z","updated_at":"2025-03-05T11:13:05.000Z","dependencies_parsed_at":"2024-12-17T21:25:36.496Z","dependency_job_id":"658b22f4-4df7-4352-8a94-17e320174eb2","html_url":"https://github.com/fpsvogel/learn-cs","commit_stats":{"total_commits":15,"total_committers":1,"mean_commits":15.0,"dds":0.0,"last_synced_commit":"e55c1f3e89321ee1c2a14744759440793e50212b"},"previous_names":["fpsvogel/learn-c-and-cs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpsvogel%2Flearn-cs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpsvogel%2Flearn-cs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpsvogel%2Flearn-cs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpsvogel%2Flearn-cs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fpsvogel","download_url":"https://codeload.github.com/fpsvogel/learn-cs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248799061,"owners_count":21163396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome-lists","books","c","computer-science","learning-resources","low-level-programming","systems-programming","zig"],"created_at":"2024-09-25T17:28:07.940Z","updated_at":"2025-04-13T23:37:32.074Z","avatar_url":"https://github.com/fpsvogel.png","language":null,"readme":"# Learn Computer Science and Low-Level Programming\n\n## How computers work\n\n- [x] 💲[Code: The Hidden Language of Computer Hardware and Software](https://www.informit.com/store/code-the-hidden-language-of-computer-hardware-and-software-9780137909100)\n- [ ] [NandGame](https://nandgame.com) and solutions: [1](https://www.reddit.com/r/nandgame_u/wiki/index/level-solutions/), [2](https://github.com/timlg07/NandGame-Solutions/blob/master/Solutions.md), [3](https://github.com/simsieg/nandgame-solutions)\n- [x] From Nand to Tetris: [Part 1](https://www.coursera.org/learn/build-a-computer), [Part 2](https://www.coursera.org/learn/nand2tetris2)\n- [ ] 💲[Turing Complete](https://store.steampowered.com/app/1444480/Turing_Complete/)\n- [ ] 💲[Digital Design and Computer Architecture](https://pages.hmc.edu/harris/ddca/)\n- [ ] Build a computer in [CircuitVerse](https://circuitverse.org/) or [Logisim Evolution](https://github.com/logisim-evolution/logisim-evolution)\n- [ ] [Arithmazium](www.arithmazium.org/)\n\n## Zig\n\n- [ ] [Introduction to Zig: a project-based book](https://pedropark99.github.io/zig-book)\n- [ ] [Zig - \"Learn\" page listing other resources](https://ziglang.org/learn)\n- [ ] Zig + raylib: [raylib-zig](https://github.com/c0utin/raylib-zig) (based on [RayZig](https://github.com/ipinzi/RayZig)?), [examples](https://github.com/Durobot/raylib-zig-examples), [a template with raygui](https://github.com/Angluca/raylib-zig-template)\n\n## C\n\n- [ ] 💲[C Programming: A Modern Approach](http://knking.com/books/c2/index.html)\n- [ ] [CS50 problem sets (1-5)](https://cs50.harvard.edu/x/2024/psets/) and solutions: [1](https://github.com/BogdanOtava/CS50x), [2](https://github.com/kylekce/CS50x-2023), [3](https://github.com/VerisimilitudeX/CS50), [4](https://github.com/gionet/CS50-2023), [5](https://github.com/yasingunay/CS50x), [6](https://github.com/csfive/CS50x), [7](https://github.com/evieran/CS50-Solutions), [8](https://github.com/Aadv1k/cs50/tree/master/Introduction_To_Computer_Science), [9](https://github.com/uxdruh/cs50x-2024), [10](https://github.com/vncsmnl/CS50X)\n- [ ] [Tutorial on pointers and arrays in C](https://github.com/jflaherty/ptrtut13)\n- [ ] [Exercism - C](https://exercism.org/tracks/c)\n- [ ] Advent of Code: [CLI/runner written in C](https://github.com/breakthatbass/eggnog); I can't find any repos with solutions for all years, but probably there are repos with solutions for a specific year.\n- [ ] Look into other \"better C\" languages besides Zig: [Odin](https://odin-lang.org/), [Beef](https://www.beeflang.org/), [V](https://vlang.io/), [Jai](https://github.com/Jai-Community/Jai-Community-Library/wiki), [C3](https://c3-lang.org/), [MiniLang](https://github.com/NICUP14/MiniLang), and [others](https://github.com/robertmuth/awesome-low-level-programming-languages) (minus the C++ replacements like Rust, which are too complex for my purposes)\n\n## C game programming\n\n- [ ] [Handmade Hero videos](https://handmadehero.org/) plus [Handmade Penguin](https://davidgow.net/handmadepenguin/) to follow along in Linux\n- [ ] [Handmade Quake videos](https://www.dropbox.com/scl/fo/l6nqvbl5v0snbd7vo2c7x/AHnBbVV6SUDYIJPSH_jGfaQ?rlkey=osvqri75z18xcds8tsi31enfg\u0026e=1\u0026dl=0) and [source code](https://github.com/Kobzol/handmade-quake)\n- [ ] [Kohi Game Engine videos](https://www.youtube.com/playlist?list=PLv8Ddw9K0JPg1BEO-RS-0MYs423cvLVtj)\n- [ ] Make a game, taking inspiration from [high_impact](https://phoboslab.org/log/2024/08/high_impact), [raylib](https://www.raylib.com/), [Box2D 3.x](https://github.com/erincatto/box2c) (or see [box2d-raylib](https://github.com/erincatto/box2d-raylib))\n  - Or make a text-based game: see [How to program a text adventure in C](https://helderman.github.io/htpataic/htpataic01.html) and [Knuth's C port of Colossal Cave Adventure](http://www.literateprogramming.com/adventure.pdf) (which, incidentally, is an example of *literate programming*, now reincarnated in [Entangled](https://entangled.github.io/))\n- [Handmade Network](https://handmade.network)\n\n## Data Structures and Algorithms\n\n\u003c!-- See also https://github.com/fpsvogel/faang-interview-prep --\u003e\n\n- [x] 💲[Data Structures and Algorithms in Java](https://www.amazon.com/Data-Structures-Algorithms-Java-2nd/dp/0672324539)\n- [ ] 💲[The Algorithm Design Manual](https://www.algorist.com/) plus [lecture videos](https://www3.cs.stonybrook.edu/~skiena/373/videos/)\n- [ ] 💲[Algorithm Design](https://www.cs.princeton.edu/~wayne/kleinberg-tardos/)\n- [ ] 💲[Algorithms](https://algs4.cs.princeton.edu/home/)\n- [ ] 💲[Introduction to Algorithms](http://mitpress.mit.edu/9780262046305/introduction-to-algorithms/)\n- [ ] Practice on LeetCode using a familiar high-level language (for me Ruby).\n  - Ruby solutions: [1](https://github.com/ACEMerlin/leetcode-ruby), [2](https://github.com/remy727/leetcode), [3](https://github.com/ganeshskudva/Leetcode-Ruby), [4](https://github.com/acearth/LeetCodePractice), [5](https://github.com/catluri/Leetcode-Ruby)\n  - [Algorithms Ruby gem](https://github.com/kanwei/algorithms) that is [included in the LeetCode environment](https://support.leetcode.com/hc/en-us/articles/360011833974-What-are-the-environments-for-the-programming-languages).\n- [ ] Practice on LeetCode using a low-level language such as C.\n\n## Operating systems, etc.\n- [x] 💲[Operating Systems: Three Easy Pieces](http://pages.cs.wisc.edu/~remzi/OSTEP/)\n- [ ] [Dive into Systems](https://diveintosystems.org/singlepage)\n- [ ] 💲[Computer Systems: A Programmer's Perspective](https://csapp.cs.cmu.edu/)\n\n## Compilers\n\n- [ ] [Crafting Interpreters](https://craftinginterpreters.com/)\n\n## Ruby C extensions\n\n- [ ] [A Rubyist's Walk Along the C-side](https://blog.peterzhu.ca/ruby-c-ext/)\n","funding_links":[],"categories":["Foundations"],"sub_categories":["Getting hired"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffpsvogel%2Flearn-cs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffpsvogel%2Flearn-cs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffpsvogel%2Flearn-cs/lists"}