<p>I am not in CS, but I am a college prof., I have participated in admissions, and I am fairly familiar with the schools mentioned. My two cents:</p>
<p>It would be best to choose a school with a first or second tier reputation. It is also fairly important to choose a school with an established program in your field. </p>
<p>Why? These established programs are easier to judge on an admissions level. In particular, a GPA from an established top-tier school carries a lot of weight. A GPA from a 3rd tier school is harder to judge. </p>
<p>Normally for Grad school, you will need at least a 3.3 to get into a PhD program. You will need at least a 3.7 to get into a better program. The better the program, the lower the cut-off. That said, it would be better to have a 4.0 from a second or maybe even a top third tier program, than a 3.2 from a top program. </p>
<p>Letters from renowned professors are important AFTER you have a PhD, but are not so important for graduate admissions. In general, your exposure to famous profs at famous schools, will be extremely limited. Frankly, you will be lucky if a famous prof even remembers your name. Most of your contact will be with grad students. This is not a knock of these profs, but often big name profs barely teach at the undergrad level, and when they do, it is to larger classes. That said, if you are a 4.0 at MIT, the profs will probably know you. Often Honors programs (you mention Waterloo) offer more contact with pretty big name profs, and this can be a plus in terms of letter writing. </p>
<p>Letters are extremely important, but the name attached somewhat less so. Profs on the first and second tier often know and respect each other (if only vaguely). So any letter will be valuable. Letters are most important if you come from a small school. If I see a 3.8 from a second or (particularly) a third tier program, I want to see the letters. The good thing is that you are more likely to have good personal endorsements from these second and third tier schools if you are very good. The best letters give a personal endorsement from profs who have had you in at least two courses (one advanced.</p>
<p>Most grad schools request that the prof grade a student percent-wise, top 1 percent, top 10 percent, top 20 percent, top 50 percent. The lesser the school, the higher the percent you will need. Even at third tier schools, a very high GPA, very high GREs and a great letter will get you pretty far. Though, the very top programs sometimes will admit these students first on the MA-level as a trial run and to help these students get up to speed (coursework below the mid-second tier is generally not nearly on par with the best schools).</p>
<p>In terms of graduate school, you are much better off having a 3.85 from a top second tier program, than a 3.3 from a top tier school. In terms of life and jobs outside of grad school, you are probably better having the 3.3 from MIT (GPA matters much less than the name of the school in non-academic life).</p>
<p>A few more points. I realize that this is an informal setting, and I am sure that I have a few typos in the above post, that said, your posting, for me as a prof, raised a red flag. Your grammar was quite poor. For me this either suggests a language issue (is English your second language?), and education issue, or a lack of attention to detail. Even with a CS degree, these are very very important issues. As a prof, who writes letters of recommendation all the time, fair or not I am evaluating you every time I see you in class, after class, in office hours, in email. I am just like a boss at work. So, grammar matters, even in informal communication with a prof.</p>
<p>All that said, best of luck!</p>