@ehcsrc, for highly accomplished applicants like you who are aiming for top CS schools, UIUC, UMD and Purdue are a common trio of schools to apply to that are somewhat easier to get into vs your high reaches. You have an advantage at the first, being an IL resident.
I recently visited Purdue for information session on their engineering program. To be honest, their engineering program didn’t really appeal to me—I know it’s fantastic, but I think that the stringent requirements associated with an engineering degree maybe aren’t for me, especially if I receive little to no credit for my HS classes (including non-APs).
Generally, I’d like the ability to take high level courses—building on my current courses—that aren’t required but rather trend towards a specific major or two (or three?). I guess I’d like to eventually go to grad school too and it would be nice for some courses from undergrad to transfer.