- CMSC099 Freshmen Seminar: Fall 2003
- CMSC210 Discrete Structures of Computer Science (unfolding around the connection between logical expressions and their mathematical structures/models): Fall 2002, Spring 2003, Fall 2003 [essay on teaching discrete math]
- CSC399 Internship: AY 2004-2005
- CSC460 Theory of Computation (including super-Turing computing): Spring 2005
- CMSC485 Topics in Computer Science
- Spring 2003
*Theory of Computation*(superseded by CSC460) - Fall 2003
*Natural Language Processing* - First Seminar (formerly, First Year Seminar) [Liberal Learning]
- FSP101
Spring 2004
*Information, Language, and Computation: A Modern Trilogy* - FSP111 Fall 2004
*Family Values and Human Mind*(discussing attachment theory, competition/cooperation, and complexity) - IMM220
Principles of Interactivity (exploring the idea that the notion of
*interactivity*corresponds to super-Turing computation): Spring 2004 [Interactive Multimedia program] ... programs used in this course

- As lecturer
- CSE110 Introduction to Programming [C for non-majors]: Spring 2001, Fall 2001, Spring 2002 ... programs used in this course
- CSE115 Introduction to Computer Programming [C, Java, architecture for engineering students]: Fall 1999, Fall 2000 ... programs used in this course
- CSE341 Compilers and Interpreters: Spring 2000, Spring 2001 ... with a project implementing a "mock-a-Java" compiler in Java

- As teaching
assistant
- CSE140 Introduction to Cognitive Science: Spring 1995
- CSE391 Introduction to Artificial Intelligence: Fall 1995, Spring 1997, Spring 1998
- CIS530 Introduction to Computational Linguistics [graduate]: Fall 1994