If you take a good/strong faculty like UPenn has, and couple it with a small school, which UPenn is not in the scheme of private schools, but it is in the scheme of the large publics that are above it in rankings (say UMich, UMD CP etc), then UPenn is very likely to provide a very good undergrad experience in CS. And they place reasonably well.
My son’s friend moved from GTech to UPenn in CS, and is very happy there. This is a very well informed kid, about CS, even before he went to college. UPenn will have better resources per capita than many other schools that are ranked above it in the list, and likely many other smaller schools such as LACs etc.