This class borrows heavily from CS173 at Brown University, taught by Shriram Krishnamurthi. I had the pleasure of being a TA for the course several times as a graduate student. The program verification assignment is based on a similar assignment designed by Nate Foster for CS4410 at Cornell University.