The Brown course in which they have used this approach is really interesting. 2016 course page: http://cs.brown.edu/courses/cs173/2016/index.html
For the 2017 course [1] we re-implemented the mystery languages in Racket, so you'll need to install DrRacket to use them. But they're a bit improved and more robust.