If I may, to complement Shane's answer, a number of universities have co-op programs as well, and a number of firms in the industry are high users of those co-op programs, and they seem to be working well.
They're good practices. For example, the University of Waterloo and the Université de Sherbrooke put a lot of emphasis on those co-op programs, because they recognize the benefits for the students and for the industry as well.