Department of Computer Science and Statistics
University of Rhode Island
Kingston, RI 02881
Office Hours: M 3-4 (remote only) and W 12-1pm or by appointment. For remote meetings please send me an email and I will send you a Google Meet invitation.
Education: Doctorate from Oxford University 1997.
Research Interests: programming language design, semantics, and implementation; logic programming; computer applications in music, art, and design.
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 repl.it
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