# teaching

## Mastery Grading - an Experience Report

I recently read Linda Nilson’s book on Specifications Grading, and wanted to try that in my course. It turns out that I implemented Mastery Grading, not Specifications Grading, but the two are similar.

## CS 421 — Programming Languages

CS 421 is an upper level undergraduate course / lower level graduate course in programming languages, and I consider it my flagship'' course. It has four major components: functional programming, parsing, mathematical foundations, and pragmatics.

## CS 491 — Competitive Algorithmic Programming

When I first became the coach for ICPC, I discovered the graduate student coaches had created a one credit hour course to go over the algorithms that come up in programming contests.

## ENG 598 TL — Teaching and Leadership

This is a placeholder for ENG 598 TL, which is cross-listed with CS 591-TL. The main outreach page for this course can be found here.

## How to Flip Your Classroom

I frequently get asked how I went about flipping my classroom, so I decided to write it up here. I’m going to assume you already think a flipped classroom is a good idea and that you want to do this.