Concepts

Discrete Math: Propositional Logic and Logic Circuits

Discrete math is an important computer science skill that introduces you to logic and logic circuits.

Invention Literacy

A thoughtful essay to inspire the start of a new school year.

Forks

Forks are used in software development to describe how projects and software work.

The Ant and The Grasshopper

A computational fairytale updated for the computer age, a grasshopper learns algorithms and planning ahead.

REST

REST is a standard way for software applications to work with each other to do things.

What is the Blockchain?

Blockchain software technology works as a distributed ledger to record what was done and when.

ASCII

ASCII is a set of letters, numbers, and characters computers use to communicate accurately.

Big-O Notation and the Wizards War

If you were a wizard, wouldn't you want to know how to scale your spells for maximum effect?

The Tragedy of the Commons

How we manage limited resources and share costs is an important question far beyond software development.

Loops, a Fairy Tale

This Computational Fairy Tale explains how loops work through the sad tale of Simon, the hapless apprentice to a blacksmith.

What is Artificial Intelligence?

Computers can be programmed to make intelligent decisions. Does that make a computer intelligent?

What is an Operating System?

Operating system software is a key part of all computers. But what are they and how do they work?

What is the Internet of Things?

The Internet of Things (IoT) connects dumb devices like refrigerators to the internet and uses software to connect them to our daily lives.

FPS

A video concept, frames per second, also applies to computer screens

CRUD

CRUD is a powerful concept used everywhere in software programming that uses a database.

Code Golf

Problems software programmers can do to practice their skills, from beginner to advanced.

Design Patterns and Anti-Patterns

How programmers use design patterns and anti-patterns to develop software.

Floating Point Numbers

While many people are familiar with floating point numbers in school math problems, they're very useful in computing.

What is 3D Printing?

A basic introduction to 3D printing with concepts, examples, and a glossary of 3D terminology.

Destinations and Systems

Designers of products, content, and software use the concepts of destinations and systems to create content and apps for all our devices.

FTP

FTP is a mysterious yet extremely useful way to send data across computer networks. Here's a short overview with links.

Game Play

You can use the concepts of game play to turn almost any task or information into a game. Assuming you can define game play.

How to Describe a Database to a Child

Databases are mysterious but critical technology. Here's one simple way to describe them to kids (and adults).

Cookies

While not as delicious as real cookies, website cookies provide a critical and useful benefit for anyone who uses a website.

Principle of Least Astonishment

The Principle of Least Astonishment sounds very Monty Python. But it is a key concept in software and interface design.

BOGONs

Bogons are not an evil race of aliens. But they do shine a light on one part of the internet little known outside of a few security technologists.

CAPTCHA

We've all used Captchas and found some impossible to solve. Here's why they exist, how they work, and less frustrating alternatives.

What is an Algorithm?

Algorithms control our lives online and offline. Here are some examples to show what is an algorithm and how they work.

Traceroute

A computer command used to diagnose network problems also lets you see how data hops across the internet.

What is an API?

APIs can be a fun, easy to use, and easy to learn way to retrieve and mash up data online.