by Justin Hsu on Apr 4, 2023 | Tags: category theory, education
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.
Read more...
by Emery Berger on Aug 18, 2022 | Tags: education, machine learning, programming
CS educators: AI-based developer tools are gunning for your assignments. Resistance is futile.
Read more...
by Yotam Feldman and Mooly Sagiv on Feb 23, 2021 | Tags: compilers
Jean-Luc Godard is quoted as saying, “A story should have a beginning, a middle and an end, but not necessarily in that order.” What order is best to tell the story of a compiler?
Read more...
by Justin Hsu on Jan 28, 2021 | Tags: functional programming, programming paradigms, static analysis, teaching, type systems
How can we refocus and modernize the undergraduate “programming paradigms” course?
Read more...
by Jeremy Gibbons on Dec 1, 2020 | Tags: formal specifications, functional programming, nondeterminism, randomized algorithms
Sometimes functions are not enough.
Read more...
by Jeremy Gibbons on Nov 25, 2020 | Tags: algorithms, functional programming, mathematical proof, optimization
Calculating a greedy algorithm for an optimization problem, functionally.
Read more...