Tuesday, June 2, 2026

Welcoming Brian P. Railing to the CS:APP Team

 

We are pleased to include Brian P. Railing as the third author for Computer Systems: A Programmer’s Perspective, 4th edition.  Brian took 15-213, the CMU course on which CS:APP is based, while a CMU undergraduate in 2001.  After working at  Microsoft and getting his PhD at Georgia Tech in 2015, Brian joined the faculty in the Computer Science Department at CMU, where he is now an Associate Teaching Professor.

Brian teaches courses on computer systems, operating systems, parallel programming, and computer architecture.  He has now taught 15-213 many times and used 15-213 as a platform for his research on computer science pedagogy.

We look to Brian for the insights he has gained teaching many aspects of computer systems to thousands of students.


The 4th Edition is in the Works

   

We’re pleased to announce that the fourth edition of Computer Systems:  A Programmer’s Perspective is in the works.  We’re busy updating the text right now.  The book should be available in the Spring of 2027.

Overall, we do not anticipate major changes in coverage.   Over the past decade, many changes have occurred to GCC, as well as to memory and processor technology.  We will refresh the material and bring the presentation up to date.

We will also be adding Brian P. Railing as a third author.  See our separate post about him.

Wednesday, May 27, 2026

Who Rules the World?

How to Rule the World by Theo Baker: 9780593832837 |  PenguinRandomHouse.com: Books


The recently published book How to Rule the World by Theo Baker describes his first year as a computer-science student at Stanford.  He discovered his calling as an investigative journalist for the student newspaper, researching and writing articles that, among other things, led to the downfall of the Stanford president for research misconduct.  The name of the book derives from an unofficial class where the instructor claims to present “the underlying incentive structures and frameworks that govern how the world works.”

Among the multiple threads comprising the story, Baker describes the undergraduate course CS107 as one that “filters out true computer science majors from wannabes,” saying “It’s a brutal course, delving into extremely low-level coding that scarcely resembles the programming most coders do on a daily basis.”  The textbook for the course is CS:APP, and many of the assignments are derived from those included on the CS:APP web pages.  He describes the CS:APP Binary Bomb assignment (renamed SecureVault) as “the most iconic CS107 assignment­—and very possibly the most iconic assignment at Stanford.”

His description of the nature of the course and its content contrasts with the stated purpose of CS:APP: “Our aim is to explain the enduring concepts underlying all computer systems, and to show you the concrete ways that these ideas affect the correctness, performance, and utility of your application programs.”  CS:APP courses are taught all over the world at a variety of institutions.  Many students have found the “low-level coding” covered to be very valuable in their studies and their careers.  Perhaps the underlying incentive structures for Baker and his fellow Stanford students do not include learning about  how the systems on which they intend to make their fortunes operate.