The purpose of this undergraduate textbook is to offer all the material suitable for a beginning combinatorics course for students in STEM subjects particularly mathematics and computer science, although other subjects may benefit as well. This will be achieved through the use of plentiful (though brief) examples, and a variety of exercises and