This lively and fascinating text traces the key developments in computation – from 3000 B.C. to the present day – in an easy-to-follow and concise manner. Providing a comprehensive introduction to the most significant events and concepts in the history of computing, the book embarks upon a journey from ancient Egypt to modern times; taking in mechanical calculators, early digital computers, the first personal computers and 3G mobile phones, among other topics. This expanded and revised new edition also examines the evolution of programming languages and the history of software engineering, in addition to such revolutions in computing as the invention of the World Wide Web.
Topics and features: ideal for self-study, offering many pedagogical features such as chapter-opening key topics, chapter introductions and summaries, exercises, and a glossary; presents detailed information on major figures in computing, such as Boole, Babbage, Shannon, Turing, Zuse and Von Neumann; reviews the history of software engineering and of programming languages, including syntax and semantics; discusses the progress of artificial intelligence, with extension to such key disciplines as philosophy, psychology, linguistics, neural networks and cybernetics; examines the impact on society of the introduction of the personal computer, the World Wide Web, and the development of mobile phone technology; follows the evolution of a number of major technology companies, including IBM, Microsoft and Apple.
This clearly written and broad-ranging text both gives the reader a flavour of the history and stimulates further study in the subject. As such, it will be of great benefit to students of computer science, while also capturing the interest of the more casual reader.
This clearly written and enlightening textbook/reference provides a concise, introductory guide to the key mathematical concepts and techniques used by computer scientists. Spanning a wide range of topics – from number theory to software engineering – the book demonstrates the practical computing applications behind seemingly abstract ideas. The work of important figures such as Alan Turing and Robert Floyd are also discussed, highlighting how the theory has been informed by historical developments.
Topics and features: ideal for self-study, offering many pedagogical features such as chapter-opening key topics, chapter introductions and summaries, review questions, and a glossary; places our current state of knowledge within the context of the contributions made by early civilizations, such as the ancient Babylonians, Egyptians and Greeks; examines the building blocks of mathematics, including sets, relations and functions; presents an introduction to logic, formal methods and software engineering; explains the fundamentals of number theory, and its application in cryptography; describes the basics of coding theory, language theory, and graph theory; discusses the concept of computability and decideability; includes concise coverage of calculus, probability and statistics, matrices, complex numbers and quaternions.
This engaging and easy-to-understand book will appeal to students of computer science wishing for an overview of the mathematics used in computing, and to mathematicians curious about how their subject is applied in the field of computer science. The book will also capture the interest of the motivated general reader.
Introduction to Software Quality describes the approaches used by software engineers to build quality into their software. The fundamental principles of software quality management and software process improvement are discussed in detail, with a particular focus on the capability maturity model integration (CMMI) framework.
Topics and features: includes review questions at the end of each chapter; covers both theory and practice, in addition to providing guidance on applying the theory in an industrial environment; examines all aspects of the software development process, including project planning and tracking, software lifecycles, software inspections and testing, configuration management, and software quality assurance; provides detailed coverage of software metrics and problem solving; describes SCAMPI appraisals and how they form part of the continuous improvement cycle; presents an introduction to formal methods and the Z specification language, which are important in the safety critical field; discusses UML, which is used to describe the architecture of the system; reviews the history of the field of software quality, highlighting the pioneers who made key contributions to this area.
This clearly written and easy-to-follow textbook will be invaluable to students of computer science who wish to learn how to build high-quality and reliable software on time and on budget. Software engineers, quality professionals and software managers in industry will also find the book to be a useful tool for self-study.
An especially valuable feature of this book is the actual demonstration of scientific reasoning. Derry shows how scientists use a small number of powerful yet simple methods--symmetry, scaling, linearity, and feedback, for example--to construct realistic models that describe a number of diverse real-life problems, such as drug uptake in the body, the inner workings of atoms, and the laws of heredity.
Science involves a particular way of thinking about the world, and Derry shows the reader that a scientific viewpoint can benefit most personal philosophies and fields of study. With an eye to both the power and limits of science, he explores the relationships between science and topics such as religion, ethics, and philosophy. By tackling the subject of science from all angles, including the nuts and bolts of the trade as well as its place in the overall scheme of life, the book provides a perfect place to start thinking like a scientist.
This accessible compendium presents an insight into the great minds responsible for the technology which has transformed our lives. Each pioneer is introduced with a brief biography, followed by a concise account of their key contributions to their discipline. The selection covers a broad spread of historical and contemporary figures from theoreticians to entrepreneurs, highlighting the richness of the field of computing.
Topics and features: describes the lives and machines built by Hermann Hollerith, Vannevar Bush, Howard Aiken, John Atanasoff, Tommy Flowers, John Mauchly, and Konrad Zuse; examines the contributions made by Claude Shannon, John Von Neumann, Alan Turing, and Sir Frederick Williams; reviews such pioneers of commercial computing as John Backus, Fred Brooks, Gordon Moore, William Shockley, Vint Cerf, Don Estridge, Gary Kildall, and Tim Berners-Lee; surveys pivotal software engineers, including Robert Floyd, C.A.R Hoare, Dines Bjorner, Edger Dijkstra, Tom DeMarco, Michael Fagan, Watt Humphries, Ivor Jacobson, David Parnas, and Ed Yourdan; discusses important characters in theoretical computing, such as James Gosling, Grace Murray Hopper, Kenneth Iverson, Donald Knuth, Dennis Ritchie, Ken Thompson, Dana Scott, Christopher Strachey, Bjarne Stroustrup, and Niklaus Wirth; includes significant contributors to the field of artificial intelligence, including John McCarthy, Marvin Minsky, John Searle, and Joseph Weizenbaum; presents a selection of computer entrepreneurs, including Larry Ellison, Bill Gates, Steve Jobs, Ken Olsen, and Thomas Watson Sr. and Jr.Suitable for the general reader, this concise and easy-to-read reference will be of interest to anyone curious about the inspiring men and women who have shaped the field of computer science.
The mathematical approaches considered include:Z specification language Vienna Development Methods (VDM) Irish school of VDM (VDM) approach of Dijkstra and Hoare classical engineering approach of Parnas Cleanroom approach developed at IBM software reliability, and unified modelling language (UML).
Additionally, technology transfer of the mathematical methods to industry is considered.
The book explains the main features of these approaches and applies mathematical methods to solve practical problems. Written with both student and professional in mind, this book assists the reader in applying mathematical methods to solve practical problems that are relevant to software engineers.
It is only a slight exaggeration to say that the British mathematician Alan Turing (1912-1954) saved the Allies from the Nazis, invented the computer and artificial intelligence, and anticipated gay liberation by decades--all before his suicide at age forty-one. This New York Times–bestselling biography of the founder of computer science, with a new preface by the author that addresses Turing's royal pardon in 2013, is the definitive account of an extraordinary mind and life.
Capturing both the inner and outer drama of Turing’s life, Andrew Hodges tells how Turing’s revolutionary idea of 1936--the concept of a universal machine--laid the foundation for the modern computer and how Turing brought the idea to practical realization in 1945 with his electronic design. The book also tells how this work was directly related to Turing’s leading role in breaking the German Enigma ciphers during World War II, a scientific triumph that was critical to Allied victory in the Atlantic. At the same time, this is the tragic account of a man who, despite his wartime service, was eventually arrested, stripped of his security clearance, and forced to undergo a humiliating treatment program--all for trying to live honestly in a society that defined homosexuality as a crime.
The inspiration for a major motion picture starring Benedict Cumberbatch and Keira Knightley, Alan Turing: The Enigma is a gripping story of mathematics, computers, cryptography, and homosexual persecution.