I think that medium sized universities would be better for CS than LACs because of the size.
URochester is an excellent choice for your son. It’s “almost” midwest. It’s a very academic school with very strong CS, and very LAC like.
WashU has very good CS also.