My primary teaching interests are computer systems, data structures, and societal issues in computing.
I am also interested in the relationship between people and computer systems, and I teach courses that examine different aspects of this relationship. Topics in my elective courses include safety in cyber-physical systems, model checking and verification, electronic voting, intellectual property, privacy, and gender/racial discrimination in computing.
The following pages link to the most recent offering of courses that I regularly teach at JMU.
The following courses are electives or former courses that I no longer regularly teach.
Undergraduate Systems Courses