Course book Richard P. Stanley, "Enumerative Combinatorics, Vol 1, Second Edition", Cambridge University Press.