Master's Course Requirements

All MCS students must complete CS6003 (Research Methods) as part of their degree in addition to the required number of courses given below. Other courses must be approved by the student's supervisor and the Director of Graduate Studies in order to be counted towards the MCS degree.


Master of Computer Science Degree, Thesis Option Master of Computer Science Degree, Report Option
5 Courses (15 credits) plus a thesis CS6997:
no less than three CS6xxx courses, no more than two CS5xxx courses, no more than one CS4xxx course
8 Courses (24 credits) plus a report CS6996:
no less than four CS6xxx courses, no more four CS5xxx courses, no more than two CS4xxx courses
Master of Computer Science by Coursework Degree

4 Graduate courses (numbered 6xxx)
4 approved courses at 3xxx level or above
One of:
   - 2 graduate courses
   - Master's project (by individual arrangement)

Up to 3 courses may potentially be approved courses from other faculties, as appropriate for the student's degree program, such as complementary studies in Business, Math, Science, or Engineering. Normally the program must include at least 6 CS graduate courses. Undergraduate CS, SWE, and INFO courses are all considered to be Computer Science faculty courses.  Core undergraduate courses are NOT eligible for credit towards the MCSC.

The above course requirements are minimum requirements. Students may be required to take additional courses at the graduate or undergraduate level to make up deficiencies or as preparation in specific areas. At least 2/3 of the course work must be from the Faculty of Computer Science. Courses from other faculties can only be taken if they are approved as appropriate for the student's program.  One Directed Studies course (CS6999) can be included in the course selection.  No more than two courses may be taken from the student's supervisor(s). 

Students from the UNB BCS Honours program will receive credit towards the Master by Thesis for one CS4XXX course otherwise taken.

A list of graduate courses offered during the current term can be found here. A list of of all graduate courses offered by the computer science faculty at UNB can be found here.

Breadth Requirement

To fulfill the Breadth Requirement for the Computer Science in the MCS and MCSC, students must take at least one course in two of three specific areas: Systems, Theory and Artificial Intelligence, as indicated in the list of courses.

PhD Course Requirements

The minimum requirement is three approved graduate courses (9 credits) beyond the Master’s Degree, not including CS6998. One Directed Studies course CS6999 can be included in the course selection. No more than two courses may be taken from the student's supervisor(s).

CS6998 includes a 1-term 1-hour per week component that covers research methods for computer science. This seminar will help prepare students for their thesis proposals. The student may be required to take additional courses depending on the student’s background and assessment of the student's breadth in computer science.

Breadth Requirement

The breadth of the PhD student's background in computer science will be assessed by the Advisory Committee. In order to remedy any deficiencies the student may be required to take additional courses or write a comprehensive examination within twelve months of registering for the PhD Degree. The examination will be written and may be followed by an oral examination depending upon the performance of the candidate in the written examination.  The student will normally be allowed to have only one more attempt should he/she fail the first examination.

The student will be responsible for the undergraduate Computer Science degree requirements including core subjects and at least two elective areas. One of the elective areas is expected to be at the Master’s level. Core areas include:

  • Algorithms and Data Structures
  • Computer Architecture
  • Operating Systems
  • Programming Languages
  • Software Engineering

Extra Courses and Audited Courses

Occasionally, graduate students wish to take courses that are in addition to the courses required for their graduate program. These extra courses are to be identified by a 'X' while registering (Graduate Student Course Change Form). They will not contribute to the program CGPA. Normally, students must pay for these courses in addition to the program fee (see the Office of Financial Services and Fees). However, if the supervisor recommends that these extra courses should be taken because they benefit the student in his/her graduate work, the additional fees may be waived by the School of Graduate Studies. Students must apply to the Director of Graduate Studies, with a letter of support from their supervisor, prior to the course registration for this fee waiver.

Occasionally, graduate students wish to audit a course that is beneficial to their academic program. Permission to audit a course is given by the instructor of that course, who also determines the extent of required and/or permissible participation in the course work, such as assignments, tests and laboratories. Auditing a course must be approved by the supervisor and Director of Graduate Studies, and students must register for all audited courses. Please note that audited courses obtain no final grade, cannot be counted for credit towards a degree program, and an audited course cannot be taken later as a course for credit.