Lutz Hamel

Note: I no longer conduct research in machine learning. If you are interested in programming language research and would like to discuss opportunities please email me.

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. Asteroid is heavily influenced by Python, Rust, ML, and Prolog. Try it out at

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

Previously Taught Courses:
Programming for Data Science, CSC/DSP 310
An Introduction to Multi-Paradigm Programming, CSC493
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