In my first semester of college I learned how to use an IBM Model 029 Keypunch to write my FORTRAN and PL/I programs. After assembling a thick stack of cards, I would hand them in for processing, where the decks would sit in a queue for 3 or 4 hours before being allocated a couple of hundred kilobytes of memory and a few seconds of processing time. With any luck at all the program would actually compile, run, and produce useful results after just a few iterations.
The lucky students in this class learned all about building scalable, dynamic web sites using Ruby on Rails and running on Amazon EC2. Each project was deployed across multiple EC2 instances and load-tested using httperf. The students had to demonstrate scalability by using a front-end load balancer, a database server, a memcached server, and up to 10 application servers.
Per the class home page, the class was a big success, with peak EC2 usage of 80 instances supporting 15 different projects. Three of the more interesting projects were GameZone, BaDTunes, and BukManiac.
The home page also enumerates the lessons learned by the class.