In the 1980s, Andre Joyal came up with a framework borrowing from category theory which allows for the combination and counting of labeled structures, which often arise in computer science. Examples of species are trees, simple graphs, directed graphs, permutations, linear orders, set partitions and more. This book is a self-contained introduction.