Math/Theoretical CS major: Match schools?

There are quite a few subfields of theoretical CS (complexity theory, machine learning, cryptography, …) but you may have to look fairly hard to find much in these areas at a small “match” school. You’d probably be looking mostly at very selective mid-sized schools (like Princeton) or else large state universities. However, a selective LAC with a strong math program, like Williams, might also have a few CS courses in machine learning, theory of computation (TC), etc., that you could cobble into an interdisciplinary major-minor program.

As for less selective LACs and small universities, St. Olaf lists a TC course (offered every other year). Macalester and Brandeis apparently offer TC courses every year. Wesleyan (maybe a high match, if not a reach) regularly offers courses in logic & computation, cryptography, and automata theory. Depending on how bureaucratic/flexible the place is, you may not have to limit yourself to the majors and courses shown in the catalog.