@IsaacF21
Again, find out if class rank is even recorded on your transcript. If not, most US colleges won’t even bother to track it down. If it is, you’ll want to, someplace, simply make sure your IB program and IB scores clearly show that you took a more difficult track than most students. What is your final IB score? Competitive U’s will know how to look at that. Your IB score and your grades in academic classes will matter. Many schools will pretty much ignore non-academic course grades. You subject scores or ACT subscores will also matter. If your class rank is 33% and your GPA (you must have a 100 pt system right?) is 85 UW and your IBs are 22 and your SAT subjects are 600, that will suggest one thing. If your class rank is 33% and your GPA is 93 UW and your IBs are 35 and your SAT subjects are 700, that will suggest another. Don’t worry about class rank if it is the outlier. If on the other hand all or most of your scores are below a U’s 50% mark, it becomes a reach for sure.
As far as program/ranking etc. Be very careful about making decisions based off rank. It’s a really, really, reeeeaaalllly blunt metric. Waterloo, for instance, is incredibly well respected for CS, as is U of T (esp with their co-op program.)
USC is as well (esp in the worlds of 3D animation/autocad/solidworks etc.) and USC is working very hard at bumping up it’s rep even more. But if you are applying to Viterbi know it will be more difficult than USC overall - and has lower admit rate… UCBerkeley (Cal) has 2 CS programs: One is in the Engineering college and you apply directly to the major (I think - you should confirm) and is very compeititve. The other CS program is in the Lib Arts college and is less competitive for admission, in that I don’t think you need to apply directly to the major. Again confirm, I have not been through this process in a couple of years and might not remembrer correctly.) One thing, as an Out of State applicant you will need higher scores than the “Regular” CA UC applicant for almost any UC school (perhaps not Mercer, Riverside or Santa Cruz, but not sure.) And you will have to pay the OOS tuition, which is about as high as any private US school.
I would really try to visit Cal, UCLA, USC, UCSD, UCSB if you are serious about attending. They are very different schools with very different feel. The others you mention are great schools too, but you have kind of picked the most challenging engineering programs for an OOS student to get into (they are all state schools, for the most part.) UMich and UWash-Seattle are also very good US state schools for CS. But there are great private schools too that won’t be much different in costs and may have more resources for students.
I would wonder what it is you are really looking for in a school. There are so many good CS programs out there. Do you want to be in Illinois or CA? Georgia? Are you sure you want that big of a school? Do you care how many courses you can take outside the engineering major? USC/Viterbi requires a certain # of GE courses as well as 2 (?) writing courses on top of the required ABET program. Other schools have other requirements.
I would spend some time on the various school’s websites and get a better idea of what the schools have to offer and why you might want to go. Spending that much money (even if it’s not yours) should involve a lot of due diligence.
And I would really not overlook UofT, McGill or Waterloo. (If I were you I’d make a deal with your folks - go to UofT and have them give you 1/2 of the money you saved to fund your start-up!)
Hope this helps. One tip, if you are going to apply to USC do so before Dec. 1 of your Senior Year as that is the cut off for merit aid and there is a rumor that USC might consider students that apply after Dec 1 as perhaps less interested in SC. Schools in the US want to know you want to go there if they accept you. (helps their Yield number.)
Good luck!