Reading list

Writing

  • The Elements of Style by William Strunk

  • Style: Lessons in Clarity and Grace by Joseph M. Williams and Gregory G. Colomb

  • Thinking, Fast and Slow by Daniel Kahneman

Foundations of Computer Networking

  • Computer Networking: A Top-Down Approach by James F. Kurose and Keith W. Ross

  • TCP/IP Illustrated by W. Richard Stevens

  • The Architecture of Computer Hardware, Systems Software, and Networking by Irv Englander

  • High Performance Switches and Routers by H. Jonathan Chao and Bin Liu

  • An Interdisciplinary Approach to Designing Fast Networked Devices by George Varghese

Foundations of Algorithms and Optimization

  • Introduction to Algorithms by Thomas H.Cormen, Charles E.Leiserson, Ronald L.Rivest and Clifford Stein

  • Randomized Algorithms by Rajeev Motwani and Prabhakar Raghavan

  • The Design of Approximation Algorithms by David P. Williamson and David B. Shmoys

  • Approximation Algorithms by Vijay V. Vazirani

  • The Design of Competitive Online Algorithms via a Primal-Dual Approach by Niv Buchbinder and Joseph (Seffi) Naor

  • Convex Optimization by Stephen Boyd and Lieven Vandenberghe

  • Online Learning and Online Convex Optimization by Shai Shalev-Shwartz