This is an archive of student notes from the Concrete Mathematics class from Spring 2019 at TJHSST, taught by Dr. Patrick White. Concrete Mathematics loosely takes from the textbook of the same name written by Donald Knuth, and teaches basic combinatorial techniques and constructions with the aid of calculus. Here, "concrete" is meant as a portmanteau of "discrete" and "continuous," since we use both techniques to develop the theory (but obviously with a focus on solving discrete problems). The year I took the class Dr. White also covered some group theory and its application in combinatorics, which may or may not be the norm for this class.
This class doesn't really exist anymore, but here's hoping that this semi-static reference can serve as a historical marker as to what this class was like. It would be nice to see current students lobbying to bring it back, given that there is a staff member at TJ willing to teach this course again. Personally, this class was the class I credit for inspiring my current interest in combinatorics. Yes, enumerative combinatorics can seem like a grab-bag of tricks and little facts to know, and people with competitive math backgrounds will have a much easier time with the lines of thinking employed in this class. However, I think there is a rich theory here that is never really explored in competitive math or in the standard calculus pipeline in school, and this course offers a unique opportunity to get a glimpse into what combinatorics is like at an undergraduate level. As a bonus for the future CS majors, you'll have to take a discrete math class anyway, and it's likely more fun here in this setting than at wherever you end up. Regardless, this class was a great experience and I hope that this class returns someday.
- Introduction
- Basic Notation
- Counting Strategies
- Combinatorial Sequences
- Interlude: Stirling's Approximation
- Problems and Examples
- Ordinary Generating Functions
- Solving Recurrences
- Exponential Generating Functions
- Interlude: Calkin-Wilf Tree
- Interlude: Partition Numbers
- Group Theory
- Burnside and Polya
- Turing Machines
- Computational Complexity