Hey, I'm an Electrical and Computer Engineering senior, studying at the American University of Beirut, one of the top schools in the region. I have recently realized that I really want to go to graduate school and study theoretical computer science, however, due to a general lack of motivation and direction, I have a 2.3ish GPA which is way below the cutoff point for any of the schools I've been looking at. I never really planned on going to grad school, until I took an algorithms class by pure chance (just taking courses to fill up my credit requirements) and got a 93, the professor suggested that I take the grad course continuation, I did and scored an 85. After talking to the professor about my interest in the field he helped me realize that grad school was the best place for me to continue studying what I really loved. My GRE is in a few days, I've taken a few practice tests and I am scoring in the 167-169 range for the quantitative section amd 157-160 range for the verbal, and I guess I'll probably score within that range or possibly higher. My professor gave me a few papers to read (around 200 pages in total) which include a paper he wrote, on the topic of coding theory, and said he would gladly supervise my research if I'd like to try and tackle one of the open problems at the end of his paper, although I don't know if I'd be able to publish anything in the year I have remaining. I've also been reading some papers on computational complexity theory written by professors in the schools I plan to apply to (University of Wyoming, Iowa State, CU Boulder, Boston University, Illinois Tech, Concordia, and the University of British Columbia). I plan on contacting professors in Wyoming, Iowa, and Boston in order to discuss my interest in their research, and hopefully schedule meetings in person with them and plan a week long trip to the US in order to basically try to talk them into sponsoring my application. It's noteworthy that I plan on applying for an MS degree rather than a PhD, and I have no problem funding it myself (especially if that would help my chances of getting accepted), could you guys evaluate my chances and possibly give me some advice on what I could do to spruce up my profile? Thank you in advance. P.S. Since I'm an engineering student I've taken a lot of courses that have absolutely nothing to do with my research interests/what I plan to study, the average of purely software related courses adds up to a 2.9ish GPA, if that helps.