Recent and Current Courses
- CSCI 0190, Accelerated Introduction to Computing
- CSCI 1730, Programming Languages
-
CSCI 2952-B, Topics in Computer
Science Education Research:
- Spring 2022 (Computer-Aided Instruction)
- Spring 2020 (Human Factors in Language Design) with Sarah Chasins
- Spring 2018 (Handbook of Computing Education Research)
-
CSCI 2730/
CSCI 2740, Programming Language Theory /
cs296-1, Topics in Programming Languages and Systems:- Spring 2021 (Tables and Humans)
- Spring 2017 (Formal Semantics and Notional Machines)
- Spring 2016 (Types and Programming Languages)
- Spring 2015 primarily by Stevie Strickland (Semantics)
- Fall 2011 (Semantics)
- Fall 2009 (Operational Semantics)
- Spring 2008 (Optimistic Replication)
- Spring 2006 (Dynamic Access Control)
- Fall 2004 (Operational Semantics)
- Spring 2003 (Software Verification)
- Spring 2002 (Types and Programming Languages)
- Spring 2001 (Survival Kit)
If you're a Brown person, you can find my course reviews on The Critical Review, Brown's independent, student-run review process.
“Legacy” Courses
- CSCI 0931 / 0030, Introduction to Computing for the Social Sciences and Humanities
- CSCI 1900, Software System Design
- CSCI 1950-Y, Logic for Hackers (now Logic for Systems), with Tim Nelson
- CSCI 2340, Software Engineering, with Steve Reiss
- cs183-184, Consistent Software Evolution: Fall 2002-2003 with Steve Reiss