Contact InformationOffice: A. K. Watson 013
E-mail: [first name][dot][last name]@yale.edu
Current Classes (Fall 2019)CPSC 223 - Data Structures and Programming Techniques
CPSC 474/574 - Computational Intelligence for Games
- Fall 2017
- Spring 2018
- Fall 2018
- Spring 2019
Past Classes at other Institutions
Amherst CollegeCOSC 111 - Introduction to Computer Science I (Spring 2015)
COSC 112 - Introduction to Computer Science II (Fall 2015)
COSC 201 - Data Structures and Algorithms I (Spring 2016)
COSC 211 - Data Structures (Spring 2017)
COSC 231 - Programming Language Paradigms (Spring 2016)
COSC 301 - Data Structures and Algorithms II Fall 2014 Fall 2015 Fall 2016
COSC 331 - Games Fall 2014 Fall 2016
COSC 401 - Theoretical Foundations of Computer Science (Spring 2015)
Loyola University Maryland
CS111 - Introduction to Computers with Software Applications -
CS201 - Computer Science I - S09 F08 F03 S03 F02
CS202 - Computer Science II - F13 S13 S12 S08 S07 S06 F05 F04
CS295 - Discrete Structures - F12 F07 F05
CS301 - Data Structures and Algorithms I - S03 F02
CS451 - Programming Languages - F07
CS462 - Algorithm Analysis - S14 S12 S06 S04
CS466 - Operating Systems - S11 S08
CS478 - Theory of Computation - S11 S07 S05
CS489.02 - Computers and Games - S11 S09
CS610 - Discrete Mathematics and Algorithm Analysis - F12 F05
CS630 - Computing Fundamentals I F11
CS631 - Computing Fundamentals II S07
CS702 - Operating Systems S08 F07 S06 S05 F04 S04 F03
CS724 - Algorithm Design and Analysis - S14 S13 S12
CS751 - Independent Study: iOS Development U12
EG724 - Algorithm Design - S03
Classes at Lafayette College and University of Maryland, College Park (some links may be broken)
ResearchOver the past several years, the main thrust of my research has been in stochasitc games: computing optimal strategies, and, where that is infeasible, using techniques from artificial intelligence to attempt to create near-optimal strategies.
I have also been involved in projects that try to pin down what "large enough" means in statements like "for large enough n, the 3-free sets constructed by the sphere method are larger than those constructed by the base-3 method."
RecreationJava Games Gallery
College Basketball Computer Rankings
Mark's Eggless Pancakes — Terrible!
Summary: There is a recipe for eggless pancakes (Mark's Eggless Pancakes) circulating on the Internet that, as published, calls for an absurd amount of baking soda. The results are terrible. It is likely that some of the baking soda is meant to be baking powder.
Lacking eggs but wanting to make pancakes, my wife and I Googled "eggless pancakes", which turned up several copies of the same recipe: Mark Satterly's Eggless Pancakes, supposedly based on an idea from the Toronto Vegetarian Food Fair of September 1993. Something struck us as odd about the recipe: in the ingredients list there is a line for 2 tablespoons of baking soda followed immediately by another for 1 teaspoon of baking soda. Normally, when the same ingredient is listed twice in a recipe it is because that ingredient is used in different places in the recipe (odd measurements might be listed on one line like "2T + 1t baking soda"). Here, however, all the dry ingredients are added at once. Furthermore, normal pancake recipes call for about 2 teaspoons of baking powder and perhaps a smaller amount of baking soda. Looking at other copies of the recipes and finding no corrections, we proceeded (skeptically) with the recipe as given. The resulting pancakes looked nice, but tasted like one would expect a mouthful of baking soda to taste.
I decided to use my modest page rank for good to warn people about this recipe. We hypothesize that the 2 tablespoons of baking soda should instead be baking powder, and perhaps only 2 teaspoons (update: my little sister, a former vegan, says she has made acceptable pancakes using 2 teaspoons of baking powder in a similar recipe). We are not likely to experiment with this recipe since we are not vegan and are now usually well-stocked with eggs thanks to our CSA, but we would be interested in hearing if it can be corrected.