PART I: NUMBERS AND COUNTING: Integers; Functions and counting; Principles of counting; Subsets and designs; Partition, classification, and distribution; Modular arithmetic; PART II: GRAPHS AND ALGORITHMS; Algorithms and their efficiency; Graphs; Trees, sorting, and searching; Bipartite graphs and matching problems; Digraphs, networks, and flows; Recursive techniques; PART III: ALGEBRAIC METHODS: Groups; Groups of permutations; Rings, fields, and polynomials; Finite fields and some applications; Error-correcting codes; Generating functions; Partitions of a positive integer; Symmetry and counting; Answers to selected exercises; Index