(EDIT: updated with 2174 data.)
This picture shows the evolution of class sizes in classes taught by Computer Science faculty since Fall 2008. Specifically, it shows the likelihood that a randomly chosen scu will belong to a class of a given size.
So, for instance, you can see that in Fall 2008, more than 50% of our SCUs were delivered in classes of size less than 30, and that in Winter 2017 (2172), about 90% of our SCUs were delivered in classes of size 40 or less.
Here’s the picture for the College as a whole:
You may be wondering why I keep yammering on about SCUs, rather than saying things like “50% of classes…”.
This distinction turns out to be important. To take an extreme example, suppose that a department taught 99 classes of size 1, and one class of size 901. If we looked at the distribution of class sizes, we could say that 99% of our classes were of size 1, but this would be pretty deceptive, because 90% of our students wind up in the giant class. The fix is to use SCUs (student credit units) as our metric, rather than classes. This ensures that larger classes are (correctly) weighted more heavily, and answers the question we actually want to answer, which is: what is the chance that your child will wind up in a reasonably sized class?
Looking at this picture, I would say that the CS department has actually done a pretty good job; we’ve consistently kept between 80% and 90% of our SCUs in classes of size 40 or less. It’s true that we don’t have many classes of less than 30 students, any more. On the other hand, for the college, only about 70% of SCUs are taught in classes of size 40 or less.