There could be some filtering function here like the pool of grads who made a significant effort to come to the US afterwards, but yeah. 100% rockstars every time.
Don't just take my word for it -- from the lips of pg himself: https://news.ycombinator.com/item?id=6655271
Waterloo internships last 3.5 months. 16-18 weeks. That's ~150-200% longer than some other schools summer internships.
Computer science students graduate with roughly 2 full years of work experience at 6 different orgs. Not including any extra curriculars.
Waterloo load balances internships across the entire year. Each class of CS is split into four schedules. Students will study in the summer and they will do internships in the fall and winter.
Many, many big companies offer internships to Waterloo coops students in the fall and winter. I'm not sure if other students are ever available at these times.
At Waterloo, computer science is a math degree and they teach students how to prove things. It's one of the first things they learn.
Also, we learn lisp as a first course in programming.
> Many, many big companies offer internships to Waterloo coops students in the fall and winter. I'm not sure if other students are ever available at these times.
From my experience hiring, most target schools don't offer every classes at every semester (they are just too small). So taking a fall/winter internship can delay graduation by a whole year.
So I used to get flooded by resumes from Waterloo for the fall and winter because they were the only ones to apply (coupled with the school being larger than my usual target schools combined together!).
Humour me! At Waterloo, nobody gets kicked out of school for not doing co-op. It is an optional program. You must be talking about something else.
> From my experience hiring, most target schools don't offer every classes at every semester (they are just too small). So taking a fall/winter internship can delay graduation by a whole year.
At Waterloo some specialized upper-year courses are only offered once a year, but the first 2 years of courses are usually available year round.
My first internship was Sept - Dec 2013. They liked me enough that they asked me to stay an extra 4 months. I was able to say Yes immediately. I just took all my 2B ("second half of sophomore year") courses in the summer after working until May.
I have also had extremely positive experiences with Waterloo grads (and student interns), and I kinda wish that I had done a program structured in the same way. In particular, the program requires that students do several "co-op" work terms, so by the time they graduate, they've worked in multiple organizations and have the equivalent of more than a year's work experience. They have a better idea of what kind of work is a good fit for them, they know they can be productive in real projects, and they have some exposure to the organizational/communication/process portion of getting stuff done as well.
We complain sometimes about the disconnect between software engineering and the "computer science" curriculum -- and it turns out that actually having a thoughtfully composed "software engineering" program is a pretty good and natural solution.
I think they Astroturf a lot. At least on this site. Any thread about a class at Stanford/MIT/CMU (often because they posted the textbook for free) and someone from Waterloo will post what they teach, no matter if it's relevant.
It's also a giant school (36,000 undergrads and 6,000 postgrads) and from what alumni told me, undergrads are incentivized to apply everywhere and especially during the off-cycles (winter) for internships when they are effectively the only ones looking.
Contrast that with Stanford that's barely 7,000 undergrads and 10,000 grad students).
I think they also have to get internships to even stay in the program (it's coop) so I guess that weeds out the unemployable.
The coop program is probably their biggest strength. Working with coop interns is fantastic and almost always leads to a job post graduation.