Tool
C
The low-level foundation most other languages build on
Learn C from syntax and data types to pointers, structs, dynamic memory, and files — compiling and running real C in every chapter.
14
Chapters
36
Hours (estimated)
1
Self-paced
Part-time
About 12 weeks
1 hour a day, 3 days a week
Full-time
About 4 weeks
3 hours a day, 3 days a week
Estimated from 14 chapters (notes, practice, labs, quiz, exercise, and challenge) plus the final exam. Go at your own pace.
Curriculum
14 chapters, each with a tutorial, a live example, a quiz, an exercise, a challenge, and class practice.
- 1
Introduction to C
What C is and where it's used, compiling and running a program, the structure of main, printf output, and comments.
- 2
Variables, Data Types & Constants
Declaring variables, the basic data types and their sizes, format specifiers, type conversion, and constants.
- 3
Operators & Booleans
Arithmetic, assignment, comparison, and logical operators; integer division and remainder; booleans with stdbool.h; and precedence.
- 4
Conditions: if, else & switch
Branching with if, else if, and else; nesting; the ternary operator; switch with break and default; and writing clear conditions.
- 5
Loops
while, do-while, and for loops; break and continue; nested loops; and avoiding infinite and off-by-one errors.
- 6
Arrays
Declaring and initializing arrays, indexing and bounds, looping over arrays, finding max/min/average, and two-dimensional arrays.
- 7
Strings
Strings as null-terminated char arrays, string literals, string.h functions, character functions, and safe string handling.
- 8
User Input & Math
Reading input with scanf and fgets, checking scanf's return value, mixing them safely, and the math.h library.
- 9
Memory Addresses & Pointers
Memory addresses, declaring and dereferencing pointers, passing by reference, pointers and arrays, pointer arithmetic, and NULL.
- 10
Functions & Recursion
Defining functions, parameters and return values, declarations (prototypes), scope, header files, and recursion.
- 11
Structs & Enums
Grouping data with structs, typedef, arrays of structs, structs and pointers (->), nested structs, and enums.
- 12
Dynamic Memory Management
Stack vs heap, malloc, calloc, realloc, and free, checking for NULL, memory leaks, and dangling pointers.
- 13
File Handling
Opening files with fopen and modes, writing with fprintf and fputs, reading with fgets and fscanf, closing, and checking for errors.
- 14
Errors, Debugging & Input Validation
Compile errors vs runtime errors, return codes and errno, validating input with strtol, debugging with gdb and sanitizers, and defensive habits.
C is free to study, self-paced. Pass the final exam to earn an optional Certificate of Completion for $40.