Applied Compositional Thinking for Engineers (ACT4E) is a new online, free course which will take place in January 2021

It is open to everyone interested in learning how concepts from applied category theory can be useful for tackling engineering problems.

The course is free but registration is required Click the button below to sign up. We will send you an invite to the Zulip group chat for the course, and add you to the mailing list where you'll get the updates about the materials as we go through the course.

Sign up to the class

Subscribe to updates: If you do not have the time to follow this edition, you can also subscribe to a mailing list to keep updated about the next editions of the class and related activities. 

Sign up for email updates

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.

Course Details

Dates and times: see schedule below for the detailed schedule. The lecture times alternate 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 NetworksDr. 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): 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: Feedback, trace, duals. 
  • Session 12 (Feb 3rd, 14:00 UTC): Duals, compact closed categories.
  • Guest Lecture (Feb 4th, TBD): 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).



Guest lectures: