<p>I think you’re both right. Student visas are for being a student, so international students have to at least say that they intend to only attend school here on a student visa and, theoretically, that they intend to return to their home countries after finishing. However, many, many international students end up staying on a more permanent basis once they get hired in the U.S. by a company that’s willing to sponsor them. So on the practical side, there’s nothing far-fetched or wrong about OP trying to go to a U.S. institution with the plan to get hired by a U.S. company willing to sponsor him/her. I would also say that their chances of getting hired within 90 days are not “astronomically low” - it depends on where they go and what kind of experience they get. I worked with some international undergrads, most of whom got hired before they graduated from their elite Ivy institution. An international student at a top CS program with in-demand skills wouldn’t be crazy to expect to get hired within 3 months of graduation.</p>
<p>That said, CS isn’t my field so I don’t have great answers for this question - only the schools that I know have good reputations in CS, which would be Carnegie Mellon, MIT, Caltech (which I think only offers PhDs in this field), Georgia Tech, Cornell, UCSD, Purdue, UW-Seattle, Princeton and Columbia. University of Maryland and UIUC. Some of those aren’t in places typically thought of as hotbeds of tech jobs (Purdue, UMD and UIUC particularly) but there are tech jobs everywhere, and top programs will attract recruiters from all over the country. In fact…you may find less competition in less tech-heavy places in the country. All of the top techies want to go work in Silicon Valley; probably fewer of them are thinking about Atlanta or DC as places to parlay their skills. BUT like I said…not my field, so just educated guesses.</p>