Module 2: Categories: The Language of Structure

This module introduces the core objects of category theory: categories, objects, and morphisms. The goal is fluency before formality. You will discover that structures you already work with daily — directed graphs, relational databases, partial orders, typed programming languages — are categories in disguise. By the end of this module you will be comfortable with the basic vocabulary and able to recognize categorical structure throughout computer science.

Learning Objectives

  • Define a category precisely via objects, morphisms, composition, and identity axioms.
  • Verify the associativity and identity laws for a given candidate category.
  • Identify Set, Graph, Poset, and Vect as concrete categories with explicit morphisms.
  • Model a relational database schema as a category and a database instance as a functor into Set.
  • Distinguish between small categories, large categories, and the category Cat.
  • Explain why structures familiar from CS — graphs, type systems, databases — are categories.

Materials

Key Concepts

Central Concepts from Prerequisites