Philip Guo (Phil Guo, Philip J. Guo, Philip Jia Guo, pgbovine)

Web Programming Video Lectures

Summary
Here are 11 video lectures walking through basic web programming concepts. These were recorded in an undergraduate course called Principles of Web Application Development that I taught in Fall 2015 at the University of Rochester. For pedagogical reasons, I've purposely covered only the basics using bare-bones technology rather than relying on fancy modern frameworks, which quickly grow outdated.

Here are 11 lectures walking through basic web programming concepts, recorded in an undergraduate course called Principles of Web Application Development that I taught in Fall 2015 at the University of Rochester.

Just like in CPython internals: A ten-hour codewalk through the Python interpreter source code, these videos are meant as a reference, not as a shining exemplar of high production value. If I had infinitely more time, I would edit these videos into 5- to 10-minute chunks. More importantly, I would've gone back in time and planned my lectures to maximize “video chunkability” ... and used a better microphone ... and added in-situ quiz questions ... and made them more interactive. But in the spirit of CRAPL, I just recorded my lectures using Camtasia on an MS Surface Pro 3 tablet and put up the unedited raw videos.

For pedagogical reasons, I cover only the basics of web programming using bare-bones technology rather than relying on fancy modern frameworks, which quickly grow outdated.

To view and run all code from these lectures, check out this GitHub repository. Here is a video introduction to Git and GitHub.

To set up your computer to run the example code from lecture, watch these videos: Setup for Windows, Setup for Mac OS

Here we go! The course was split into three acts: Web 1.0, Web 2.0, and “Web 3.0”. Each lecture is listed alongside readings that are related to the concepts covered in that day's class:

Web 1.0: Webpages as documents (1990–2004)

Lecture 1: Welcome! HTML and CSS

Lecture 2: HTTP-based Web servers

Lecture 3: Web 1.0-style server-side scripting

Lecture 4: Persistent data storage

Lecture 5: Basic user accounts and login sessions

Web 2.0: Websites as applications (2004–2010)

Lecture 6: Dynamic DOM manipulation with JavaScript

Lecture 7: Web 2.0-style Ajax client-server interactions

Lecture 8: Browser-based local state storage

Sorry, this lecture video is not available since I forgot to record in class that day, ergh :(

“Web 3.0”: Toward a composable, real-time Web (2010–2015)

Lecture 9: Web services and REST APIs

Lecture 10: Real-time bidirectional communication with WebSockets and socket.io

Lecture 11: Web application frameworks – Node.js and Express

Lecture 12: Web application frameworks (continued) and course recap

  • What is a Web framework? (don't worry about understanding any of the code on this page, just understand the concepts)
  • (study the same in-class code as Lecture 11)
Created: 2015-11-01
Last modified: 2016-12-25
Related pages tagged as programming: