From 048034ffc2028e0fb72ec1b120837a1f31c6dcf2 Mon Sep 17 00:00:00 2001 From: rby90 <34209017+rby90@users.noreply.github.com> Date: Tue, 3 Apr 2018 07:37:09 -0400 Subject: [PATCH] Create README.md --- README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..206cff2 --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +# C-Project-Based-Tutorials + +A list of C tutorials that work through the creation of small and or large projects. + +## Books + +- [Build Your Own Lisp](http://www.buildyourownlisp.com/) +- [Crafting Interpreters](http://www.craftinginterpreters.com/) +- [The little book about OS development](https://littleosbook.github.io/) +- [Operating Systems: From 0 to 1](https://tuhdo.github.io/os01/) +- [Beej's Guide to Network Programming](http://beej.us/guide/bgnet/html/multi/index.html) +- [Sudoku Programming with C](https://www.amazon.com/dp/1484209966/) +- [Making 8-bit Arcade Games in C](https://www.amazon.com/dp/1545484759/) +- [A Retargetable C Compiler: Design and Implementation](https://www.amazon.com/dp/0805316701/) +- [Game Engine Black Book: Wolfenstein 3D](https://www.amazon.com/dp/1539692876/) + +## Articles + +- [Let's Build a Simple Database](https://cstack.github.io/db_tutorial/) +- [Linux Containers in 500 Lines of Code](https://blog.lizzie.io/linux-containers-in-500-loc.html) +- [Let's Write a Malloc](https://danluu.com/malloc-tutorial/) +- [A Regular Expression Matcher](https://www.cs.princeton.edu/courses/archive/spr09/cos333/beautiful.html) +- [Write a Shell in C](https://brennan.io/2015/01/16/write-a-shell-in-c/) +- [Writing a FUSE Filesystem](https://www.cs.nmsu.edu/~pfeiffer/fuse-tutorial/) +- [Build Your Own Text Editor](https://viewsourcecode.org/snaptoken/kilo/) +- [Write a hash table in C](https://github.com/jamesroutley/write-a-hash-table) +- [Let’s write a Kernel](https://arjunsreedharan.org/post/82710718100/kernel-101-lets-write-a-kernel) +- [How to Program an NES game in C](https://nesdoug.com/) +- [Baby's First Garbage Collector](http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/) +- [Implementing a virtual machine in C](https://felixangell.com/blog/virtual-machine-in-c) +- [Scheme from Scratch](http://peter.michaux.ca/articles/scheme-from-scratch-introduction) +- [Writing a C Compiler](https://norasandler.com/2017/11/29/Write-a-Compiler.html) +- [Let's code a TCP/IP stack](http://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp/) +- [Write a C Interpreter](https://github.com/lotabout/write-a-C-interpreter) +- [Hack the Virtual Memory](https://blog.holbertonschool.com/hack-virtual-memory-stack-registers-assembly-code/) +- [Multiplayer WebSocket Game server written in C](http://www.gamedevcraft.com/2016/08/part-1-multiplayer-websocket-game.html) +- [Emulator 101](http://emulator101.com/) +- [How to Program a Text Adventure in C](https://helderman.github.io/htpataic/htpataic01.html) +- [Linux From Scratch](http://www.linuxfromscratch.org) + +## Video Series + +- [Chess Engine In C](https://www.youtube.com/playlist?list=PLZ1QII7yudbc-Ky058TEaOstZHVbT-2hg) +- [Learn Video Game Programming in C](https://www.youtube.com/playlist?list=PLT6WFYYZE6uLMcPGS3qfpYm7T_gViYMMt) +- [Let's Make: Dangerous Dave](https://www.youtube.com/playlist?list=PLSkJey49cOgTSj465v2KbLZ7LMn10bCF9) +- [Coding A Sudoku Solver in C](https://www.youtube.com/playlist?list=PLkTXsX7igf8edTYU92nU-f5Ntzuf-RKvW) +- [Coding a Rogue/Nethack RPG in C](https://www.youtube.com/playlist?list=PLkTXsX7igf8erbWGYT4iSAhpnJLJ0Nk5G) +- [Learn Socket Programming in C from Scratch](https://www.udemy.com/learn-socket-programming-in-c-from-scratch/) +- [Bitwise](https://github.com/pervognsen/bitwise) +- [Handmade Hero](https://handmadehero.org/)