Course Purpose

The purpose of this course is to introduce students to the mathematical language of structure: category theory, and work towards an understanding of how categorical structures can solidify programming or data management practices. A particular focus will be given to diagrammatic representations of data structures, including combinatorial structures and their generalisations.

 

 

Course Learning Outcomes

CLO 1: Illustrate key concepts and examples in category theory.

CLO 2: Examine and derive properties about different categories.

CLO 3: Integrate knowledge of categorical structures to various graph objects.

CLO 4: Develop graph representations in modeling and designing graph database structures.

 

Course Content

ModuleDescription
1. Why do diagrams matter?An introduction to systems thinking and visual modeling, exploring how diagrams serve as the first step in translating complex ideas into formal structures.
2. What is a graph?Defining the fundamental mathematical building blocks of networks—nodes and edges—and establishing a common language for connectivity.
3. Why use graphs?Investigating the practical utility of graph-based models in representing real-world relationships and complex data dependencies.
4. How can graphs be enhanced?Moving beyond simple networks to explore combinatorial structures and generalizations that add depth and context to graph models.
5. What are databases?A look at how data is organized at scale, specifically focusing on how graph database structures differ from traditional relational models.
6. How do we study structure?An entry point into Category Theory, providing the high-level mathematical framework used to unify and analyze different types of structures.
7. How can we store data?Applying categorical principles to the physical and logical storage of information to ensure data integrity and accessibility.
8. How do we move data around?Exploring data transformation and transfer as categorical mappings, ensuring that the "shape" of information is preserved during transit.
9. What is data manipulation?Developing techniques for querying and altering data structures using the logic of compositionality and structural properties.
10. How are pipelines categorical?The capstone module: connecting theoretical category theory to modern data engineering pipelines to create robust, modular, and scalable systems.