2017 Lecture Schedule

Below you can find the mostly set schedule for the course. Note that the guest lecture dates are subject to change.

September 28, 2017 (slides)

  • Introduction to Scalable Internet Services

TODO:

October 3, 2017 (slides)

  • Introduction to HTTP

TODO:

October 5, 2017 (slides)

  • Introduction to HTML and CSS
  • Agile/Scrum

TODO:

  • Read chapters 9, 10, and 11 in High Performance Browser Networking

October 10, 2017 (slides)

  • TDD, CI, and Pairing

TODO:

  • Complete chapter 2, 3, 4, 5 and 6 in the Ruby on Rails Tutorial
  • Learn git
  • Add single-controller app to repo, README with project description and team member photos

October 12, 2017 (slides)

  • HTTP and Application Servers

TODO:

October 17, 2017 (slides)

  • Vertical Scaling
  • Horizontal Scaling with Load Balancing

October 19, 2017 (slides)

  • Architecting for High Availability

October 24, 2017 (slides)

  • Client-side Caching
  • Server-side Caching

October 26, 2017 (slides)

  • Relational Databases
  • Database Concurrency Control
  • Query Analysis

October 31, 2017 (slides)

  • Database Scaling
    • Sharding

November 2, 2017 (slides)

  • Complete Database Scaling
    • Service Oriented Architectures
    • Read-only Secondaries

November 7, 2017 (slides)

  • Guest Lecture: Sean Maloney, Engineering Lead @ Riot Games

November 9, 2017 (slides)

  • Load testing with Tsung

TODO:

November 14, 2017 (slides)

  • Guest Lecture: Dr. Andrew Mutz, CTO @ AppFolio

November 16, 2017 (slides)

  • Non-relational Data Stores

November 21, 2017

  • Guest Lecture: Courtney Wang, Senior Software Engineer @ Reddit

TODO:

November 23, 2017 (Thanksgiving, no class)

Novemver 28, 2017 (slides)

  • An Introduction to Web Security
    • HTTPS
    • Firewalls
    • SQL Injection
    • XSS
    • CSRF

TODO:

  • Read Chapter 12: HTTP/2 in High Performance Browser Networking

Novemver 30, 2017 (slides)

  • HTTP 2.0
  • QUIC

TODO:

  • Read chapter 15: XMLHttpRequest in High Performance Browser Networking

December 5, 2017 (slides)

  • Clients
  • JavaScript
  • Client-side MVC

December 7, 2017

  • Final presentations