This textbook contains a two-semester course on queueing theory, including an introduction to matrix-analytic methods. Its purpose is to present concrete queueing models and their applications, while providing a sound mathematical foundation for their analysis. A prominent part of the book will be devoted to matrix-analytic methods: a collection of approaches which extend the applicability of Markov renewal methods to queueing theory by introducing...