Year 1 · Quarter 1 Advanced C,zig

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.

68 hours · 11 lessons · 1 enrolled

Course locked

Complete Introduction to Algorithms and Complexity to unlock this course.

Learning Resources

9 curated resources to study this course

Primary Resources

— Study these first

C 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.

zig.guide FREE

Community-maintained guide covering the language from basics to advanced. Well-structured.

Secondary Resources

— Fill gaps or get a different explanation

C 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 reading

C Fundamentals

The original K&R. Terse but authoritative. Worth owning for reference.

Lessons

4 readings 4 exercises 2 projects 1 assessment
1

Part A: C Fundamentals

Enroll to access
2

Part A: C Fundamentals (continued)

Enroll to access
3

Part B: Zig — A Modern Systems Language

Enroll to access
4

Part B: Zig — A Modern Systems Language (continued)

Enroll to access
5

Exercises: Easy (Warm-up)

Enroll to access
6

Exercises: Medium (Core)

Enroll to access
7

Exercises: Hard (Stretch)

Enroll to access
8

Mini-Project

Enroll to access

Project: Memory Inspector in C

PROJECT
Enroll to access

Project: String Library in Zig

PROJECT
Enroll to access

Self-Assessment: Systems Programming (C and Zig)

ASSESSMENT
Enroll to access