Request Inspection Copy

If you are an Academic or Teacher and wish to consider this book as a prescribed textbook for your course, you may be eligible for a complimentary inspection copy. Please complete this form, including information about your position, campus and course, before adding to cart.

* Required Fields

To complete your Inspection Copy Request you will need to click the Checkout button in the right margin and complete the checkout formalities. You can include Inspection Copies and purchased items in the same shopping cart, see our Inspection Copy terms for further information.

Any Questions? Please email our text Support Team on text@footprint.com.au

Submit

Email this to a friend

* ALL required Fields

Order Inspection Copy

An inspection copy has been added to your shopping cart

Understanding the Digital World: What You Need to Know about Computers, the Internet, Privacy, and Security

by Brian Kernighan Princeton University Press
Pub Date:
12/2016
ISBN:
9780691176543
Format:
Hbk 256 pages
Price:
AU$59.99 NZ$64.34
Product Status: Not Our Publication - we no longer distribute
add to your cart
Instructors
& Academics:
Computers are everywhere. Some of them are highly visible, in laptops, tablets, cell phones, and smart watches. But most are invisible, like those in appliances, cars, medical equipment, transportation systems, power grids, and weapons. We never see the myriad computers that quietly collect, share, and sometimes leak vast amounts of personal data about us. Through computers, governments and companies increasingly monitor what we do. Social networks and advertisers know far more about us than we should be comfortable with, using information we freely give them. Criminals have all-too-easy access to our data. Do we truly understand the power of computers in our world?


 


Understanding the Digital World explains how computer hardware, software, networks, and systems work. Topics include how computers are built and how they compute; what programming is and why it is difficult; how the Internet and the web operate; and how all of these affect our security, privacy, property, and other important social, political, and economic issues. This book also touches on fundamental ideas from computer science and some of the inherent limitations of computers. It includes numerous color illustrations, notes on sources for further exploration, and a glossary to explain technical terms and buzzwords.


 


Understanding the Digital World is a must-read for all who want to know more about computers and communications. It explains, precisely and carefully, not only how they operate but also how they influence our daily lives, in terms anyone can understand, no matter what their experience and knowledge of technology.

Preface xi


Introduction 1


Part I: Hardware 7


1. What's in a Computer? 11


1.1 Logical Construction 13


1.1.1 CPU 13


1.1.2 RAM 14


1.1.3 Disks and other secondary storage 15


1.1.4 Et cetera 17


1.2 Physical Construction 17


1.3 Moore's Law 21


1.4 Summary 22


2. Bits, Bytes, and Representation of Information 23


2.1 Analog versus Digital 23


2.2 Analog-Digital Conversion 25


2.3 Bits, Bytes, and Binary 30


2.3.1 Bits 30


2.3.2 Powers of two and powers of ten 31


2.3.3 Binary numbers 32


2.3.4 Bytes 34


2.4 Summary 36


3. Inside the CPU 37


3.1 The Toy Computer 38


3.1.1 The first Toy program 38


3.1.2 The second Toy program 40


3.1.3 Branch instructions 41


3.1.4 Representation in RAM 43


3.2 Real CPUs 43


3.3 Caching 46


3.4 Other Kinds of Computers 47


3.5 Summary 49


Wrapup on Hardware 51


Part II: Software 53


4. Algorithms 55


4.1 Linear Algorithms 56


4.2 Binary Search 58


4.3 Sorting 59


4.4 Hard Problems and Complexity 63


4.5 Summary 65


5. Programming and Programming Languages 67


5.1 Assembly Language 68


5.2 High-Level Languages 69


5.3 Software Development 75


5.3.1 Libraries, interfaces, and development kits 76


5.3.2 Bugs 77


5.4 Intellectual Property 79


5.4.1 Trade secret 80


5.4.2 Copyright 80


5.4.3 Patents 81


5.4.4 Licenses 82


5.5 Standards 84


5.6 Open Source 84


5.7 Summary 86


6. Software Systems 87


6.1 Operating Systems 88


6.2 How an Operating System Works 92


6.2.1 System calls 93


6.2.2 Device drivers 93


6.3 Other Operating Systems 94


6.4 File Systems 95


6.4.1 Disk file systems 96


6.4.2 Removing files 98


6.4.3 Other file systems 99


6.5 Applications 100


6.6 Layers of Software 102


6.7 Summary 104


7. Learning to Program 105


7.1 Programming Language Concepts 106


7.2 A First JavaScript Example 107


7.3 A Second JavaScript Example 107


7.4 Loops 110


7.5 Conditionals 111


7.6 Libraries and Interfaces 112


7.7 How JavaScript Works 114


7.8 Summary 114


Wrapup on Software 117


Part III: Communications 119


8. Networks 125


8.1 Telephones and Modems 126


8.2 Cable and DSL 126


8.3 Local Area Networks and Ethernet 128


8.4 Wireless 130


8.5 Cell Phones 131


8.6 Bandwidth 135


8.7 Compression 135


8.8 Error Detection and Correction 137


8.9 Summary 139


9. The Internet 141


9.1 An Internet Overview 142


9.2 Domain Names and Addresses 145


9.2.1 Domain Name System 145


9.2.2 IP addresses 146


9.2.3 Root servers 147


9.2.4 Registering your own domain 148


9.3 Routing 148


9.4 TCP/IP Protocols 150


9.4.1 IP, the Internet Protocol 151


9.4.2 TCP, the Transmission Control Protocol 152


9.5 Higher-Level Protocols 153


9.5.1 Telnet and SSH: remote login 154


9.5.2 SMTP: Simple Mail Transfer Protocol 154


9.5.3 File sharing and peer-to-peer protocols 156


9.6 Copyright on the Internet 157


9.7 The Internet of Things 159


9.8 Summary 159


10. The World Wide Web 163


10.1 How the Web Works 164


10.2 HTML 165


10.3 Cookies 167


10.4 Active Content in Web Pages 168


10.5 Active Content Elsewhere 170


10.6 Viruses, Worms and Trojan Horses 171


10.7 Web Security 173


10.7.1 Attacks on clients 174


10.7.2 Attacks on servers 177


10.7.3 Attacks on information in transit 179


10.8 Defending Yourself 179


10.9 Summary 181


11. Data and Information 183


11.1 Search 184


11.2 Tracking 188


11.3 Social Networks 193


11.4 Data Mining and Aggregation 195


11.5 Cloud Computing 197


11.6 Summary 202


12. Privacy and Security 203


12.1 Cryptography 204


12.1.1 Secret-key cryptography 205


12.1.2 Public-key cryptography 206


12.2 Anonymity 210


12.2.1 Tor and the Tor Browser 211


12.2.2 Bitcoin 213


12.3 Summary 215


13. Wrapping Up 217


Notes 221


Glossary 227


Index 233

"This is the clearest and simplest explanation of the world we now all depend on - how it works and why it does what it does - from one of our best-known inventors. Everyone on Earth needs to read it."


Eric Schmidt, executive chairman of Alphabet Inc. And Google  


 


"This book takes the mystery out of computers and the Internet, and everyone can learn from it. With a friendly and accessible style, Kernighan connects what is happening inside machines to the news of the day and developments about the digital world." Harry Lewis, coauthor of Blown to Bits: Your Life, Liberty, and Happiness after the Digital Explosion  


 


"Kernighan tells us exactly what we need to know about computers and computer science, focusing on ideas that are useful and interesting for everyday computer users. He covers a fascinating range of topics, including fundamentals such as computer hardware, programming, algorithms, and networks, as well as politically charged issues related to government surveillance, privacy, and Internet neutrality."


John MacCormick, Dickinson College  


 


"Understanding the Digital World provides a broad overview of computers and electronic communications for a general audience. The book flows smoothly from topic to topic, and readers from diverse backgrounds will find it accessible."


Bryan Respass, Bergen County Academies
Brian W. Kernighan is a professor in the Department of Computer Science at Princeton University. He is the coauthor of ten other books, including the computing classic The C Programming Language (Prentice Hall). He lives in Princeton, New Jersey.