Automatic structures made their appearance at LICS twenty years ago, at LICS 2000. However, their roots are much older. The idea of automata based decision procedures for logical theories can be traced back to the early days of automata theory and to the work of Buchi, Elgot, Trakhtenbrot and Rabin in the 1960s. The explicit notion of automatic structures has first been proposed in 1976 in the (unfortunately largely unnoticed) PhD thesis of Hodgson, and later been reinvented by Khoussainov and Nerode in 1995. In this tutorial, we present an introduction into the history and basic definitions of automatic structures, and survey the achievements in the study of different variants of automatic structures. We discuss their most important mathematical and algorithmic properties, their characterisations in terms of logical interpretations, and we present some of the mathematical techniques that are used for the analysis of automatic structures and for proving limitations of these concepts.