Files
c-project-based-tutorials/README.md
2018-04-08 08:28:09 -04:00

53 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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/)
- [Modern Compiler Implementation in C](https://www.amazon.com/dp/052158390X/)
- [The Craft of Text Editing](https://www.amazon.com/dp/1411682971/)
- [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)
- [Lets 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)
## 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/)