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

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

The basics of how computer hardware, software, and systems work, and the risks they create for our privacy and security 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.

Author(s): Brian W. Kernighan
Publisher: Princeton University Press
Year: 2017

Language: English
City: Princeton
Tags: programming, internet, security

Cover Page
Title Page
Copyright Page
Dedication Page
Contents
Preface
Introduction
Part I: Hardware
1. What’s in a Computer?
1.1 Logical Construction
1.1.1 CPU
1.1.2 RAM
1.1.3 Disks and other secondary storage
1.1.4 Et cetera
1.2 Physical Construction
1.3 Moore’s Law
1.4 Summary
2. Bits, Bytes, and Representation of Information
2.1 Analog versus Digital
2.2 Analog-Digital Conversion
2.3 Bits, Bytes, and Binary
2.3.1 Bits
2.3.2 Powers of two and powers of ten
2.3.3 Binary numbers
2.3.4 Bytes
2.4 Summary
3. Inside the CPU
3.1 The Toy Computer
3.1.1 The first Toy program
3.1.2 The second Toy program
3.1.3 Branch instructions
3.1.4 Representation in RAM
3.2 Real CPUs
3.3 Caching
3.4 Other Kinds of Computers
3.5 Summary
Wrapup on Hardware
Part II: Software
4. Algorithms
4.1 Linear Algorithms
4.2 Binary Search
4.3 Sorting
4.4 Hard Problems and Complexity
4.5 Summary
5. Programming and Programming Languages
5.1 Assembly Language
5.2 High-Level Languages
5.3 Software Development
5.3.1 Libraries, interfaces, and development kits
5.3.2 Bugs
5.4 Intellectual Property
5.4.1 Trade secret
5.4.2 Copyright
5.4.3 Patents
5.4.4 Licenses
5.5 Standards
5.6 Open Source
5.7 Summary
6. Software Systems
6.1 Operating Systems
6.2 How an Operating System Works
6.2.1 System calls
6.2.2 Device drivers
6.3 Other Operating Systems
6.4 File Systems
6.4.1 Disk file systems
6.4.2 Removing files
6.4.3 Other file systems
6.5 Applications
6.6 Layers of Software
6.7 Summary
7. Learning to Program
7.1 Programming Language Concepts
7.2 A First JavaScript Example
7.3 A Second JavaScript Example
7.4 Loops
7.5 Conditionals
7.6 Libraries and Interfaces
7.7 How JavaScript Works
7.8 Summary
Wrapup on Software
Part III: Communications
8. Networks
8.1 Telephones and Modems
8.2 Cable and DSL
8.3 Local Area Networks and Ethernet
8.4 Wireless
8.5 Cell Phones
8.6 Bandwidth
8.7 Compression
8.8 Error Detection and Correction
8.9 Summary
9. The Internet
9.1 An Internet Overview
9.2 Domain Names and Addresses
9.2.1 Domain Name System
9.2.2 IP addresses
9.2.3 Root servers
9.2.4 Registering your own domain
9.3 Routing
9.4 TCP/IP Protocols
9.4.1 IP, the Internet Protocol
9.4.2 TCP, the Transmission Control Protocol
9.5 Higher-Level Protocols
9.5.1 Telnet and SSH: remote login
9.5.2 SMTP: Simple Mail Transfer Protocol
9.5.3 File sharing and peer-to-peer protocols
9.6 Copyright on the Internet
9.7 The Internet of Things
9.8 Summary
10. The World Wide Web
10.1 How the Web Works
10.2 HTML
10.3 Cookies
10.4 Active Content in Web Pages
10.5 Active Content Elsewhere
10.6 Viruses, Worms and Trojan Horses
10.7 Web Security
10.7.1 Attacks on clients
10.7.2 Attacks on servers
10.7.3 Attacks on information in transit
10.8 Defending Yourself
10.9 Summary
11. Data and Information
11.1 Search
11.2 Tracking
11.3 Social Networks
11.4 Data Mining and Aggregation
11.5 Cloud Computing
11.6 Summary
12. Privacy and Security
12.1 Cryptography
12.1.1 Secret-key cryptography
12.1.2 Public-key cryptography
12.2 Anonymity
12.2.1 Tor and the Tor Browser
12.2.2 Bitcoin
12.3 Summary
13. Wrapping Up
Notes
Glossary
Index