How Computer Programming Works


Book Description

This innovative book from expert programmer and bestselling author Daniel Appleman is the first of its kind to graphically explain fundamental programming concepts. Even the most complex of concepts is deciphered through the careful use of full-color illustrations, concise text, and the extensive use of analogies with familiar, real-world experiences that we all share and understand.




Elements of Programming


Book Description

Elements of Programming provides a different understanding of programming than is presented elsewhere. Its major premise is that practical programming, like other areas of science and engineering, must be based on a solid mathematical foundation. The book shows that algorithms implemented in a real programming language, such as C++, can operate in the most general mathematical setting. For example, the fast exponentiation algorithm is defined to work with any associative operation. Using abstract algorithms leads to efficient, reliable, secure, and economical software.




Code


Book Description

The classic guide to how computers work, updated with new chapters and interactive graphics "For me, Code was a revelation. It was the first book about programming that spoke to me. It started with a story, and it built up, layer by layer, analogy by analogy, until I understood not just the Code, but the System. Code is a book that is as much about Systems Thinking and abstractions as it is about code and programming. Code teaches us how many unseen layers there are between the computer systems that we as users look at every day and the magical silicon rocks that we infused with lightning and taught to think." - Scott Hanselman, Partner Program Director, Microsoft, and host of Hanselminutes Computers are everywhere, most obviously in our laptops and smartphones, but also our cars, televisions, microwave ovens, alarm clocks, robot vacuum cleaners, and other smart appliances. Have you ever wondered what goes on inside these devices to make our lives easier but occasionally more infuriating? For more than 20 years, readers have delighted in Charles Petzold's illuminating story of the secret inner life of computers, and now he has revised it for this new age of computing. Cleverly illustrated and easy to understand, this is the book that cracks the mystery. You'll discover what flashlights, black cats, seesaws, and the ride of Paul Revere can teach you about computing, and how human ingenuity and our compulsion to communicate have shaped every electronic device we use. This new expanded edition explores more deeply the bit-by-bit and gate-by-gate construction of the heart of every smart device, the central processing unit that combines the simplest of basic operations to perform the most complex of feats. Petzold's companion website, CodeHiddenLanguage.com, uses animated graphics of key circuits in the book to make computers even easier to comprehend. In addition to substantially revised and updated content, new chapters include: Chapter 18: Let's Build a Clock! Chapter 21: The Arithmetic Logic Unit Chapter 22: Registers and Busses Chapter 23: CPU Control Signals Chapter 24: Jumps, Loops, and Calls Chapter 28: The World Brain From the simple ticking of clocks to the worldwide hum of the internet, Code reveals the essence of the digital revolution.




Grace Hopper


Book Description

“If you’ve got a good idea, and you know it’s going to work, go ahead and do it.” The inspiring story of Grace Hopper—the boundary-breaking woman who revolutionized computer science—is told told in an engaging picture book biography. Who was Grace Hopper? A software tester, workplace jester, cherished mentor, ace inventor, avid reader, naval leader—AND rule breaker, chance taker, and troublemaker. Acclaimed picture book author Laurie Wallmark (Ada Byron Lovelace and the Thinking Machine) once again tells the riveting story of a trailblazing woman. Grace Hopper coined the term “computer bug” and taught computers to “speak English.” Throughout her life, Hopper succeeded in doing what no one had ever done before. Delighting in difficult ideas and in defying expectations, the insatiably curious Hopper truly was “Amazing Grace” . . . and a role model for science- and math-minded girls and boys. With a wealth of witty quotes, and richly detailed illustrations, this book brings Hopper's incredible accomplishments to life.




Coders at Work


Book Description

Peter Seibel interviews 15 of the most interesting computer programmers alive today in Coders at Work, offering a companion volume to Apress’s highly acclaimed best-seller Founders at Work by Jessica Livingston. As the words “at work” suggest, Peter Seibel focuses on how his interviewees tackle the day-to-day work of programming, while revealing much more, like how they became great programmers, how they recognize programming talent in others, and what kinds of problems they find most interesting. Hundreds of people have suggested names of programmers to interview on the Coders at Work web site: www.codersatwork.com. The complete list was 284 names. Having digested everyone’s feedback, we selected 15 folks who’ve been kind enough to agree to be interviewed: Frances Allen: Pioneer in optimizing compilers, first woman to win the Turing Award (2006) and first female IBM fellow Joe Armstrong: Inventor of Erlang Joshua Bloch: Author of the Java collections framework, now at Google Bernie Cosell: One of the main software guys behind the original ARPANET IMPs and a master debugger Douglas Crockford: JSON founder, JavaScript architect at Yahoo! L. Peter Deutsch: Author of Ghostscript, implementer of Smalltalk-80 at Xerox PARC and Lisp 1.5 on PDP-1 Brendan Eich: Inventor of JavaScript, CTO of the Mozilla Corporation Brad Fitzpatrick: Writer of LiveJournal, OpenID, memcached, and Perlbal Dan Ingalls: Smalltalk implementor and designer Simon Peyton Jones: Coinventor of Haskell and lead designer of Glasgow Haskell Compiler Donald Knuth: Author of The Art of Computer Programming and creator of TeX Peter Norvig: Director of Research at Google and author of the standard text on AI Guy Steele: Coinventor of Scheme and part of the Common Lisp Gang of Five, currently working on Fortress Ken Thompson: Inventor of UNIX Jamie Zawinski: Author of XEmacs and early Netscape/Mozilla hacker




But how Do it Know?


Book Description

This book thoroughly explains how computers work. It starts by fully examining a NAND gate, then goes on to build every piece and part of a small, fully operational computer. The necessity and use of codes is presented in parallel with the apprioriate pieces of hardware. The book can be easily understood by anyone whether they have a technical background or not. It could be used as a textbook.




How Computers Really Work


Book Description

An approachable, hands-on guide to understanding how computers work, 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. Appendix B contains a complete list. Even if you skip the projects, the book's major concepts are clearly presented in the main text.




Computer Coding for Kids


Book Description

Don't just play computer games - help children build them with your own home computer! Calling all coders, this is a straightforward, visual guide to helping kids understand the basics of computer coding using Scratch and Python coding languages. Essential coding concepts like scripts, variables, and strings are explained using build-along projects and games. Kids can create online games to play like Monkey Mayhem and Bubble Blaster, draw mazes and shapes, build animations, and more using the step-by-step examples to follow and customize. Seven projects let kids (and their parents) practice the skills as they are learning in each section of the book. Kids get instant results, even when completely new to coding. Packed with visual examples, expert tips, a glossary of key terms, and extras such as profiles of famous coders, Help Your Kids with Computer Coding lays a hands-on foundation for computer programming, so adults and kids can learn together. Supporting STEM education initiatives, computer coding teaches kids how to think creatively, work collaboratively, and reason systematically, and is quickly becoming a necessary and sought-after skill. DK's computer coding books are full of fun exercises with step-by-step guidance, making them the perfect introductory tools for building vital skills in computer programming. User note: At home, all you need is a desktop or laptop with Adobe 10.2 or later, and an internet connection to download Scratch 2.0 and Python 3. Coding with Scratch can be done without download on https: //scratch.mit.edu. Series Overview: DK's bestselling Help Your Kids With series contains crystal-clear visual breakdowns of important subjects. Simple graphics and jargon-free text are key to making this series a user-friendly resource for frustrated parents who want to help their children get the most out of school.




Coding Literacy


Book Description

How the theoretical tools of literacy help us understand programming in its historical, social and conceptual contexts. The message from educators, the tech community, and even politicians is clear: everyone should learn to code. To emphasize the universality and importance of computer programming, promoters of coding for everyone often invoke the concept of “literacy,” drawing parallels between reading and writing code and reading and writing text. In this book, Annette Vee examines the coding-as-literacy analogy and argues that it can be an apt rhetorical frame. The theoretical tools of literacy help us understand programming beyond a technical level, and in its historical, social, and conceptual contexts. Viewing programming from the perspective of literacy and literacy from the perspective of programming, she argues, shifts our understandings of both. Computer programming becomes part of an array of communication skills important in everyday life, and literacy, augmented by programming, becomes more capacious. Vee examines the ways that programming is linked with literacy in coding literacy campaigns, considering the ideologies that accompany this coupling, and she looks at how both writing and programming encode and distribute information. She explores historical parallels between writing and programming, using the evolution of mass textual literacy to shed light on the trajectory of code from military and government infrastructure to large-scale businesses to personal use. Writing and coding were institutionalized, domesticated, and then established as a basis for literacy. Just as societies demonstrated a “literate mentality” regardless of the literate status of individuals, Vee argues, a “computational mentality” is now emerging even though coding is still a specialized skill.




How Software Works


Book Description

We use software every day to perform all kinds of magical, powerful tasks. It's the force behind stunning CGI graphics, safe online shopping, and speedy Google searches. Software drives the modern world, but its inner workings remain a mystery to many. How Software Works explains how computers perform common-yet-amazing tasks that we take for granted every day. Inside you'll learn: –How data is encrypted –How passwords are used and protected –How computer graphics are created –How video is compressed for streaming and storage –How data is searched (and found) in huge databases –How programs can work together on the same problem without conflict –How data travels over the Internet How Software Works breaks down these processes with patient explanations and intuitive diagrams so that anyone can understand—no technical background is required, and you won't be reading through any code. In plain English, you'll examine the intricate logic behind the technologies you constantly use but never understood. If you've ever wondered what really goes on behind your computer screen, How Software Works will give you fascinating look into the software all around you.