A primer on the underlying technologies that allow computer programs to work. Covers topics like computer hardware, combinatorial logic, sequential logic, computer architecture, computer anatomy, and Input/Output.
Computer 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, and understanding underlying technologies can help you develop a sense of what can go wrong. 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 when running on hardware; 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.