Systems Programming (C and Zig)
Systems Programming (C and Zig) covers: Part A: C Fundamentals, Part A: C Fundamentals (continued), Part B: Zig — A Modern Systems Language, Part B: Zig — A Modern Systems Language (continued). Year 1, Quarter 1. Includes 14 exercises and 2 projects.
Complete Introduction to Algorithms and Complexity first
Course locked
Complete Introduction to Algorithms and Complexity to unlock this course.
Learning Resources
9 curated resources to study this course
Learning Resources
9 curated resources to study this course
Primary Resources
— Study these firstC Fundamentals
The best free C tutorial. Written for people who already know another language. Covers pointers, memory, structs, file I/O, the preprocessor. Conversational and practical.
Interactive exercises on malloc, free, memory layout, stack vs heap. Hands-on practice to complement Beej's.
Zig
Learn Zig by fixing small broken programs. Similar to Rustlings. The best hands-on introduction.
Community-maintained guide covering the language from basics to advanced. Well-structured.
Secondary Resources
— Fill gaps or get a different explanationC Fundamentals
David Malan's CS50 starts with C. Weeks 1-5 cover C fundamentals with excellent production quality.
Short, practical C videos on specific topics (pointers, memory leaks, Makefiles, GDB).
Zig
Free online book. Focused, practical, assumes systems programming knowledge.
Comprehensive language reference. Dense but accurate.
Reference
— For lookup, not sequential readingC Fundamentals
The original K&R. Terse but authoritative. Worth owning for reference.