Description
Book SynopsisComputer programming is not abstract and programs run on a machine. Knowing how computers work and how programs run on them is essential to becoming a better programmer. Foundations of Computer Programming fills in the gaps in computer education by giving readers a look under the hood of programming, at the machine. Readers learn how software behaves, how programs manipulate data in memory, how computers process languages, and how web browsers work. They'll also learn how to write efficient programs, computer security basics, and real-world considerations to have in mind when writing code.
Trade Review“Amazing . . . I highly recommend it if you don't have a very 'computer science' background, like me.”
—Tony Messias, tonysm.com
“This book was truly a good companion to the start of my CS degree. It gave me background in the computer engineering sphere and a solid foundation in many CS topics, and I am already starting to experience many of the lessons this book gives.”
—Ben Miller, Goodreads Reviewer
“This book is amazing. I bought it to refresh my programming basics for courses I teach programming on industrial PLC computers, from beginner to expert. It delves into so much more. Humorous and informative. I highly recommend.”
—Gil Cabrera, Amazon Reviewer
“If you are just learning to code, or if you are a developer who wants a deeper understanding of how your code interacts with the machine, highly recommend!”
—Carmen H. Andoh, @carmatrocity
“If you are looking for a wonderfully complete tour through how a computer actually works from first principles all the way through running a piece of software,
The Secret Life of Programs from @nostarch is the way to go.”
—Nick Maxwell, @CodiferousCoder
Table of ContentsIntroductionChapter 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