Since 2002, I have run a course at U of T in which teams of senior undergraduate students do projects for clients from local startups, non-profits, university departments, and the research hospitals. Last year, as an experiment, I took on students from other universities as well, including Waterloo, Lakehead, Alberta, and Havana.
Colleagues from several Canadian universities are joining with me this fall to scale up this effort . We plan to have 20-25 students from half a dozen schools work on a handful of open source projects. Students will register in the appropriate course at their home institution, but each project team will include students from at least two (and more usually three) universities, so that students will gain first-hand experience with the time zone and language issues that have become a routine part of global software development. Just as importantly, these projects will give students a chance to get to know their peers elsewhere in the country---something they have little opportunity to do otherwise.
A key part of this course will be bringing the students together for a three-day code sprint at the end of September. As we found out in February, this pays off in all sorts of ways. Several companies and organizations have now pledged financial support to cover travel and accommodation expenses; I'll post the list (and my thanks) as soon as the paperwork is in place. I'll also post the list of participating universities, along with contact information.
It's going to be an exciting fall...
 These cross-Canada projects are separate from the consulting course I described last week, in which graduate and undergraduate students from U of T will do projects using the City of Toronto's data.