Here you will find the differences between the different programs offered at McGill in Computer Science: From the various Faculties, to specific programs, as well as information about the Joint Programs offered
B.A. or B.Sc. or B.A&Sc.
Bachelor of Science, B.Sc. (Faculty of Science)
There are four main programs available in the B.Sc. program
Major in computer science (also available with a computer games option)
Honours in computer science
Major in software engineering
Honours in software engineering
A major in computer science or software engineering provides a good general background in foundational and applied computer science. If focusing on software, you'll be exposed to more courses pertaining to the principled development of software. Major programs usually contains:
10 core required courses
3 sets of courses from which to choose complementary courses
21 additional COMP credits (around 7 courses) at the 300- level or above.
Other programs include:
Major in computer science and biology
Major in computer science and physics
Major in computer science and mathematics
Major in computer science and statistics
Joint honours in computer science and statistics
Joint honours in computer science and mathematics
Liberal Program - Core Science Component Computer Science
Liberal Program - Core Science Component Software Engineering
If you are pursuing an honours major, you'll often be required of:
15 required courses
2 groups from which to choose complementary courses
21 additional COMP credits to choose from at the 300-level or above.
An Honours program gives you a deeper and more comprehensive education in computer science (and is particularly encouraged if you seek to attend graduate school) and requires a thesis.
If you choose to study computer science within the B.Sc. program, you'll have much more flexibility when it comes to choosing your courses. You can easily supplement your studies with a minor in other faculties.
If you decide on a B.Sc. degree 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. The only exception is that the Computer Science and Biology Joint Major is in the Biological, Biomedical and Life Sciences group.
Bachelor of Arts, B.A. (Faculty of Arts)
Some of the students associated with the School of Computer Science choose to complete a B.A. degree; in fact, for international students, the cost of studying within the Faculty of Arts is approximately half that of studying in the Faculty of Science. It's 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.
There are two main programs available in the B.A. program:
Major in computer science
Major in software engineering
Supplementary minor in computer science
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.
Bachelor of Arts and Science, B.A.& B.Sc.
The combined B.A. & Sc. degree, jointly offered by the Faculty of Science and the Faculty of Arts is also an option available to our students. 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 computer science studies with areas such economics, anthropology, philosophy, linguistics, or geography.
Another option is the Interfaculty or Honours program in Cognitive Science. This is currently the only major and honours programs in cognitive science available at McGill (there is cognitive science minor in the B.Sc. program). You can choose a principle of area concentration, namely computer science.
CS or CE or SE?
So you've decided you're interested in the study of computers and computing. But what major to pick? Depending on your faculty (see our other section for more details) you have 3 primary choices: Computer Science (CS), Software Engineering (SE), and Computer Engineering (CE).
B.A/B.Sc/Ba.Sc: CS, SE
B.Eng: SE, CE
Of these 3, CS and SE are the most closely related. Both cater to the study of computing theory and its applications. The primary difference between the two revolves around their larger focus. CS offers a general introduction into the theory behind the field, whereas SE provides a curriculum to its students that are more catered towards practical applications. Both start with the same set of foundational courses like COMP 202, 250, 251 etc., meaning if you're early in your studies, it's easy to switch back and forth. However, with upper-level courses, SE requires more software development related courses like COMP361 (year-long software engineering project). CS in contrast requires more theoretical coursework like COMP 330, COMP 360. CS offers greater flexibility (less specifically required courses) in upper-level course selection but some may prefer the structure offered by SE with things like its "Application Specialties" track. Ultimately, when it comes to employment prospects, there doesn't appear to be a discernible difference in the outcome of these two.
CE is an almost entirely different field, however, CE is oriented towards computer hardware principles. Offered only by the Faculty of Engineering, the CE major leads to an engineering certification and thus follows a much more structured core curriculum. Whereas CS and SE (besides the B.Eng variant) range anywhere from 36-63 required credits, CE requires ~133 credits. Your studies are highly structured with a mix of core engineering and major courses, leaving little room for electives. Many of your courses are hardware related like digital logic and microprocessors as opposed to CS/SE's software theory-oriented algorithm design and distributed systems.
tl;dr: Mostly interested in creating software applications? Choose CS or SE. CS offers greater flexibility in course choice but SE provides more applied software development experience. CS's more theory-centric nature also may make it the preferred choice if you plan on grad school. More interested in hardware development? Choose CE.
Joint CS & Biology
Why CS Bio?
The joint major in Computer Science and Biology is a program to give students an outlet, within the McGill curriculum, to understand the basics of both computer science and biology and to appreciate the intricacies involved in their joint application. The program trains students in the fundamentals of biology and gives appropriate computational and mathematical maturity to pursue a multidisciplinary career.
A degree in computer science and biology can come in handy in a huge variety of fields/industries. Graduates of the program have gone into a wide range of careers, from big tech companies to medical and other graduate schools. Although not exhaustive, fields such as computational genomics, bioinformatics, computational neuroscience, bio-modelling, and computational anatomy seek those who have an integrated background in both biology and computer science, and the degree does just that. Having skills in computer science and knowledge in biology are great assets to showcase yourself!
The degree also presents a unique opportunity to conduct a research project involving both computer science and biology with COMP 401 “Project in Biology and Computer Science”. You’re given a lot of freedom to find a project and work with a
professor of your choosing (even outside of BIOL and COMP department) as long as it is related.
Choosing the Right Program
Within CS/Bio, you have the option between a Joint Major a Joint Honours degree. There’s a lot of overlap between the courses for both degrees, with first year classes being almost exactly the same, so if you’re on the fence you can decide later in the program or try an honours version of the few courses where the program diverges to see how you find it. Both options include an opportunity for you to do a research project. The Honours program is generally more demanding and time consuming than the Major program. In terms of registration, honours students have priority when registering for honours classes, but those in major programs can also register, sometimes with permission of the professor.
In your first few years, regardless of which program you choose, your basic prerequisites will include COMP 204, COMP 250, COMP 206, BIOL 219, MATH 240, and CHEM 212. It should be noted that the honours program does not require you to take honours equivalent MATH courses (although you may on your own accord). If you are interested in interdisciplinary biological research, you are in good luck! BIOL 395 titled “Quantitative Biology Seminar 1,” exposes you to current research in quantitative biology in weekly seminars where a faculty member presents on their research. Here are the key distinctions between the major and honours courses:
Honours students need to take COMP 252 rather than COMP 251, where you learn about algorithms and data structures at a greater depth.
Honours students will also have to take COMP 402 instead of COMP 401, a two-semester six credit research project applying computational approaches to a biological problem, while the major course COMP 401 is only a semester in duration with three credits.
Honours students need to take COMP 561 titled “Computational Biology Methods and Research,” while major students have the option to either take COMP 462 or COMP 561. The difference between the two courses is that COMP 561 has a project requirement for the 1 additional credit you will be receiving.
Overall, both the major and honours program gives you a lot of freedom with what CS courses you want to take. For complementary CS courses, you have the unique freedom to choose 9-12 credits from 300+ level COMP courses with at least 3 credits at the 400+ level. So, you can take what really interests you. If you're ever in doubt about course selection, ask a departmental advisor: they will know a lot more specific information about your program.
Note: BIOL 592, titled “Integrated Bioinformatics,” is not an acceptable complementary course for the Computer Science and Biology program.
Surviving Bio and CS
The advantage of a joint program like CS Bio is that there are lots of different resources from both departments! Trottier 3090 is home to the CS Help Desk for help with your computer science courses, and there are advisors from both departments (Nancy Nelson for biology, and Liette Chin for computer science) to help with course selection and any issues you may have.
Additionally, both departments have a wide variety of cool talks and colloquia. The student societies for computer science (CSUS), biology (MBSU), and integrative biosciences (MIBS) organize and advertise all sorts of events and resources throughout the year. Be sure to subscribe to the CSUS listserv for a heads up on different events in SOCS!
For specific questions, feel free to email the VP Academic (csus-vpacademic@cs.mcgill.ca).
Joint CS & Math
Choosing the Right Program
Math/CS technically encompasses 4 degrees: Math and Computer Science, Honours Math and Computer Science, Statistics and Computer Science, and Honours Statistics and Computer Science. There's a lot of overlap between the courses, and first year classes for the four degrees are almost the exact same so if you're on the fence you can try taking the honours versions of the few courses where the programs diverge and see how you find it. Honours programs tend to be more demanding and theoretical. They're intended to prepare the student for graduate school, and honours courses generally require more time than their majors equivalents. Although honours students get priority in signing up for honours courses, students in majors programs can also register for honours courses (these classes are rarely full, so you'll most likely never need to fight for a seat in an honours math course).
No matter what program you choose within the joint math and computer science family, COMP 250, COMP 273, COMP 206, and MATH 235 will all be required. In first semester, the only courses where you'll need to choose between the honours and majors version will be analysis (and even then, the math department lets students who took majors analysis 1 enroll in honours analysis 2) and possibly advanced calculus or probability if you choose to enrol in them in U1. If you're on the fence between enroling in math/cs and pure cs, it's worth noting that MATH 235 or MATH 242 can be substituted for MATH 240 to satisfy prerequisites. If you're ever in doubt about course selection, ask a departmental advisor (this is a different person from the faculty advisor that U0s are assigned to, and they will know a lot more specific information about your program).
The difference between a stats/cs degree and a math/cs degree is fairly small, especially in early years. The two programs diverge in upper level courses, with math/cs students getting slightly more freedom in their math course selections and stats/cs students restricted mainly to statistics-related courses. A math/cs student is required to take higher-level analysis and algebra courses but has some open credits and can use their math complementaries to take statistics courses, but a statistics/cs student will have a hard time replacing stats complementary courses with, say, topology. Taking probability early in your degree will give you an idea of whether you want to go the stats route and also opens the door to taking upper-level machine learning/artificial intelligence/natural language processing courses.
Why Math and CS?
Lots of reasons! A degree in math and computer science can come in handy in a huge variety of industries. Graduates have gone on to work in both industry and academia, finding software engineering and research positions at companies like Google, Facebook, and Microsoft, as well as faculty positions at universities.
Surviving Math and CS
The advantage of doing a joint program is that there are lots of different resources available from both departments! Burnside 911 is a great resource for math course help, Trottier 3rd floor is home to the CS Help Desk for your computer science courses, and both the Mathematics and Statistics and Computer Science departments offer a wide variety of cool talks and colloquia, including the following:
Category theory and logic seminars
CS department colloquia: check the Computer Science Undergraduate listserv for a heads up on when the next talks are in SOCS.
Joint CS & Physics
Why CS Physics?
The Major Physics and Computer Science is designed to give motivated students the opportunity to combine the two fields in a way that will distinguish them from the graduates of either field by itself. The two disciplines complement each other, with physics providing an analytic problem-solving outlook and basic understanding of nature, while computer science enhances the ability to make practical and marketable applications, in addition to having its own theoretical interest. Graduates of this program may be able to present themselves as being more immediately useful than a pure physics major, but with more breadth than just a programmer. They will be able to demonstrate their combined expertise in the Special Project course which is the centrepiece of the final year of the program.
Choosing the Right Program
There are two different programs for people who want to do a Joint Physics and Computer Science degree. There is a Major program and an Honours program. There is a lot of overlap between the content of these two programs, but the Honours program has a higher credit requirement and requires students to take more honours courses as opposed to normal courses. Honours courses generally require more time than their major equivalents and are intended to prepare the student for graduate school. Both options include a one semester long research project at the end. Although honours students get priority in signing up for honours courses, students in Major programs can also register for honours courses.
Regardless of which program you choose, your basic prerequisites will include COMP 206, COMP 250, COMP 302, COMP 350, MATH 240, PHYS 241, PHYS 257, and PHYS 258. However, the Honours program lets you pick complementary courses along with your required courses and some of these options are required courses in the Major program. For the research project at the end of the degree, the Major program requires PHYS 489 while the Honours program lets you choose between COMP 400 and PHYS 479. PHYS 489 is meant to be a project combining both physics and computer science while PHYS 479 is more physics-based and COMP 400 is more computer science-based.
The Honours program gives you more freedom than the Major program, giving you 15 complementary credits, but the fact that it is 81 total credits as opposed to the 66 credits required for the Major program leaves little room for elective courses. If you're ever in doubt about course selection, ask a departmental advisor (this is a different person from the faculty advisor that U0s are assigned to, and they will know a lot more specific information about your program).
Surviving Physics and CS
The advantage of a joint program like CS Physics is that there are lots of different resources from both departments! Trottier 3090 is home to the CSUS Helpdesk for help with your computer science courses, and there are advisors from both departments to help with course selection and any issues you may have. Additionally, this degree requires a fair amount of math, for which you can go to Burnside 911 for help.
Additionally, both departments have a wide variety of cool talks and colloquia. The student societies for both computer science (CSUS) and physics (MSPS) organize and advertise all sorts of events and resources throughout the year. Be sure to subscribe to the CSUS listserv for a heads up on different events in SOCS!
For specific questions, feel free to email the VP Academic, Leanne, or CS/Physics Representative, Saida.
CS Minors
Introduction to the Minor
Since computer science has had a a profound impact on many aspects of society, health care or scientific discipline, developing basic computer skills is becoming more and more important. Thus, the Minor in CS is useful for any students in any discipline and in conjunction with any program in the faculties of Science, Engineering and Arts.
The Minor at McGill is very flexible and doesn't restrict you to low level courses, in this way you will be able to complete courses in the advanced areas of your choice: computer systems, game theory, artificial intelligence, theoretical computer science and many more. A CS knowledge IS an advantage in the industry or academia! Upon completion of the minor you'll have the knowledge and skills needed to make effective use of computer science concepts and computing technology in your future career.
B.Sc., B.A. or B.Eng? No problem!
BSc and BA
The Minor in the faculty of Science is 24 credits and 18 credits in the faculty of Arts. There are only 3 required courses (9 credits) which makes it very flexible. You'll learn how to program or design algorithms in these 3 introductory courses.
You can choose the remaining credits from any of the computer science courses! In this way you can either develop some depth on a subject or have a broad approach of CS.
You are allowed 6 credits overlap with your Major if the course has a high computer science content. Don't hesitate to consult the adviser of your main program or a CSUS member for any questions!
Required courses: Comp 202 (Foundations of programming), Comp 206 (Introduction to Software systems), Comp 250 (Introduction to Computer Science)
B.Eng., B.S.E., and B.Sc.(Arch.)
The Minor for engineering students is 24 credits. There are only 2 required courses (6 credits). The complementary courses are chosen from other CS courses at 200 level or higher.
You can obtain this Minor by completing 24 credits of COMP courses passed with a grade of C or better. In general, some complementary courses within the B.Eng. or B.S.E. may be used to satisfy some of these requirements, but the Minor will require at least 12 extra credits from the Computer Science faculty beyond those needed for the B.Eng.. Make sure to count your complementaries correctly!
Required courses: Comp 206 (Introduction to Software systems), Comp 250 (Introduction to Computer Science)