Ontario high school student - Waterloo, US (california) school options? (Computer Science)

So I have a passion for computer science and would like to know my options. I got into San Diego State University, and feel like I have a good chance to get into U of Waterloo (co-op program). My goal is to end up in a top tech company such as Apple, Google, Microsoft, etc. and to preferably live in California. Tuition is not a factor, and I am for sure going to graduate school.

I want to know my options (disadvantages/advantages) for:

  • Waterloo for 2 years, then transferring to US, followed by graduate school
  • *Waterloo for 4 years, then graduate school in US
  • SDSU for 2 years, then transferring to UC school (if possible?), then graduate school
  • SDSU for 4 years, then graduate school

*The 2nd option is my most preferred, however I would like to know all my options.
I know it’s a lot to ask, but any information would be great, thank you so much in advance!

Unless you goto top 10 CS programs in US, you are better off with top Canadian universities (UWaterloo, UToronto, UBC, McGill, SFU, UVic) for CS.

UWaterloo is very well recognized in US and around the world for its CS, Engineering and Math programs. So, if you are a Canadian then do the 4years (5years with Co-op is recommended) CS degree at UWaterloo and then relocate to SF bay area or any other tech cities in US and you will have no problem getting interviews at Apple, Google, FB, Twitter, etc.

Piece of Advice: No matter which school you attend, try to excel in your technical as well as communication skills.