Heusler alloys, discovered serendipitously at the beginning of the twentieth century, have emerged in the twenty-first century as exciting materials for numerous remarkable functional applications, including spintronics and thermos-electric devices. The basic structural characteristic is an ordered structure with a face-centered cubic (FCC) superlattice and a body-centered cubic (BCC) unit cell. This structure separates the atoms into distances not encountered in their pure state nor disordered solid solutions and this provides the opportunity for exploring a range of novel material properties. The original alloy, Cu2MnSn, exhibited ferromagnetism, in spite of the fact that none of the three constituent elements show this behavior in their pure state. Heusler alloys have become a broad class of materials with designations including Full Heusler (with stoichiometry X2Y1Z1), Half Heusler (with stoichiometry X1Y1Z1), Inverse Heusler (IH), Binary, and Quaternary Heusler (QH). This class of materials is exiting the laboratories, where they were a curiosity and the object of basic investigations, to technological applications. We review here the steps that led to the discovery of these materials, the fundamental principles behind their magnetic and electronic properties, their mechanical properties, and the magnetic shape memory effect that some of them exhibit. The computational design of Heusler alloys is also presented, including the general workflow of the high-throughput computational material design approach, the best-known computational techniques for establishing materials stability, the proper choice of materials descriptors, and the applications of the emerging machine learning approach in the accelerated materials design. We conclude the review article with a discussion of the current challenges and future directions in the field.