"I ve read a lot of books on computers in my time some focused on the hardware and others centered on programming but I ve never seen one quite like Dive into Systems. On the one hand, this is a fantastic introduction to C programming for those who already know Python; on the other hand, it dives into the depths of the underlying hardware architecture. And then, after popping up to take a deep breath, there s another deep dive into the world of assembly language. Suffice it to say that I ll certainly be recommending this little beauty to my Python-obsessed friends." Clive Max Maxfield, author of Bebop to the Boolean Boogie and How Computers Do Math
"Dive into Systems does a great job of introducing hardware architecture, including the language that is often used to communicate with it - the C programming language. C programming concepts were explained by contrasting it with Python concepts and examples, so any experienced Python user will feel right at home with the explanations." Emily Liu, Security Consultant and Advanced Reviewer
"Dive into Systems takes interested developers on tour through computer architecture from the C programming language perspective. The authors take great care to explain critical computer systems concepts with many well-illustrated examples. Each chapter builds on the previous content, providing a rich history and a meticulously constructed dive into computer architecture." George D., Advanced Reviewer
"This is an outstanding book for those teaching an Introduction to Systems Programming class with only a CS 1 prerequisite! The book fills a void, allowing instructors to use one book for C programming, computer organization, assembly language, and systems programming topics instead of needing multiple books for their courses." David Toth, Associate Professor of Computer Science and Chair of Computer Science Program at Centre College
"By introducing students to low-level programming gently through C programming, Matthews, Newhall and Webb have managed to make the fundamental concepts of assembly language approachable and comprehensible. The genius of the book is that it begins the journey at the point that students understand high level programming and slowly peel back the abstractions to reveal the reality underneath all computer programs. My students have never understood memory, the fetch-decode-execute cycle and assembly programming in general like they have with this approach. Dive Into Systems brings the revolution in teaching low-level computer concepts . . . to the masses." John Barr, Computer Science Professor, Ithaca College
"An ideal textbook for introductory computer science curriculums. . . . Unreservedly recommended for personal, professional, community, and academic library Computer Science collections" Midwest Book Review
Suzanne J. Matthews is an Associate Professor of Computer Science at the United States Military Academy, West Point. She holds a PhD in Computer Science from Texas A&M University. Her research interests are in parallel computing, single board computers, and computer science education.
Tia Newhall is a professor in the computer science department at Swarthmore College. She holds a PhD in Computer Science from the University of Wisconsin. Her research interests are in parallel and distributed systems.
Kevin C. Webb is an Associate Professor of Computer Science at Swarthmore College. He holds a PhD in Computer Science from UC San Diego. His research interests are in networks, distributed systems, and computer science education.