Major in Computer Science

Our Major programs keep pace with advancements in computer science, and provide a well-balanced foundation in the discpline. They cover all aspects and levels of computers and computing.

Each program specifies approximately half of the courses required for your degree. We believe that those courses constitute the minimum which could be expected of any student in computer science.

We offer three versions of the CS Major: a general program, and three specialized streams:

  1. Smart Systems
  2. Visual Computing and Games
  3. Data-centric Computing

The required courses to complete the general program are listed below, and the required courses for the streams are available at their respective links.

Both the general program and the streams require that you take the same core courses at the 1000 and 2000 level.  The general program then allows you freedom to choose which 3000 and 4000 level courses to take to complete your degree requirements, subject to availability and prerequisites, whereas each stream requires that you take a set of courses which specialize in that area.

Should I take the general Major, or one of the streams?
  Whatever suits you best! Some students know whether or not they want to specialize from the outset of their studies. Others make that decision after taking several CS courses. So many students initially apply to the general Major, and then some request to switch into a stream around the beginning of their third year.

Please note that the streams are only available to students taking a Bachelor of Science (BSc) degree.


Admission to the Major programs in the Department of Computer Science is highly competitive and selective.  There is a set of courses that you must complete here at Memorial before you can apply.  Full details about how and when to apply can be found on our  Admissions page, and please see our FAQ page for more information and advice.

Required Courses to Complete the Major (general program)

As a component of the Degree Regulations for the General Degree of Bachelor of Science, or the Degree Regulations for the General Degree of Bachelor of Arts, as appropriate, for the CS Major you must complete the following courses:

  1. Forty-five credit hours in computer science:
    1. Computer Science 1001, 1002, 1003, 2001, 2002, 2003, 2004, 2005, 2006, 2007 and 2008.
    2. At least six additional credit hours at the 4000 level.
    3. Twelve additional credit hours in computer science at the 3000 level or beyond.
  2. Mathematics 1000, 1001, 2000, 2050, and Statistics 2500 or 2550.
Suggested Courses (all Majors programs)

In addition to the set of required courses, students are encouraged to take Mathematics 3000 and Statistics 2560.


Since the program specifies approximately half of the courses required for your degree, a great deal of your program will be made up of elective courses, both in computer science and other disciplines. These electives can be chosen from many areas, subject to the general regulations for the Faculty of Science or the Faculty of Humanities and Social Sciences.

Choose your electives wisely

The quality and usefulness of your degree to both yourself and prospective employers depend, to some extent, on the elective courses that you choose. A general recommendation is to try to have a concentration of courses in one or two other areas: for example, an area in which you have a professional interest (an area in which you wish to work in the future) or an area in which you have a personal interest. In order to accomplish this, we recommend that you choose some area as a minor, and work to fulfil the requirements for a minor in that area as specified in the university Calendar.

And Finally...

Remember to keep track of your progress!

Page last updated May 24th 2021