← Back to Tools
C

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

    Variables, Data Types & Constants

    Declaring variables, the basic data types and their sizes, format specifiers, type conversion, and constants.

  3. 3

    Operators & Booleans

    Arithmetic, assignment, comparison, and logical operators; integer division and remainder; booleans with stdbool.h; and precedence.

  4. 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. 5

    Loops

    while, do-while, and for loops; break and continue; nested loops; and avoiding infinite and off-by-one errors.

  6. 6

    Arrays

    Declaring and initializing arrays, indexing and bounds, looping over arrays, finding max/min/average, and two-dimensional arrays.

  7. 7

    Strings

    Strings as null-terminated char arrays, string literals, string.h functions, character functions, and safe string handling.

  8. 8

    User Input & Math

    Reading input with scanf and fgets, checking scanf's return value, mixing them safely, and the math.h library.

  9. 9

    Memory Addresses & Pointers

    Memory addresses, declaring and dereferencing pointers, passing by reference, pointers and arrays, pointer arithmetic, and NULL.

  10. 10

    Functions & Recursion

    Defining functions, parameters and return values, declarations (prototypes), scope, header files, and recursion.

  11. 11

    Structs & Enums

    Grouping data with structs, typedef, arrays of structs, structs and pointers (->), nested structs, and enums.

  12. 12

    Dynamic Memory Management

    Stack vs heap, malloc, calloc, realloc, and free, checking for NULL, memory leaks, and dangling pointers.

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

Start learning — it's free →

C is free to study, self-paced. Pass the final exam to earn an optional Certificate of Completion for $40.