The first season of Applied Compositional Thinking for Engineers (ACT4E) was taught in January 2021.
It was open to everyone interested in learning how concepts from applied category theory can be useful for tackling engineering problems.
Subscribe to updates: You can subscribe to a mailing list to keep updated about the next editions of the class and related activities.
Help us advertise
Please share the official course flyer or the video below to help us advertise the course.
How can Applied Category Theory be useful for engineering?
In many domains of engineering it would be beneficial to think explicitly about abstraction and compositionality, to improve both the understanding of problems and the design of solutions.
A kind of mathematics particularly well-suited for thinking about compositionality is applied category theory. However, at present, this mathematics is relatively inaccessible to the average engineer. This is due in part to the inertia of the education system: outside of computer engineering, only little algebra is taught, in favor of analysis and related fields. This made sense some decades ago, but does not reflect today's real-world needs.
Recently, many good expositions of category theory for applications have appeared (see resources) yet to date, none are oriented explicitly toward engineering. This course will fill this gap. We will introduce the framework of monotone co-design as a means to teach basic concepts of category theory alongside principles of compositional engineering. Special care will be taken to illustrate the ideas with concrete examples (especially from autonomous robotics), and to indicate applications.
Dates and times: see schedule below for the detailed schedule. The lecture times alternated between 14:00 UTC and 18:00 UTC, and have been decided by following the participants' preferences;
Each session consists of a 50 minute interactive online lecture, allowing for questions and discussion.
We interact using Zulip (similar to Slack), and have a wiki for collaboration.
Syllabus and Schedule
Note: all materials and recordings are posted in the lectures page.
- Session 0 (Jan 7th, 18:00 UTC): Introduction
- Session 1 (Jan 11th, 18:00 UTC): Transmutation: How things transform into each other.
- Session 2 (Jan 12nd, 14:00 UTC): Connection: How things connect to each other.
- Session 3 (Jan 13th, 18:00 UTC): Specialization.
- Guest Lecture (Jan 14th, 14:00 UTC): Applied Category Theory: Towards a science of interdisciplinary - Dr. David Spivak
- Session 4 (Jan 15th, 14:00 UTC): Combining: Products.
- Office Hours (Jan 16th)
- Session 5 (Jan 18th, 18:00 UTC): Choosing: Coproducts.
- Session 6 (Jan 20th, 14:00 UTC): Trade-offs: Posets, posets with more structure, (anti)chains, upper sets, Pareto fronts.
- Guest Lecture (Jan 21st, 18:00 UTC): The Language of Networks - Dr. Brendan Fong
- Session 7 (Jan 22nd, 14:00 UTC): Life is hard: Monotonicity, functors.
- Office Hours (Jan 23rd)
- Session 8 (Jan 25th, 18:00 UTC): Duality: Duality of design, opposite categories, adjunctions.
- Session 9 (Jan 27th, 14:00 UTC): Feasibility: Profunctors, boolean profunctors, design problems.
- Guest Lecture (Jan 28th, 18:00 UTC): An Introduction to Monads - Dr. Paolo Perrone
- Session 10 (Jan 29th, 14:00 UTC): Parallelism: Parallel composition, symmetric monoidal categories.
- Office Hours (Jan 30th)
- Session 11 (Feb 1st, 18:00 UTC): Feedback: Duals, compact closure, trace.
- Session 12 (Feb 3rd, 18:00 UTC): Optimization: Computation and co-design
- Guest Lecture (Feb 4th, 20:00 UTC): Category Theoretic Representations of Structured and Semistructured Data - Prof. Michael Johnson
- Session 13 (Feb 5rd, 18:00 UTC): Summary, sketch of further topics and applications.
Algebra: at the level of a bachelor’s degree in engineering.
Analysis: ODEs, dynamical systems.
Familiarity with basic physics, electrical engineering, mechanical engineering, mechatronics concepts (at the level of bachelor's degree in engineering).
- Dr. Andrea Censi, Senior Researcher, ETH Zürich (censi.science)
- Dr. Jonathan Lorand, Postdoctoral Researcher, ETH Zürich (lorand.earth)
- Gioele Zardini, PhD Student, ETH Zürich (gioele.science)