October 19, 2012

Lessons learned at UWaterloo (1st part): the Co-operative Education program

I spent one year at University of Waterloo in the Electrical and Computer Engineering department. I will try to extract from this fruitful experience a small set of short lessons. Here is the first one, an ode to the so-called Co-operative Education system.

What Waterloo calls a co-operative education system is a dual education system, which combines academic studies and professional works. We also have such program at Telecom Bretagne (my employer), see this link (only in french). All undergraduate programs are "co-op" at Waterloo. According to rankings based on surveys, it works pretty well for them (#29 for Business Insiders).

In France, dual education system at the graduating level is not the most prestigious curriculum. The "royal way" consists of two harsh years focusing on abstract mathematical concepts, a success in a ultra-competitive exam, then three years in an engineering schools at socializing (i.e. partying) and specializing. Students enrolled in dual education system are not considered as the best because they have not demonstrated outstanding scholar skills at the ultra-competitive exam. I already expressed serious concerns about such curriculum in a modern (i.e. computer oriented) society.

On my side, if I had to hire one engineer in my research team or in a start-up, I would definitely hire a "dual education" engineer. As far as I can see at Telecom Bretagne and UWaterloo, students have a lighter scientific background on the fundamental areas. However, they just program well. And they just work well. I have to admit that, like probably most companies, I value "programming well and working well" far higher than "having a strong background on fundamental scientific areas".

Dual education is an efficient way to teach software programming and project management, since, in general:
  • Teachers don't code. You can't count on them to learn programming tricks.
  • Teachers can't catch up all new technologies. Nobody is an expert in MapReduce, Ajax, and ObjectiveC at the same time. You can't expect that from teachers neither.
During academic terms, teachers can focus on the fundamental of programming and they can skip the courses about languages and technologies. During their terms spent in companies, students can discover the latest technologies and code with professionals. Good match, ins't it?

No comments:

Post a Comment