Gian-Carlo Rota was one of the most original and colourful mathematicians of the 20th century. His work on the foundations of combinatorics focused on the algebraic structures that lie behind diverse combinatorial areas, and created a new area of algebraic combinatorics. Written by two of his former students, this book is based on notes from his influential graduate courses and on face-to-face discussions. Topics include sets and valuations, partially ordered sets, distributive lattices, partitions and entropy, matching theory, free matrices, doubly stochastic matrices, Moebius functions, chains and antichains, Sperner theory, commuting equivalence relations and linear lattices, modular and geometric lattices, valuation rings, generating functions, umbral calculus, symmetric functions, Baxter algebras, unimodality of sequences, and location of zeros of polynomials. Many exercises and research problems are included, and unexplored areas of possible research are discussed. A must-have for all students and researchers in combinatorics and related areas.