Differential Analysis: A Summary

Forge: A Tool to Teach Formal Methods

Finding and fixing standard misconceptions about program behavior

A Core Calculus for Documents

A Grounded Conceptual Model for Ownership Types in Rust

What Happens When Students Switch (Functional) Languages

Performance Preconceptions

Gradual Soundness: Lessons from static Python

Plan Composition Using Higher-Order Functions

Types for Tables: A Language Design Benchmark

Picking Colors for Pyret Error Messages

Teaching and Assessing Property-Based Testing

The Hidden Perils of Automated Assessment

Mystery Languages

Engineering Eval

The phillotactic color-picking algorithm: picking distinct, streaming, uniform colors

A Third Perspective on Hygiene

Resugaring – adding the syntactic sugar back into your program