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

The basics of how computer hardware, software, and systems work, and the risks they create for our privacy and security

627 109 11MB

English Year 2017

Report DMCA / Copyright

DOWNLOAD FILE

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

Table of contents :
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

Polecaj historie