Teb's Lab
A curious human who just wants to watch the world learn.


Featured Projects

Open Source Education

We believe that quality education should be accessible to everyone.

The following educational materials have been open-sourced and released to the public domain as our contribution to the world in support of that goal.


Introduction to Deep Learning

An ongoing project to introduce crucial concepts of machine learning and neural networks. This curriculum includes extensive reading suggestions and a series of 15+ Jupyter Notebooks demonstrating key Deep Learning concepts in Python using the Keras framework. Start from the very beginning and learn about deep learning with practical, hands-on tutorials.


Graph Theory Fundamentals

Our graph theory fundamentals content is not quite a textbook, it’s not quite an online course, but an ordered collection of materials designed to help instructors and students alike learn the fundamentals of graph theory. This seven article series, and companion Github repo gives you the opportunity to read about and practice critical topics from the world of graph theory. It’s all open source and relinquished to the public domain.


Conway’s Game of Life

Conway’s Game of Life is a classic. Invented by John Conway in 1970, the “zero player game” is a wonderful example of emergent behavior. Although each cell follows the same simple rules, wonderful patterns emerge. As time went on, the Game was shown to be Turing Complete, meaning any program could be represented as an initial state to Conway’s Game of Life given a large enough grid. That’s incredible!

I made the original, then I had fun playing with the rules, making “Conway’s Editor”, and exploring the world of “Cellular Automata”. I hope you enjoy it.

logo dark no text.png

Data Structures and Algorithms Curriculum

This repository contains curriculum materials designed to help schools, educators, companies, non-profits, or anyone at all teach an introductory computer science course. The materials here target concepts at the very core of computer science, and are focused primarily on introducing data structures and algorithms to students who have already been learning to program.

All the material in this repository has been released to the public domain, feel free to copy, clone, and modify these materials for any purpose whatsoever.

hash tables.png

Hash Tables and Hash Functions

Hash tables and hash functions are at the heart of computer programming. They are ubiquitous and diverse. From checksums to crypto currency and from chaining to cuckoo hashing, hash functions have earned their place in the computer science hall of fame. This repository is meant to help you learn about checksums and hash tables. Read each section, then build a series of hash functions and incorporate them into a hash table. This is an npm package, with tests provided.


Learn Computational Genetics

An ongoing project to explore the connections between genetics and computer programming. Start from the basics and learn how to process genetic data. New articles and code samples will be added as they are created.