The field of materials design occupies itself with the search for materials that exhibit specific properties. Such materials can be obtained by finetuning promising candidates using defects or by synthesizing entirely new materials based on experience from nature. This requires a detailed understanding of the nanoscale features which gives rise to these properties, as well as considerable experimental effort in preparing and characterizing each attempt. As a result material design is often cumbersome and expensive. An alternative approach to obtain this knowledge by performing quantum-mechanical simulations. These have now reached the robustness and accuracy required to reliably predict many material properties solely from first principles. Computational materials design is not hindered by experimental difficulties and is highly generic, enabling the simulation of hypothetical materials with great ease. In addition, the advancement of computing has made it possible to perform such calculations relatively inexpensively in large numbers. This has lead to the so-called high-throughput approach where, rather than focusing on the details of a single system, large databases of hypothetical materials are created. By computationally characterizing each of these materials large-scale screening procedures can be performed, reducing the experimental work to the most promising candidates. Large databases also offer another advantage: the observation of global trends which would never become visible if only a few materials were synthesized. This can be taken even further by introducing techniques from machine learning where non-intuitive descriptors can be directly linked to experimental quantities even if the underlying mechanism is not yet known. This has the potential to guide us through entirely unexplored regions of materials space and with it greatly increase our knowledge of condensed matter physics.