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
| Module | Description |
|---|---|
| 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. |
