CS 168: Introduction to the Internet: Architecture and Protocols,
CS 61A: Structure and Interpretation of Computer Programs