Command Line Interfaces (CLI)

Whiz around your computer’s folders and modify files at lightning speed like a pro.

Clojure (or Common Lisp)

A language from the Lisp family with simple syntax and a new approach to writing code.


Introduction to a dynamic, Python-like language that can do scientific calculations at high speed.

PyWeek Game Jam Report

Seven days to design, code, and debug a program with PyGame. What could go wrong?

Kotlin: A New(-ish) Kid on the Block

An introduction to a hip new alternative to Java. It’s all the rage in android development!

Piet: A Language of Colors

This programming language uses colors instead of text and punctuation to add and perform other tasks.

Designing a Programming Language: Part II

In this installment, learn about how programming languages are designed.

Chain of Command, Command of Language

How do computers predict what text you want to write next? Here's how to create predictive stories.

Get Started with Scratch

Scratch is a fun block-based programming language that's easy to learn once you understand the basics.

On Sorting

Have you ever put books in alphabetical order? What do you think the best method of alphabetizing would be?

How to Run a Turing Machine

A pen and paper computer that can do what computers do today.

P v NP: A Modern Mystery

Can we measure the time and steps required for things to happen?

How to Build a Programming Language

Software languages don't magically appear. They're created by design. First in a series.

Draw with SVG Code

This project uses basic math skills, a text editor, and a web browser to draw simple pictures.

Garbage Collection

Computers collect garbage the way humans do. Here's how they manage memory space.

Version Control

How do you keep track of many people working on the same set of code?

What are Keywords in Programming Languages?

Everyone knows the difference between saying, “Let’s eat, grandma!” and “Let’s eat grandma!” Computers don't.

What Does Your Web Browser Know About You?

Your web browser knows (and tells) a lot more about you than you might realize.

How to Pick a Programming Language

When you pick a programming language to learn first, it helps to figure out what software you want to create.