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.
How the course works
Section titled “How the course works”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.
What you need
Section titled “What you need”- 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.
The lessons
Section titled “The lessons”Foundations
Section titled “Foundations”Organizing code and data
Section titled “Organizing code and data”Modeling your world
Section titled “Modeling your world”Building real programs
Section titled “Building real programs”- 16. Files and saving data
- 17. Algorithms
- 18. Project: a to-do list in the terminal
- 19. Your first app with a window
- 20. Project: a complete app
- 21. Where to go next
Ready? Start with 1. Your first program.