To better serve the academic needs of my students, I am available by appointment most weekdays during business hours when the university is in session.

Visit my Calendly page to schedule an appointment.


You can contact me or my teaching assistants via our Slack team to discuss topics related to courses or projects we are involved in together.

You will need to register using a valid or email address or else contact me to request a team invitation.


I lecture regularly for the foundational computer programming sequence CS 110, CS 111, and CS 210 and on a rotating basis for the major theory courses CS 220 and CS 310 and the elective course CS 440.

This is not an exhaustive list of every course I teach or have taught. I also offer practicums and mentorship for exemplary students by permission.


Introduction to Computer Science

Introduction to Data Structures

File and Data Structures

Discrete Mathematics

Principles of Programming Languages

Database Design and Theory

Teaching Practicum