Free · 23 activities · nothing to install

Free programming and coding activities for your class

Students learn to program by writing programs that do something they can see. Here they start with a first line of code, meet nine languages in five-minute introductions, then write and run real programs in a Linux terminal with nothing installed on the computer. For students who want to see code move something, there are robots, drones and battle bots to program in blocks, and then in Python or JavaScript when they are ready. It is grouped the way a course runs, and each activity has a line on what it is good for in class.

The Linux terminal. The student installs Python with apt install python, writes a five-line program into avg.py with echo, shows it with cat, and runs it with python avg.py. It prints the average of five scores, 83.59999999999999, and a bar of hash marks for each score.
Install Python with apt, write a program, run it. The average prints as 83.59999999999999, which is a lesson on floating point all by itself.
A small robot following a curving black line on a white floor in the Robotics simulator.
Robotics: a line follower with one light sensor, programmed in blocks or Python.
A quadcopter flying through a ring on a course of rings in a park, in the Drone Simulator.
Drone Simulator: a program flies the drone through the rings, and a wrong number shows.

Click any picture to see it full size.

First steps

What a program is, before students pick a language.

Real languages, from the terminal

A five-minute introduction to each, then write and run it for real.

Guided walkthrough · 5-7 min Coding in the Terminal

Start here: how to write, save and run a program from the command line, in any of nine languages.

Learn to write and run code in Python, JavaScript, Lua, C++, Ruby, TypeScript, PHP, Scheme, and BASIC right from the terminal.

Guided walkthrough · 5-7 min Intro to Python

Variables, loops and functions in the most common first language.

Learn the basics of Python: variables, loops, functions, and what makes it the #1 language for beginners and data science.

Guided walkthrough · 5-7 min Intro to JavaScript

The language of the web, and a good second language after Python.

Learn JavaScript fundamentals: variables, arrays, functions, and why every website runs on JS.

Guided walkthrough · 5-7 min Intro to TypeScript

Types that catch bugs before the program runs. For students who already know JavaScript.

Learn TypeScript: type annotations, interfaces, and why types catch bugs before your code runs.

Guided walkthrough · 5-7 min Intro to C++

Types and control flow in the language of game engines and operating systems.

Learn C++ fundamentals: types, control flow, and what makes it the language of game engines and operating systems.

Guided walkthrough · 5-7 min Intro to Lua

The small language inside many games. A gentle start for game-minded students.

Learn Lua basics: tables, functions, and why game engines love this tiny language from Brazil.

Guided walkthrough · 5-7 min Intro to Ruby

Everything is an object: a friendly way into object-oriented ideas.

Learn Ruby: objects everywhere, blocks, iterators, and the language behind GitHub and Shopify.

Guided walkthrough · 5-7 min Intro to PHP

The server-side language behind WordPress, and behind this site.

Learn PHP: variables, arrays, functions, and the language that powers WordPress and this platform.

Guided walkthrough · 5-7 min Intro to Scheme

Lists, recursion and lambda: a different way to think, for advanced students.

Learn Scheme: lists, recursion, lambda, and the language that taught generations of CS students.

Guided walkthrough · 5-7 min Intro to BASIC

Line numbers and GOTO: a history lesson students can run.

Learn BASIC: line numbers, GOTO, and the language that launched Microsoft and taught millions to code.

Free account Linux Terminal

Where the real programs are written and run: install a language with apt, edit in nano or vim, keep the files.

A real command line, with a filesystem and logs, in a browser tab.

Code that makes things

The same ideas, pointed at web pages, music and 3D objects.

Code that moves things

Programs that read sensors and drive motors, in blocks first and real code after.

Using it with a class

The introductions take about five minutes each and open with no account, so a class can compare two languages in one period. The Linux terminal needs a free account, and a free class gives every student one without an email address. Languages install inside the student's own terminal with apt, the way they do on a real Linux machine, and the student's files stay in their account.

In short

These are free programming activities for middle school through introductory college: a first line of code with variables, conditions and loops, five-minute introductions to Python, JavaScript, TypeScript, C++, Lua, Ruby, PHP, Scheme and BASIC, a Linux terminal where students install a language with apt and write and run real programs, code that draws, makes music and builds 3D shapes, and robots, drones and battle bots programmed in blocks, Python or JavaScript. It all runs in the browser with no install.

Common questions

Do students need an account?

Not for the introductions, the Robotics and Drone simulators or BotForge; those open in the browser with no sign-up. The Linux terminal, where students write and keep their own programs, needs a free account, and a free class of up to 50 students needs no student email addresses.

Which languages can students actually run?

Python, JavaScript, TypeScript, C and C++, Lua, Ruby, PHP, Scheme and BASIC run in the terminal after installing them with apt. They run in the browser, so a few things are missing: Python has the standard modules students use most, but not numpy or pandas.

What grade levels is this for?

The first steps, turtle graphics and block programming work from middle school. The language introductions and the terminal suit high school and introductory college courses.

Will it run on school Chromebooks?

Yes. Everything runs in a browser tab with nothing to install.

Still have a question? Ask us, and a person will write back.

Start with a free class

Everything above opens with no account. A free class adds your students, each with a username and password and no email needed, so their progress and the terminal work are kept.

Page last reviewed September 2026.