In the United States, this kind of courses is not uncommon, which means that there are lots of textbooks that gather material at this level (of difficulty and generality). You may want to look at the table of contents of a few of them to get a feel for what they cover. For instance, my school currently uses this book.