Lutz Hamel

Education: Doctorate from Oxford University 1997.

Research Interests: programming language design, semantics, and implementation; logic programming; computer applications in music, art, and design.

Publications: here

Research Projects:
I currently run the Asteroid project. Asteroid is an open-source, multi-paradigm programming language that supports first-class patterns and pattern-matching oriented programming. Asteroid is heavily influenced by Python, Rust, ML, and Prolog. Try it out at

Asteroid 1.1.2 released. See PyPI.

Teaching (Fall 2022):
Fundamentals of Programming Languages, CSC301
Programming Language Implementation, CSC402

Previously Taught Courses:
Programming for Data Science, CSC/DSP 310
Programming Language Semantics, CSC501
Topics in AI: Introduction to Machine Learning with Support Vector Machines, CSC581
Theory of Computation, CSC544
Models of Computation, CSC445
Programming Language Boot Camp
An Introduction to Artificial Intelligence with AI Game Development, CSC481
Theory of Compilers, CSC502
Discrete Mathematics, CSC/MTH 447
Foundations of Logic Programming, CSC491
Arduino Workshop at the AS220 in Providence
Cognitive Modeling, CSC592
Advanced Logic Programming, CSC491 Sec 9
Knowledge Discovery and Data Mining, CSC492/CSC592
Software Engineering, CSC305

(c) Lutz Hamel