Brian Kernighan, a Princeton University professor and an experienced computer scientist has written the Understanding the Digital World with the aim to help an ordinary man or woman to learn how computers work, how they communicate among themselves, and how they influence our lives, should we like it or not.
Long gone are the days when computers were sitting in dark, air-conditioned, restricted-access rooms. Long gone are also the days when computers were located solely on our desks. Majority of computers in today’s world go unnoticed because we are used to them being around so much that we do not perceive them anymore. While some are still visible such as our laptops, tablets, smart phones, other are less obvious such as our smart watches, household appliances, gaming consoles, cars. There are even such computers that are completely invisible, being a part of transportation systems, telecommunication networks, power grids.
The less we are aware of their existence, the more likely we are to become ignorant of consequences brought by computers being omnipresent. This is more alarming, if we consider that computers are used round the clock to collect data about our movement, heart rate, stress, eating habits, social interactions, preferences and even intimacy, last but not least. A need that an ordinary citizen is educated about the digital world we live in becomes a necessity, when one considers, that computers can be easily (mis-)used to compromise our privacy, spread fake news, or even shift public opinions in favor of president candidates and future governments.
Understanding the Digital World is a book that aims to mitigate the lack of knowledge general public has about computers, so that matters such as online privacy, security, data protection and other similarly important topics get more appreciated and treated with consideration they deserve. The author has divided the book into three parts — Hardware, Software, Communications.
Hardware, the first part, sheds light on what it means that computers operate with zeros and ones. Using simple, easy to understand terms, Kernighan explains what a computer is, what parts it consists of, how data is represented and how analog turns into digital.
Software, the second part deals with algorithms, programming languages and software systems. It explains how computers get instructed what to do and how it is possible they can do that at such enormous speed. The author also briefly explains different levels of programming languages and how it is possible that programs can run on any devices regardless the underlying architecture.
Communications, the last part of the book is focused on history of technology-enabled ability to message over a distance, starting with telegraphs and continuing over phones and modems to the Internet as we know it. The third part spans over a hundred pages out of the total two hundred and twenty. Despite the broadness of the topic the author manages to explains DNS, routing, internet protocols, the world wide web, searching, tracking, data mining and even cloud computing. On top of this he also provides information on how privacy, security, cryptography, even adding a handful of suggestions any reader can use right away to increase their security, reduce the likelihood of unwanted data leaks and improve privacy when being online.
Despite the overwhelmingly ambitious scope, Brian Kernighan, manages to deliver a computer-science curriculum condensed into two hundred pages in a way that it is very accessible for any member of general public and yet can enrich even those who already consider themselves computer-advanced.