Skip to content

Learn to program

This course teaches you to program, starting from nothing. You don’t need to have written any code before. By the end, you’ll have written command-line programs, solved classic problems with algorithms, and built desktop apps with windows, buttons and saved data.

You’ll learn with Tessel. It’s a good first language: it’s small and readable, it catches many mistakes before your program runs and explains them in plain words, and the programs you write are real native programs, as fast as ones written in Go or Swift. Everything you learn here (values, decisions, loops, functions, data structures, types, algorithms) carries over to any other language you pick up later.

Each lesson introduces a few ideas, with small examples you can run and change. Then:

  • Common mistakes show the errors you’re likely to run into, and what Tessel says about them.
  • Exercises at the end of each lesson practice what you learned, from easy to harder. Each has a solution you can reveal, but try first: that’s where the learning happens.
  • Projects in the last part put everything together into complete programs.

Work through the lessons in order; each one builds on the ones before. Type the examples yourself rather than copying them: it’s slower, and it’s how the ideas stick.

  • A Mac (Windows support is coming). Install Tessel with one command.
  • A text editor, or the Tessel IDE that comes with Tessel.
  • About an hour per lesson, and some patience with yourself. Everyone gets errors; reading them is part of the skill.

Ready? Start with 1. Your first program.