Computer Science: The Hardware, Software and Heart of It focuses on the deeper aspects of the two recognized subdivisions of Computer Science, Software and Hardware. These subdivisions are shown to be closely interrelated as a result of the stored-program concept. Computer Science: The Hardware, Software and Heart of It includes certain classical theoretical computer science topics such as Unsolvability (e.g. the halting problem) and Undecidability (e.g. Godel’s incompleteness theorem) that treat problems that exist under the Church-Turing thesis of computation. These problem topics explain inherent limits lying at the heart of software, and in effect define boundaries beyond which computer science professionals cannot go beyond. Newer topics such as Cloud Computing are also covered in this book. After a survey of traditional programming languages (e.g. Fortran and C++), a new kind of computer Programming for parallel/distributed computing is presented using the message-passing paradigm which is at the heart of large clusters of computers. This leads to descriptions of current hardware platforms for large-scale computing, such as clusters of as many as one thousand which are the new generation of supercomputers. This also leads to a consideration of future quantum computers and a possible escape from the Church-Turing thesis to a new computation paradigm.
The book’s historical context is especially helpful during this, the centenary of Turing's birth. Alan Turing is widely regarded as the father of Computer Science, since many concepts in both the hardware and software of Computer Science can be traced to his pioneering research. Turing was a multi-faceted mathematician-engineer and was able to work on both concrete and abstract levels. This book shows how these two seemingly disparate aspects of Computer Science are intimately related. Further, the book treats the theoretical side of Computer Science as well, which also derives from Turing's research.
Computer Science: The Hardware, Software and Heart of It is designed as a professional book for practitioners and researchers working in the related fields of Quantum Computing, Cloud Computing, Computer Networking, as well as non-scientist readers. Advanced-level and undergraduate students concentrating on computer science, engineering and mathematics will also find this book useful.