There are many possible options for studying Computer Science or Software Engineering at McGill. The School of Computer Science offers many programs, all of which are listed here. On this page we provide you with some clear guidance on how to pick the right degree program for you. If, after reviewing all of the material, you have some specific questions, then ask us for some personal advice.
Most of our students choose a B.Sc. degree program. The B.Sc. degree is suitable for you if:
There are three main programs available in the B.Sc. program:
The Major in Computer Science contains core required courses, plus a wide choice of higher-level complementary courses. If you choose this program, you will get a good general background in foundational and applied Computer Science and you will get to choose from a wide variety of complementary courses that you will let you explore some more advanced topics. With the correct choice of courses you could prepare yourself for employment or for further graduate studies.
The Honours program requires more courses than the Major, plus there are some core courses which have a special Honours version. An Honours program gives you a deeper and more comprehensive education in Computer Science.
The Major in Software Engineering also contains a core of Computer Science courses, but also contains more courses pertaining to the principled development of software. A more detailed explanation of the difference between the Computer Science and Software Engineering majors is given further on.
If you decide on a B.Sc. degree with a Major/Honours in Computer Science or Software Engineering, then you should choose "Faculty of Science" on your application form and choose the Physical, Earth, Math and Computer Sciences group.
Note that there is a lot of flexibility in the B.Sc. programs and you can combine your Computer Science studies with other disciplines by doing a joint degree or by taking a minor in many other fields. (see the Combining Studies page)
For detailed B.Sc. program information, see the Program Listing Page.
Some students choose to complete a B.A. degree. In fact, it is possible to get quite a strong training in Computer Science within the B.A. degree program by taking both the Computer Science Major Concentration along with the Supplementary Minor in Computer Science. In terms of Computer Science content, this is almost the same at the B.Sc. major in Computer Science. You will be taking the same Computer Science classes and you will work in the same state-of-the-art computer labs as students in the B.Sc. program. In fact, in the classes and labs there are no distinctions between students in the B.A. program and students in the B.Sc. program - they are equal.
The B.A. degree is suitable for you if your background does not include very much Science, but you do have a good background in Mathematics and you have an interest and aptitude for logical reasoning.
If you decide on a B.A. degree, then you should choose "Faculty of Arts" on your application form.
For detailed B.A. program information, see the Program Listing Page.
There is one final possibility, and that is the combined B.A.&Sc. degree, which is jointly offered by the Faculty of Science and the Faculty of Arts. In the B.A.&Sc degree you can combine a 36-credit Major Concentration in Computer Science or Software Engineering with a Major Concentration or two Minor Concentrations from Arts. For example, you could combine your a Computer Science studies with areas such Economics, Anthropology, Philosophy, Linguistics, Geography and many other possibilities. With the B.Sc. degree you will learn all about Software Engineering and whatever else interests you. You will have the opportunity to take a wide range of classes with both foundational and practical applications. In addition, you can choose your complementary and elective courses to learn more about computer applications or to broaden your studies in Arts, Sciences or Management.
For students coming from CEGEP, the B.Sc. degree fits into 90 credits and can be completed in three years.
The B.S.E degree is structured so that in addition to courses specific to Software Engineering, you must also take many engineering-specific courses that are common to the Engineering degrees, plus more courses related to hardware. For example, students in the B.S.E. program must take required courses such as Fundamentals of Electrical Engineering, Circuit Analysis, Fundamentals of Signals and Systems, and so on. Since the Engineering courses require quite a few credits, there is less flexibility for studying more software courses and many fewer electives. The inclusion of all of these extra Engineering courses also means that students must take more total credits. For students coming from CEGEP, the B.S.E. degree is 112-114 credits, meaning that it takes at least 3 1/2 years to complete. Students graduating from this program are eligible for registration as professional engineers, since the program has been accredited by the Canadian Engineering Accreditation Board.
Students in both programs have a wide variety of job opportunities and access to internship opportunities. Students in the B.Sc. program have more flexibility to choose their programs and can, for example, select courses that also prepare them for a career in game programming or to study a minor in Management or Marketing.