Software is an essential part in various facets of our daily life. Mobility,production, energy supply, economics, and infrastructure, to name only afew examples, strongly depend on software. This software is not always ofhigh quality. Critical issues that arose from poor software quality are evenreported manifold publicly in the press. For example, Denver InternationalAirport opened, delayed, …
Parallel computers can be classified by instruction and data streams. Another distinction is between shared and distributed memory systems. We define clusters and the scalability of a problem. Network topologies apply both to hardware configurations and algorithms to transfer data. Three factors drove the clustering revolution in computing. First is the availability of commodity hardware: choi…
This e-book contains explanation about supercomputing.
Can computers be creative? Is algorithmic art just a form of Candy Crush? Cutting through the smoke and mirrors surrounding computation, robotics and artificial intelligence, Joanna Zylinska argues that, to understand the promise of AI for the creative fields, we must not confine ourselves solely to the realm of aesthetics. Instead, we need to address the role and position of the human in the c…
This text explains how to use mathematical models and methods to analyze problems that arise in computer science. Proofs play a central role in this work because the authors share a belief with most mathematicians that proofs are essential for genuine understanding. Proofs also play a growing role in computer science; they are used to certify that software and hardware will always behave correc…
Computers architecture is concerned with the structure and behavior of digital computers. It has developed into a discipline for the design and evaluation of computers largely in response to the proliferation of these machines over the last couple of decades. This proliferation has, in turn, been driven by advances in computer technology, both hardware and software. In particular, the developme…