Public Key Cryptography

This cryptography method is based on the fact some tasks are relatively easy to do, but extremely difficult to undo.


Another mysterious four-letter acronym that helps secure information online.

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.


This odd acronym offers security protection beyond your password. Here are a few examples of how 2FA works.

Software Libraries

Programmers use libraries but instead of books they create and share code, often for free, to help solve common problems.

Fisher-Yates Shuffle

What sounds like a country western dance actually is an efficient way to sort large sets of data randomly.

Computational Thinking

The ability to identify patterns, decompose large problems into small parts, develop algorithms to solve problems, and generalize to find solutions.

Graph Theory

The dots and lines used in graph theory can solve interesting and complicated problems.

The Cloud

If clouds are not digital, what is cloud computing?

What is VR? AR?

Virtual and augmented reality replace or add computing to our real world experience.

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.

The Ant and The Grasshopper

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


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 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.


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


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

Design Patterns and Anti-Patterns

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

Code Golf

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

What is 3D Printing?

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

Floating Point Numbers

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

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 is a mysterious yet extremely useful way to send data across computer networks. Here's a short overview with links.