CS193H: High Performance Web Sites

This week I start teaching CS193H, “High Performance Web Sites”, at Stanford. I’ve evangelized fast web pages at conferences and tech companies, most recently Twitter and LinkedIn. Teaching at the university level is a natural progression in evangelizing what I’ve learned (and continue to learn) about web performance.

I’ve always thought the format of my book lent itself to a lecture series, where each lecture would cover one of the performance best practices. I’ve done 3 hour workshops before, but this class meets three days a week for 50 minutes from now through December 5. Do I really have enough material to fill that much time?

I laid out the class schedule and feel comfortable that there is enough content – I actually had to cut a few classes to allow room for the class projects. I’ll post my slides on the class schedule so others can follow along. I’m planning two projects. Web 100 Performance Profile will be a record of the performance traits of the top web sites in the world. Students will pick five web sites and fill in the performance traits by running YSlow. We’ll gather stats at the beginning and end of the quarter, and compare them to see how (if?) the industry is improving. Improving a Top 100 Web Site is the class project that runs through the entire quarter. Students adopt one web site and implement each performance improvement to a local copy of the static code. We’ll track how much impact each individual improvement has on load time as well as other performance characteristics (total size, number of requests, etc.). At the end of the quarter I’ll share the results from both projects.

So tomorrow’s my first day of school! I need to get to bed and get a good night’s sleep. I’ll post an update after I have a few classes under my belt and let you know how it’s going. Wish me luck!