Education

I chose the Software Engineering program in the department of Engineering. Both Computer Science and Engineering schools offer a Software Engineering program. They both emphasize on software development, but the Engineering program includes courses about the engineering profession and the program is also recognized by the Canadian Engineering Accreditation Board. In the Engineering program, students have very similar core software courses and more required courses (112 credits versus 90 credits), including electrical and computer engineering courses.

Undergrad

The curriculum has slightly changed over my three years at Mcgill University (see both pdf: 2008 [pdf] vs 2011 [pdf]). For example, the video game project (COMP-361) has been replaced by a robot project (ECSE-211) with other Engineering students rather than other Computer Science students, and there are more credits given to the final design project. Overall, the courseload is intense if students want to finish in 3.5 years. I chose to reduce the number of courses per semester to five, with an additional summer course in order to finish in four years.


Discussing with other students from other universities, such as Université de Sherbrooke, Université de Montréal (Polytechnique) and École de Technologie Supérieure, McGill's program seems more theoretical. Other universities seems to have programs that emphasize more on projects and allow for specialization in certain domains (security, management, video games, etc.) within the bachelor's program. At McGill, maybe as in other popular american universities, theory is central to learning about thinking problems and solutions, as opposed to practicing using projects. For this reason, I heard career advisors and recruitment specialists say that universities don't want to teach all the programming languages to students, nor teach them how to be proficient in technical aspects of software development, but rather emphasize on giving students ways to think as engineers and computer scientists. This reasoning seems fair, but as my programming skills before university were very close to zero, I would have liked to get more practical (maybe useful laboratory) courses as found in those other Quebec universities, and particularly those applying Problem-Based Learning. Moreover, a program similar to the 2011 Software Engineering curriculum (pdf), with more programming courses in the first semesters and organized internships in the industry would make McGill's program more attractive. Assisting to technology career fairs organized by the McGill Career Centre was not enough to get programming internships in my first two years.

So far...

The different courses in my Software Engineering undergrad are below, along with some comments.

Winter 2012

Last semester in my Bachelor's degree!

Fall 2011

Less courses, harder projects

Winter 2011

Less courses, more projects

Fall 2010

Average courseload, part-time job

Summer 2010

Prepare for design projects

Winter 2010

Coolest project

Fall 2009

Harder programming

Winter 2009

Math, electrical, and computers

Fall 2008

First semester

Summer 2008

Preparing for English courses


by Patrick Desmarais

last updated: January 2012