Reference Materials
This course draws from a wide range of source
material. The instructor will recommend specific reading
material for each week, most of which is publicly
available. Others will be made available through Canvas.
There is no single recommended textbook for this course.
Beyond the weekly readings, these are some textbooks and
resources you may find helpful.
Fundamentals:
- Computer Networking: A Top-Down Approach, 7th
edition, by James F. Kurose and Keith W. Ross. (Also see
below for a free and publicly available alternative for a
computer networking textbook.)
- Operating Systems: Three Easy Pieces, available
freely online by Remzi and Andrea Arpaci-Dusseau.
- Principles of Computer System Design, by Jerome
Saltzer and Frans Kaashoek. You
can read this book online by logging into the Rutgers
library site; use this custom link. Also, Part
2 of this book is freely available online.
Readings for specific course modules:
- Building microservices, by Sam Newman. You
can read this book online by logging into the Rutgers
library site; use this custom link.
- Google's site reliability engineering (SRE)
workbook, by many authors, edited by Betsy Beyer, Niall
Murphy, David Rensin, Kent Kawahara, and Stephen Thorne, available
freely online.
- Designing Data-Intensive Applications, by Martin
Kleppman. You
can read this book online by logging into the Rutgers
library site; use this custom link.
Resources for programming homeworks:
- The Linux Programming Interface : A Linux and UNIX
System Programming Handbook, by Michael Kerrisk. You
can read this book online by logging into the Rutgers
library site; use this custom link.
- TCP/IP Illustrated, Volume 1: The Protocols by
W. Richard Stevens.
- Computer Networking: Principles, protocols, and
practice by Olivier Bonaventure. The third
edition of this textbook is openly
and freely available.