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.
Personal computers have made life convenient in many ways, but what about their impacts on the environment due to production, use and disposal? Manufacturing computers requires prodigious quantities of fossil fuels, toxic chemicals and water. Rapid improvements in performance mean we often buy a new machine every 1-3 years, which adds up to mountains of waste computers. How should societies respond to manage these environmental impacts? This volume addresses the environmental impacts and management of computers through a set of analyses on issues ranging from environmental assessment, technologies for recycling, consumer behaviour, strategies of computer manufacturing firms, and government policies. One conclusion is that extending the lifespan of computers (e.g. through reselling) is an environmentally and economically effective strategy that deserves more attention from governments, firms and the general public.
The Internet continues to grow at a very rapid rate. Together with this growth there is an accompanying growth of the technologies on which it is based. These technologies make use of TCP/IP as their foundation. To start to make sense of all these interrelated systems it is important that today's computer user be aware of the technologies on which the Internet is based. This book introduces those technologies and is aimed at the Internet user who wishes to understand the technologies on which much of today's business and recreational computing is based. As such, the intention of this book is to give a succinct overview of 'how it all works' rather than provide a comprehensive reference work. This book will help you quickly obtain an understanding of the technological principles behind the Internet/communications revolution in both your working and recreational lives, and: · provides a thorough understanding of intranets, extranets and the Internet · explains all about: how e-mail delivers mail the domain name service how the Internet finds computers the problems facing network designers the basics of computer security issues some new technologies such as WAP, Bluetooth, UMTS and NAPSTER · Shows you how your office or home network really works. Keith Sutherland is a Microsoft Certified Systems Engineer specialising in TCP/IP, IIS and SQL server. For the last 25 years he has been an independent consultant and lecturer working throughout the IT industry. As a result he has trained many thousands of industrial and commercial staff over that period. Currently he divides his time between lecturing, consultancy and research work. His client list includes many Blue-Chip companies together with government and international organisations.
According to Rosalind Picard, if we want computers to be genuinely intelligent and to interact naturally with us, we must give computers the ability to recognize, understand, even to have and express emotions. The latest scientific findings indicate that emotions play an essential role in decision making, perception, learning, and more—that is, they influence the very mechanisms of rational thinking. Not only too much, but too little emotion can impair decision making. According to Rosalind Picard, if we want computers to be genuinely intelligent and to interact naturally with us, we must give computers the ability to recognize, understand, even to have and express emotions. Part 1 of this book provides the intellectual framework for affective computing. It includes background on human emotions, requirements for emotionally intelligent computers, applications of affective computing, and moral and social questions raised by the technology. Part 2 discusses the design and construction of affective computers. Although this material is more technical than that in Part 1, the author has kept it less technical than typical scientific publications in order to make it accessible to newcomers. Topics in Part 2 include signal-based representations of emotions, human affect recognition as a pattern recognition and learning problem, recent and ongoing efforts to build models of emotion for synthesizing emotions in computers, and the new application area of affective wearable computers.
Towards the long-standing dream of artificial intelligence, two solution paths have been paved: (i) neuroscience-driven neuromorphic computing; (ii) computer science-driven machine learning. The former targets at harnessing neuroscience to obtain insights for brain-like processing, by studying the detailed implementation of neural dynamics, circuits, coding and learning. Although our understanding of how the brain works is still very limited, this bio-plausible way offers an appealing promise for future general intelligence. In contrast, the latter aims at solving practical tasks typically formulated as a cost function with high accuracy, by eschewing most neuroscience details in favor of brute force optimization and feeding a large volume of data. With the help of big data (e.g. ImageNet), high-performance processors (e.g. GPU, TPU), effective training algorithms (e.g. artificial neural networks with gradient descent training), and easy-to-use design tools (e.g. Pytorch, Tensorflow), machine learning has achieved superior performance in a broad spectrum of scenarios. Although acclaimed for the biological plausibility and the low power advantage (benefit from the spike signals and event-driven processing), there are ongoing debates and skepticisms about neuromorphic computing since it usually performs worse than machine learning in practical tasks especially in terms of the accuracy.
Bradley provides concise coverage of all advanced level computer science specification. The text is organised in short bite-sized chapters to facilitate rapid learning, making it an ideal revision aid.
Computer systems that analyze images are critical to a wide variety of applications such as visual inspections systems for various manufacturing processes, remote sensing of the environment from space-borne imaging platforms, and automatic diagnosis from X-rays and other medical imaging sources. Professor Azriel Rosenfeld, the founder of the field of digital image analysis, made fundamental contributions to a wide variety of problems in image processing, pattern recognition and computer vision. Professor Rosenfeld's previous students, postdoctoral scientists, and colleagues illustrate in Foundations of Image Understanding how current research has been influenced by his work as the leading researcher in the area of image analysis for over two decades. Each chapter of Foundations of Image Understanding is written by one of the world's leading experts in his area of specialization, examining digital geometry and topology (early research which laid the foundations for many industrial machine vision systems), edge detection and segmentation (fundamental to systems that analyze complex images of our three-dimensional world), multi-resolution and variable resolution representations for images and maps, parallel algorithms and systems for image analysis, and the importance of human psychophysical studies of vision to the design of computer vision systems. Professor Rosenfeld's chapter briefly discusses topics not covered in the contributed chapters, providing a personal, historical perspective on the development of the field of image understanding. Foundations of Image Understanding is an excellent source of basic material for both graduate students entering the field and established researchers who require a compact source for many of the foundational topics in image analysis.
Advances in modern sciences occur thanks to within-fields discoveries as well as confrontation of concepts and methods from separated, sometimes distant, domains of knowledge. For instance, the fields of psychology and psychopathology benefited from accumulated contributions from cognitive neurosciences, which, in turn, received insights from molecular chemistry, cellular biology, physics (neuroimaging), statistics and computer sciences (data processing), etc. From the results of these researches, one can argue that among the numerous cognitive phenomena supposedly involved in the emergence the human intelligence and organized behavior, some of them are specific to the social nature of our phylogenetic order. Scientific reductionism allowed to divide the social cognitive system into several components, i.e. emotion processing and regulation, mental state inference (theory of mind), agency, etc. New paradigms were progressively designed to investigate these processes within highly-controlled laboratory settings. Moreover, the related constructs were successful at better understanding psychopathological conditions such as autism and schizophrenia, with partial relationships with illness outcomes. Here, we would like to outline the parallel development of concepts in social neurosciences and in other domains such as computer science, affective computing, virtual reality development, and even hardware technologies. While several researchers in neurosciences pointed out the necessity to consider naturalistic social cognition (Zaki and Ochsner, Ann N Y Acad Sci 1167, 16-30, 2009), the second person perspective (Schilbach et al., Behav Brain Sci 36(4), 393-414, 2013) and reciprocity (de Bruin et al., Front Hum Neurosci 6, 151, 2012), both computer and software developments allowed more and more realistic real-time models of our environment and of virtual humans capable of some interaction with users. As noted at the very beginning of this editorial, a new convergence between scientific disciplines might occur from which it is tricky to predict the outcomes in terms of new concepts, methods and uses. Although this convergence is motivated by the intuition that it fits well ongoing societal changes (increasing social demands on computer technologies, augmenting funding), it comes with several difficulties for which the current Frontiers in’ topic strives to bring some positive answers, and to provide both theoretical arguments and experimental examples. The first issue is about concepts and vocabulary as the contributions described in the following are authored by neuroscientists, computer scientists, psychopathologists, etc. A special attention was given during the reviewing process to stay as close as possible to the publication standards in psychological and health sciences, and to avoid purely technical descriptions. The second problem concerns methods: more complex computerized interaction models results in unpredictable and poorly controlled experiments. In other words, the assets of naturalistic paradigms may be alleviated by the difficulty to match results between subjects, populations, conditions. Of course, this practical question is extremely important for investigating pathologies that are associated with profoundly divergent behavioral patterns. Some of the contributions of this topic provide description of strategies that allowed to solve these difficulties, at least partially. The last issue is about heterogeneity of the objectives of the researches presented here. While selection criteria focused on the use of innovative technologies to assess or improve social cognition, the fields of application of this approach were quite unexpected. In an attempt to organize the contributions, three directions of research can be identified: 1) how innovation in methods might improve understanding and assessment of social cognition disorders or pathology? 2) within the framework of cognitive behavioral psychotherapies (CBT), how should we consider the use of virtual reality or augmented reality? 3) which are the benefits of these techniques for investigating severe mental disorders (schizophrenia or autism) and performing cognitive training? The first challenging question is insightfully raised in the contribution of Timmermans and Schilbach (2014) giving orientations for investigating alterations of social interaction in psychiatric disorders by the use of dual interactive eye tracking with virtual anthropomorphic avatars. Joyal, Jacob and collaborators (2014) bring concurrent and construct validities of a newly developed set of virtual faces expressing six fundamental emotions. The relevance of virtual reality was exemplified with two contributions focusing on anxiety related phenomena. Jackson et al. (2015) describe a new environment allowing to investigate empathy for dynamic FACS-coded facial expressions including pain. Based on a systematic investigation of the impact of social stimuli modalities (visual, auditory), Ruch and collaborators are able to characterize the specificity of the interpretation of laughter in people with gelotophobia (2014). On the issue of social anxiety, Aymerich-Franch et al. (2014) presented two studies in which public speaking anxiety has been correlated with avatars’ similarity of participants’ self-representations. The second issue focuses on how advances in virtual reality may benefit to cognitive and behavioral therapies in psychiatry. These interventions share a common framework that articulates thoughts, feelings or emotions and behaviors and proposes gradual modification of each of these levels thanks to thought and schema analysis, stress reduction procedures, etc. They were observed to be somehow useful for the treatment of depression, stress disorders, phobias, and are gaining some authority in personality disorders and addictions. The main asset of new technologies is the possibility to control the characteristics of symptom-eliciting stimuli/situations, and more precisely the degree to which immersion is enforced. For example, Baus and Bouchard (2014) provide a review on the extension of virtual reality exposure-based therapy toward recently described augmented reality exposure-based therapy in individuals with phobias. Concerning substance dependence disorders, Hone-Blanchet et collaborators (2014) present another review on how virtual reality can be an asset for both therapy and craving assessment stressing out the possibilities to simulate social interactions associated with drug seeking behaviors and even peers’ pressure to consume. The last issue this Frontiers’ topic deals with encompasses the questions raised by social cognitive training or remediation in severe and chronic mental disorders (autistic disorders, schizophrenia). Here, therapies are based on drill and practice or strategy shaping procedures, and, most of the time, share an errorless learning of repeated cognitive challenges. Computerized methods were early proposed for that they do, effortlessly and with limited costs, repetitive stimulations. While, repetition was incompatible with realism in the social cognitive domain, recent advances provide both immersion and full control over stimuli. Georgescu and al. (2014) exhaustively reviews the use of virtual characters to assess and train non-verbal communication in high-functioning autism (HFA). Grynszpan and Nadel (2015) present an original eye-tracking method to reveal the link between gaze patterns and pragmatic abilities again in HFA. About schizophrenia, Oker and collaborators (2015) discuss and report some insights on how an affective and reactive virtual agents might be useful to assess and remediate several defects of social cognitive disorders. About assessment within virtual avatars on schizophrenia, Park et al., (2014) focused on effect of perceived intimacy on social decision making with schizophrenia patients. Regarding schizophrenia remediation, Peyroux and Franck (2014) presented a new method named RC2S which is a cognitive remediation program to improve social cognition in schizophrenia and related disorders. To conclude briefly, while it is largely acknowledged that social interaction can be studied as a topic of its own, all the contributions demonstrate the added value of expressive virtual agents and affective computing techniques for the experimentation. It also appears that the use of virtual reality is at the very beginning of a new scientific endeavor in cognitive sciences and medicine.