Category Theory and Applications

Category Theory is an incredibly powerful tool traditionally employed within the domain of modern pure mathematics. However, in addition to its extraordinary utility as a tool unifying and connecting diverse areas of mathematics, it has found exciting applications in areas outside of mathematics. Those areas include theoretical physics, quantum mechanics, theoretical and applied computer science, biology, neuroscience, and the list goes on. The power and beauty of category theory is its ability to zoom out and reveal the essential structure of an entity under examination.

This course serves to introduce category theory from the ground up, using applications to illuminate traditionally difficult mathematical concepts. We offer this course primarily to those interested in how this powerful theory can open up access to many deep branches of knowledge, unifying and making clear seemingly disparate and unconnected concepts. Additionally, for those with a CS background or an interest in functional programming, category theory serves as the underlying structure of langagues like Haskell and Maude. Knowledge of category theory will surely aid those wishing to gain a deeper understanding of functional or logic programming.

For a more thorough discussion of why learning category theory is great, we strongly recommend reading:

  • What is applied Category Theory? An introduction to the course on Applied Category Theory taught by John Baez, which was the inspiration for us to try doing this class.
  • The preface of the book we'll be using in the class (and used in the class referenced above), written by David Spivak and Brendan Fong.
  • The prefaces and introductions in two forthcoming books (here, and here) by Noson Yanofsky (whose other book on Quantum Computing for Computer Scientists we highly recommend if you're into that sort of thing).


We will be live steaming this class!

Signup and stay tuned, more info coming soon.

Start Thursday April 13 2023  —  Thursday September 07 2023
Location Los Angeles
Meeting Info Thursdays   1 p.m. — 3 p.m.,  19 meetings,  38 hours in class instruction
Cost FREE   
Section 1
Generative Effects

A first look at generative effects and Ordering systems


Review of sets, relations, functions. Preorders and monotone maps

Meets and Joins

Definition and basic examples, observations and generative effects

Galois Connections

Definition and basic examples, closure operators, and level shifting

Section 2
Getting from a to b

Methods of transition

Symmetric monoidal preorders

Definition and first examples, applied and abstract examples


V-categories, Pre-orders as Bool-categories, Lawvere metric spaces

Constructions on V-Categories

Changing the base of enrichment, enriched functors, Product V-categories

Computing presented V-categories with matrix mult

Monoidal closed, Quantales, Matrix multiplication in a quantale

Section 3
What is a database

First look at data structure


Free categories, presenting categories via path equations, important categories in mathematics

Functors, natural transformations, and databases

Sets and functions as databases. Functors, natural transformations, and the category of instances on a schema

Adjunctions and data migration

Pulling back data along a functor. Adjunctions, left and right pushforward functors

Introduction to limits and colimits

Terminal objects and products. Limits, finite limits in Set, and colimits

Section 4
Can we build it?

What we can do

Enriched profunctors

Feasibility relationships as Bool-profunctors, V-profunctors, and back to co-design diagrams

Categories of profunctors

Composing profunctors, the categories V-prof and Feas


Basic idea of categorification, reflection on wiring diagrams, and monoidal categories

Profunctors form a compact closed category

Compact closed categories. Feas as a compact closed category

Konstantinos Palamourdas, otherwise known as Duncan, graduated with honors from the University of Athens with a double specialization in both Applied and Pure Math, and received a Master’s in Algorithms and Logic from the same university. Afterwards, he got a scholarship from UCLA for a PhD in Math. He then obtained a second Master’s, and a PhD in Mathematical Logic, also from UCLA. His dissertation was on Descriptive Set Theory, a major field of pure mathematics. While at UCLA, he was awarded the Robert Sorgenfrey Distinguished Teaching Award in recognition for his teaching contributions.

He teaches poker and chess to small classes which always fill up early. Since he was young, Duncan has had two major passions in his life: games and puzzles. He has always enjoyed the challenge of an intelligent brainteaser, or the inherent complexity of games like chess and poker — which is why he got involved with math and math Olympiads at a very young age.

Duncan attributes his love of teaching to his parents. “My parents were the best and most efficient educators I have encountered in my entire life, and for that I will be eternally grateful! Their influence was so tremendous that I found joy in helping my own classmates with their homework while I was still in elementary school. Second, teaching helps me learn, because it pushes my cognitive limits to the next level. I am a big believer that if you can’t explain something in very simple terms then you don’t truly understand it yourself. As a result, I love the challenge of decomposing complicated ideas to their bare essentials. That’s because it really does affect my own perception of the world. I guess it’s a complex quest to conquer simplicity. And I love every minute of it!”
After leaving a math program, Grant worked at a startup focusing on mathematical modeling and programmatic trading of derivative securities, an area where neural networks, random forests, and support vector machines were buzzwords long before they were heard everywhere in the Silicon Valley. After that, he left the industry to pursue other, more scientific interests, along with teaching.

The intersection of algorithms, mathematics, computer science, and biology has always been a passion for him, and he spent 5 years working on software in a synthetic biology lab at Caltech. He is now a senior research scientist in biomathematics.

Grant is passionate about teaching anyone who will listen about all kinds of different topics in CS, math, etc, believing that everyone should have the opportunity to learn at the highest levels, where community and scientific knowledge are available for those who wish to pursue it.