Skip to content. Skip to navigation
McGill Home SOCS Home
Personal tools
You are here: Home Academic Undergraduates Programs Software Engineering
SE Program
SE Comparison
SE Examples



Welcome to McGill, welcome to the School of Computer Science, and most of all, welcome to the Software Engineering Program offered by the School of Computer Science in the Faculty of Science. We offer a B.Sc. Major in Software Engineering and have a group of professors teaching state-of-the-art courses and doing research in Software Engineering. Come and join our team of undergraduates, graduate students and professors actively engaged in cutting edge software engineering.

The School of Computer Science, part of the Faculty of Science, is where you find the software engineering professors at McGill. They lead a team of dedicated students, both at the undergraduate and graduate level. Because the professors are actively engaged in current software engineering research their courses reflect state-of-the-art techniques and provide opportunities for many software engineering projects in a variety of exciting areas, including games programming and software development environments. These same professors offer opportunities for undergraduate students to get involved in their research through course projects, research courses and summer research positions.

On this page you'll find all the information you'll need to determine if the Software Engineering Program is the right choice for you.

If you are a prospective student, please see our web pages with information on how to choose your major, job prospects and much more.

Background Information

The School of Computer Science offers a new B.Sc. Major program in Software Engineering since theFall of 2002. This B.Sc. program is offered through the Faculty of Science. The program is closely related to the one in computer science, but puts more emphasis on software development related activities, such as programming techniques, object-orientation, software processes (requirements engineering and analysis, design), project planning, quality assurance, and fault tolerance. Students choosing the software engineering option will also do more practical work, for example participate in larger group projects.

Frequently Asked Questions

  1. What's the difference between a Computer Science Major and a Software Engineering Major?

    The main difference is that the Software Engineering program contains a larger set of required courses concerning the principled design and development of software. The computer science major requires 60 credits, whereas the software engineering major requires 69 credits. Also, the list of required and complementary courses in software engineering is more oriented towards practice than the general computer science ones. In addition, several development projects are mandatory.

    If you are entering McGill from a high school, you may not have to decide which program you prefer right away. You can start with the introductory courses that are common to both programs and then decide which program you prefer.

    If you are entering McGill from the CEGEP, then you will be asked to specify a major when you apply. However, there is still quite a bit of flexibility and you will have some time to decide which you prefer. If you are accepted to McGill you can change your major from Computer Science to Software Engineering (or vice versa) when you actually register at McGill, and you can even change it after you have taken some introductory courses.

  2. What is the difference between the Software Engineering Major offered by the School of Computer Science, and the Bachelor of Software Engineering (B.S.E) degree offered by the Department of Electrical and Computer Engineering?

    If you have decided that you would like to pursue a degree in Software Engineering, you still have to decide if you would prefer the B.Sc. in Software Engineering, offered through the School of Computer Science in the Faculty of Science, or the B.S.E. offered through the Faculty of Engineering. What is the difference?

    This is actually an important decision because the programs are offered by different Faculties and it is much more difficult to switch between Faculties than to switch between majors within one Faculty.

    Students who wish to take the B.Sc. degree in Software Engineering should indicate the "Faculty of Science" on their application form, whereas students who wish to take the B.S.E. degree should indicate "Faculty of Engineering" on their application form.

    Both programs in Software Engineering share a common core of software engineering courses. Outside of this core, the requirements of the two programs are different.

    The B.S.E degree requires several courses that are common to all Engineering degrees, and some courses related to hardware (e.g. Fundamentals of Electrical Engineering). Students graduating from this program are eligible for registration as professional engineers, since the program has been accredited by the Canadian Engineering Accreditation Board.

    The B.Sc. degree does not require the general engineering courses or the hardware courses, but rather provides a broader scope in software and general computer science. The B.Sc. degree also includes more elective courses, which allows students to pursue other interests or to include, within their degree requirements, a minor program from a different field such as management, arts or other sciences.

    Students in both software engineering programs are well prepared for a wide variety of jobs and may participate in the Internship Year in Engineering and Science.

    For an in-depth comparison of the two programs, check out our program comparison page.

    This website gives you detailed information about the B.Sc. in Software Engineering, please visit for more information about the B.S.E. degree.

Labs & Professors

As mentioned above, the Software Engineering Program emphasizes practical work. During your stay at McGill you will be in contact with, attend classes, or even perform projects under the supervision of most of our systems-related professors. If you already want to know more about them and their current research activities, goto the software engineering research area overview page.

Of course, during your studies you'll also encounter most of the other professors of the School of Computer Science.

Professors Kienzle, Robillard, Vangheluwe and Verbrugge are Software Engineering advisors. You can make an appointment with them via Ms. Ann Jack, by sending them an e-mail, or by dropping by during their office hours.

Study Schedule

See the undergraduate programs schedule page to get to the approved study schedule.


Click here to get more information on what you will learn during your software engineering studies, and what kind of applications you are going to develop.