What are my chances for CS @ T20s

Any good CS department’s courses should have both theoretical foundations and practice in implementing them (through programming assignments and projects). Note that most CS courses (the ones with programming assignments and projects) should be considered high workload courses, so it may be a good idea to spread them throughout your eight semesters to balance the workload. A few CS courses that are just theory will be like math courses in terms of workload.

But note that some smaller CS departments have relatively limited offerings, or each upper level course may be offered only once every two years (i.e. you may have just one chance to take it, which could be a problem if it has a time conflict with some other course you want to take). You may want to look at catalogs and schedules of colleges of interest to see what they offer.