How Computers Really Work Cover

How Computers Really Work

A Hands-On Guide to the Inner Workings of the Machine
by Matthew Justice
December 2020, 392 pp.
ISBN-13: 
9781718500662

Look Inside!

How Computers Really Work BackHow Computers Really Work Page 45How Computers Really Work Page 160How Computers Really WorkHow Computers Really Work Page 283How Computers Really Work Image

Download Chapter 2: BINARY IN ACTION


FROM LOW-LEVEL CIRCUITS TO HIGH-LEVEL CODE

How Computers Really Work is a hands-on guide to the computing ecosystem: everything from circuits to memory and clock signals, machine code, programming languages, operating systems, and the internet.

But you won’t just read about these concepts, you’ll test your knowledge with exercises, and practice what you learn with 41 optional hands-on projects. Build digital circuits, craft a guessing game, convert decimal numbers to binary, examine virtual memory usage, run your own web server, and more.

Explore concepts like how to:

  • Think like a software engineer as you use data to describe a real world concept
  • Use Ohm’s and Kirchhoff’s laws to analyze an electrical circuit
  • Think like a computer as you practice binary addition and execute a program in your mind, step-by-step

The book’s projects will have you translate your learning into action, as you:

  • Learn how to use a multimeter to measure resistance, current, and voltage
  • Build a half adder to see how logical operations in hardware can be combined to perform useful functions
  • Write a program in assembly language, then examine the resulting machine code
  • Learn to use a debugger, disassemble code, and hack a program to change its behavior without changing the source code
  • Use a port scanner to see which internet ports your computer has open
  • Run your own server and get a solid crash course on how the web works

And since a picture is worth a thousand bytes, chapters are filled with detailed diagrams and illustrations to help clarify technical complexities.

Requirements: The projects require a variety of hardware – electronics projects need a breadboard, power supply, and various circuit components; software projects are performed on a Raspberry Pi. See Appendix B or this page for a complete list. Even if you skip the projects, the book’s major concepts are clearly presented in the main text.

Author Bio 

Matthew Justice, a software engineer, spent 17 years at Microsoft where his work included debugging the Windows kernel, developing automated fixes, and leading a team of engineers building diagnostic tools and services. He has worked on everything from low-level software to high-level web applications.

Table of contents 

Introduction

Chapter 1: Computing Concepts
Chapter 2: Binary in Action
Chapter 3: Electrical Circuits
Chapter 4: Digital Circuits
Chapter 5: Math with Digital Circuits
Chapter 6: Memory and Clock Signals
Chapter 7: Computer Hardware
Chapter 8: Machine Code and Assembly Language
Chapter 9: High-Level Programming
Chapter 10: Operating Systems
Chapter 11: The Internet
Chapter 12: The World Wide Web
Chapter 13: Modern Computing
Appendix A: Answers to Exercises
Appendix B: Resources
Index

View the detailed Table of Contents
View Appendix B: Resources

Reviews 

"Much more understandable than most books of this type, even when the author delves deeply into machine code, programming languages, operating systems and the internet. He details 41 hands-on projects, including games, running a web server, and so on. It's just right for the would-be software engineer."
—Joy Schwabach, The Arkansas Democrat Gazette's On Computers
 
“A very helpful and compact book. Love it.”
—Zhishuai Zhang, Senior Software Engineer
 
“This book is the missing link between theories learned in your curriculum and work.”
—Jhenu, Goodreads Reviewer
 
“Really good book if you want to dig deep into how the machine really works. It starts from the very beginning—electrical concepts, digital circuits, binary, binary logic and operations—and goes all the way to the top—assembly, operating systems, high level programming languages, apps. Has plenty of exercises and projects to keep you interested as well. An enjoyable read for sure.”
—David Duarte, @davidnduarte

Extra Stuff 

The Wall Street Journal interviewed Matthew Justice for piece on high-performance computers.

Check out Matthew Justice's interview on The David Bramante Show. Excerpted and interviewed for TechTarget

Updates 

View the latest errata.