We will cover the basic and some not-so-basic concepts from model theory, and then apply these to find and analyze some natural classes of structures. This will, for example, lead to studying generalizations of various well-behaved graph classes with good algorithmic properties.
No previous knowledge of model theory or logic will be assumed