YOUR C LEARNING PATH

A little more C.
A little more confidence.

One idea at a time, with examples you can follow and checkpoints to see what’s clicking. New here? Begin with chapter one. Know a little already? Jump right in.

Before you start

Bring basic programming experience with functions, loops, and arrays. This focused course develops explicit memory and pointer reasoning; it is not a first-programming course.

Review a foundation whenever you need it: First Python program · Decisions and loops · Small functions

13 open chapters. Your progress is saved as you go.

Your chapters

Choose any starting point
  1. 01

    Read a complete C11 program and trace its arithmetic.

    Start here, or skip ahead
    Open chapter: Values and explicit computation
  2. 02

    Decompose a calculation and prove that a loop visits the intended inputs.

    Open whenever you’re ready
    Open chapter: Functions and bounded loops
  3. 03

    Check whether an operation is representable before evaluating it.

    Open whenever you’re ready
    Open chapter: Integer limits and checked arithmetic
  4. 04

    Track element bounds and distinguish a character array from a string literal.

    Open whenever you’re ready
    Open chapter: Arrays, lengths, and terminated text
  5. 05

    Detect malformed input instead of silently accepting a numeric prefix.

    Open whenever you’re ready
    Open chapter: Text parsing and complete-consumption checks
  6. 06

    Manipulate selected bits without changing unrelated state.

    Open whenever you’re ready
    Open chapter: Unsigned masks and packed flags
  7. 07

    Use pointers to update a caller’s object without crossing its lifetime or bounds.

    Open whenever you’re ready
    Open chapter: Addresses, borrowing, and lifetime
  8. 08

    Group related data and distinguish a missing result from a valid zero.

    Open whenever you’re ready
    Open chapter: Structs and explicit success results
  9. 09

    Expose one consistent interface across translation units.

    Open whenever you’re ready
    Open chapter: Headers, linkage, and separate compilation
  10. 10

    Pass behavior through an exact callable interface.

    Open whenever you’re ready
    Open chapter: Function pointers and comparator contracts
  11. 11

    Keep byte values distinct from stream status.

    Open whenever you’re ready
    Open chapter: Streams, end-of-file, and error handling
  12. 12

    Manage an allocated object through every success and failure path.

    Open whenever you’re ready
    Open chapter: Allocation and ownership contracts
  13. 13

    Preserve the original allocation when growth fails.

    Open whenever you’re ready
    Open chapter: Resizing allocations without losing ownership

PUT IT TOGETHER

Final assessment & certificate

30 multiple-choice questions and 2 written coding problems. Pass the knowledge section at 80% overall and at least 50% in every chapter area, complete and review the written practice, and meet the attempt-integrity checks to unlock your certificate.

The certificate records a CodeQuest foundations assessment. Written work is self-reviewed; identity and independent proficiency are not verified.

Open final assessment

Take an issuer-recorded assessment with a verifiable certificate

Continue the original guided missions