ⓘ What is this?

Kuang-Chen Lu, Ph.D.

System Developer @ InterSystems Corporation
Topic
Developer Experience
Techniques
LLM, Rust, SMT Solver, Property-Based Testing
Ph.D. @ Brown University
Areas
Programming Languages (PL) × Computing Education (CSEd)
Advisor
Shriram Krishnamurthi
Internship @ RelationalAI (during Ph.D.)
Topic
Higher-order relations in Rel
M.S. in Computer Science @ Indiana University
Areas
Relational Programming (w/ Dan Friedman) and Gradual Typing
Advisor
Jeremy Siek
B.S. in Bioinformatics @ Shanghai Jiao Tong University
Advisor
Chaochun Wei
KC at Charles Rivier, Boston, MA

Current Projects

SMoL Tutor: an intelligent tutoring system for teaching the semantics of programming languages (i.e., how programming languages "work"). This system has been used at Brown and a few other institutions around the world. Please contact me or Shriram to get a copy of the system.

Stacker: a notional machine (a graphical presentation of how computer programs execute). This notional machine is designed to help students form good mental models of scope, mutable variables, mutable data structures, and first-class functions.

Publications

Identifying and Correcting Programming Language Behavior Misconceptions PhD Dissertation

Identifying and Correcting Programming Language Behavior Misconceptions OOPSLA 2024Distinguished Paper

What Happens When Students Switch (Functional) Languages (Experience Report) ICFP 2023

Gradual soundness: Lessons from Static Python Programming 2023

Types for Tables: A Language Design Benchmark Programming 2022Editors' Choice

Higher-order Logic Programming with λKanren μKanren Workshop 2021

Equivalence of Cast Representations in Gradual Typing Master's Thesis

Hypercoercions and a framework for equivalence of cast calculi WGT 2020

Towards a miniKanren with fair search strategies μKanren Workshop 2019

EUPAN enables pan-genome studies of a large number of eukaryotic genomes Bioinformatics 2017

RPAN: rice pan-genome browser for ∼3000 rice genomes NAR 2017

Talks

Stacker: A runnable notional machine for an HtDP-like language (twelfth RacketCon)