Improve your application with theory

Computer Science doesn't have to be scary! Watch short lessons with Real World Examples to see how new constructs and theory can help you solve problems faster and easier.

Latest Lesson

Why Theory?

There are dozens of sites that can teach you the latest and greatest tools of your development ecosystem of choice, but it can be hard to use new tools or techiques if you don't understand their foundation.

Bits and Trees provides short, concise, and dense screencasts aimed to teach the underlying theory and fundamental building blocks for things that you can use every day. Ever needed to create a nested comment system? Understanding trees can make your job infinitely easier. And if you're going to build a tree, you'll likely want to have a good grasp on recursion.

We'll explain concepts and give you real world examples of how these tools and ideas can be applied to your code to make your life easier.

Improve Your Code Now!

Things You'll Learn

Data Structures

When would you want to use a binary tree over an array? What impact will it have on your program? We'll help you grok the building blocks of software and show you how to decide when you may want one over another.

Functional Programming

Touted for making writing software simpler, learning functional programming can still be challenging coming from an imperative or object-oriented background. We'll introduce you to thinking about solving problems in functions; from passing functions as arguments, to focusing on immutability, referential transparency, and beyond! In later lessons, you might even defeat your first monad.


"To understand recursion, one must first understand recursion." We'll look past the joke, demonstrate how stack-based languages operate when calling functions, and then show you how to build up recursive functions to be more and more powerful. When you're done, you'll forget that recursion was ever a scary word to begin with!

Subscribe for Updates!