How do your GPA and your grades in general compare to other students in your high school and in your country? Do you know if you are in the top 10% or the top 20% for example? This is something that university admissions is likely to know, but at least for Uzbekistan most of us here on this web site would not know. How competitive is the high school that you attend?
Your grades and SAT scores appear to be low for the most famous highest ranked universities such as Harvard, MIT, or Stanford. However, there are a lot of universities that are very good for Computer Science, Mathematics, and related fields such as AI and cybersecurity.
I am wondering about universities such as University of Massachusetts Amherst or one of the SUNY’s (maybe Binghamton??) or Rutgers in the US. U.Mass Lowell might be safer for admissions but I would probably choose U.Mass Amherst over Lowell if you were to get into both.
In Canada I wonder about Simon Fraser or the University of Calgary or the University of Victoria. Here is a list of some good universities in Canada for computer science. Note that McGill and Concordia will require some proficiency in French to graduate (you can learn this while you are there) and a few universities such as Montreal and Laval are French speaking schools. Ottawa is bilingual, and most other universities in Canada (and the rest of this list) teach in English: https://education.macleans.ca/feature/canadas-best-computer-science-programs-university-rankings-2024/
The big problem that I have is that I am not familiar with the education system that you are studying in, and therefore do not know how competitive you are for admissions.
And I am sure that others can suggest quite a few other schools to consider. This does bring up the issue: What do you want in a university? Do you have preferences such as the size of the school, would you prefer a city or small town, and what sort of winters are you comfortable with?
If you are really able to pay up to 70K/year, then you are certainly not “done for,” as there are public universities with fine programs in your areas of interest, where you could afford to pay the full cost even if you didn’t get merit or need-based aid, and where your stats would get you in.
Getting need-based aid as an international, on the other hand, is more difficult.
So, a bit more clarification of your financial situation would be helpful.
CS is generally more competitive than other majors, so you’ll need to calibrate your expectations accordingly. But there will be high-quality programs that will work, with the budget you describe. I’m not as optimistic about getting down to $20K/year.
Unless it is super selective or super-selective-for CS (UIUC, UMD, UMass Amherst, UWa, UCs, UNC, UVA, Purdue…) all flagships would be good matches. And of course you can try& apply to a couple among the above, which may be reachable reaches. But overall, VTech, W&M, NCSU, SUNY Binghamton, SUNY Buffalo, Pitt, Penn State, tOSU, Michigan State, UMN, would all be good matches.
Then add a few privates known for STEM or with good internship opportunities, 1-2 from Lafayette, Lehigh, Union, Whitman, St Olaf, Syracuse, American University…
Complete with 1-2 high reaches and you’ve got your list.