What You’ll Learn:
- How the real world is converted into a form that computers understand, like bits, logic, numbers, text, and colors
- The fundamental building blocks that make up a computer including logic gates, adders, decoders, registers, and memory
- Why designing programs to match computer hardware, especially memory, improves performance
- How programs are converted into machine language that computers understand
- How software building blocks are combined to create programs like web browsers
- Clever tricks for making programs more efficient, like loop invariance, strength reduction, and recursive subdivision
- The fundamentals of computer security and machine intelligence
- Project design, documentation, scheduling, portability, maintenance, and other practical programming realities.
Table of contents:
Introduction
Chapter 1: The Internal Language of Computers
Chapter 2: Combinatorial Logic
Chapter 3: Sequential Logic
Chapter 4: Computer Anatomy
Chapter 5: Computer Architecture
Chapter 6: Communications Breakdown
Chapter 7: Organizing Data
Chapter 8: Language Processing
Chapter 9: The Web Browser
Chapter 10: Application and System Programming
Chapter 11: Shortcuts and Approximations
Chapter 12: Deadlocks and Race Conditions
Chapter 13: Security
Chapter 14: Machine Intelligence
Chapter 15: Real-World Considerations
Author: Jonathan E. Steinhart
August 2019, 504 pp.
ISBN-13: 9781593279707