CS 490DO / 890DI: Verified Proofs and Programs (based on Programming Language Foundations in Agda)
CS 350: Programming Language Concepts
CS 115: Object Oriented Design