Build programming skills one lesson at a time

Read a short explanation, try an example, then write and run your own code. Start with variables and output before moving into functions and larger programs.

Use debugging exercises to follow data across files and understand why a program behaves differently from its contract.