Eating dog food doesn't sound like much fun but it's an important part of creating software.
The ability to identify patterns, decompose large problems into small parts, develop algorithms to solve problems, and generalize to find solutions.
The dots and lines used in graph theory can solve interesting and complicated problems.
If clouds are not digital, what is cloud computing?
Virtual and augmented reality replace or add computing to our real world experience.
Discrete math is an important computer science skill that introduces you to logic and logic circuits.
A thoughtful essay to inspire the start of a new school year.
Forks are used in software development to describe how projects and software work.
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.
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.
If you were a wizard, wouldn't you want to know how to scale your spells for maximum effect?
How we manage limited resources and share costs is an important question far beyond software development.
This Computational Fairy Tale explains how loops work through the sad tale of Simon, the hapless apprentice to a blacksmith.
Computers can be programmed to make intelligent decisions. Does that make a computer intelligent?
Operating system software is a key part of all computers. But what are they and how do they work?
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.
Problems software programmers can do to practice their skills, from beginner to advanced.
How programmers use design patterns and anti-patterns to develop software.
A basic introduction to 3D printing with concepts, examples, and a glossary of 3D terminology.
While many people are familiar with floating point numbers in school math problems, they're very useful in computing.
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.
You can use the concepts of game play to turn almost any task or information into a game. Assuming you can define game play.
While not as delicious as real cookies, website cookies provide a critical and useful benefit for anyone who uses a website.
Databases are mysterious but critical technology. Here's one simple way to describe them to kids (and adults).
The Principle of Least Astonishment sounds very Monty Python. But it is a key concept in software and interface design.