Category theory has long served as a deep mathematical theory for investigations in programming languages and semantics. Recent years have seen renewed interest in applying category theory to programming languages. This past fall, I redesigned a graduate class called “Category Theory for Computer Scientists”. Though I admittedly do not consider myself to be an expert in category theory, I think the design of this kind of class is underexplored and there is room for experimentation. Here, I’d like to describe my experience teaching category theory to computer scientists and what I learned.
The Programming Languages Mentoring Workshop (PLMW) is directed at new members of the PL community: senior undergraduate and beginning graduate students. With its first edition taking place in January 2012, PLMW is coming up on its ten year anniversary. We take a look back at how PLMW has grown and evolved, and imagine where it could go next.
How can we refocus and modernize the undergraduate “programming paradigms” course?
Randomized algorithms and probabilistic programs play a growing role in many areas of computer science. What can we do to help ensure that these intricate programs are correct, without the bugs and flaws that plague today’s software?