COMPUTING SCIENCE GRADUATE STUDENTS

Simon Fraser University's School of Computing Science is mobilizing brilliant minds to create business and societal innovation for good.

Programs

The School of Computing Science offers a variety of graduate programs at the Masters and Doctoral level. Below are the key program requirements for each of our programs. Not yet a student? See our future students pages to browse programs and details on how to apply.

Master's Program Requirements

MSc in Computing Science

Degree requirements for MSc program

Students in the MSc program are required to demonstrate breadth of knowledge as outlined below and demonstrate the capacity to conduct original research through the completion and defense of an original thesis. Under normal circumstances, an MSc program should be completed within six semesters.

CMPT 700: Technical Writing and Research Communication is recommended for all graduate students. These requirements are for Fall 2023 onwards. Program requirements for students who started before Fall 2023 can be found here.

Breadth Requirement

MSc Thesis

Thesis based MSc students must complete a breadth requirement consisting of five graduate courses. This is equivalent to 15 course credits with an 18 credit thesis for a total credit requirement of 33 credits. 

Students must complete

  • Three courses from three different Computing Science breadth areas (e.g., Area I, III, V) (9)
  • and an additional six units of graduate courses in Computing Science (6)
  • and CMPT 898 - MSc Thesis (18)

*( ) Number of Credits

  • MSc Thesis students can use a maximum of 1 directed reading course towards their breadth.
  • MSc Thesis students must enroll in CMPT 898 every semester in which they are conducting thesis research in order to maintain enrollment status in the program.

MSc Project

Not available to new students

Project based MSc students must complete a breadth requirement consisting of eight graduate courses. This is equivalent to 24 course credits with a 10 credit project for a total credit requirement of 34 credits.

Students must complete

  • Three courses from three different Computing Science breadth areas (e.g., Area I, III, V) (9)
  • and an additional 15 units of graduate courses in Computing Science (15)
  • and CMPT 897 - MSc Project (10)

*( ) Number of Credits

  • MSc Project students can use a maximum of 2 directed reading courses towards their breadth.

MSc Course

Not available to new students

Course based MSc students must complete a breadth requirement consisting of ten graduate courses. This is equivalent to 30 course credits.

Students must complete

  • Three courses from three different Computing Science breadth areas (e.g., Area I, III, V) (9)
  • and an additional 21 units of graduate courses in Computing Science (21)
  • and CMPT 896 - MSc Course Option Portfolio (0)

*( ) Number of Credits

  • MSc Course students can use a maximum of 2 directed reading courses courses towards their breadth.

Depth Requirement

Thesis MSc students are required to demonstrate depth of knowledge in their research area through a thesis seminar and defense based on their independent work. Students should consult with members of their supervisory committee, and formulate and submit a written thesis proposal for approval. This should not be done any later than the end of the third term semester.

Project MSc students must choose an area of specialization and submit a project report. Project topics may include a comprehensive survey of the literature of some computing science related research areas; implementation and evaluation of existing techniques/algorithms; development of interesting software/hardware applications.

The project is examined as a thesis and will need to be submitted to the library as per Graduate General Regulation 1.10.4

Regulations specifying the examining committee's composition and procedures for the final thesis or project exam appear in Graduate General Regulation 1.9.1 and 1.9.2.

Defence procedures can be found here.

MSC Milestones (Thesis-only)

  • By end of year 1 (3rd semester): Form a supervisory committee, with approval of the GPC.
  • By the end of the 4th semester: Complete all course and breadth requirements.
  • By end of year 2 (6th semester): Defend MSc thesis and complete all other degree requirements.

By default, the School offers funding promises for 2 years (6 semesters). Funding beyond the 2nd year may be possible but is not guaranteed. Please visit our financial support page for more information.

PhD Degree Requirements

PhD in Computing Science

Degree Requirements For PhD Program

Students in the PhD program are required to demonstrate breadth of knowledge as outlined below and demonstrate the capacity to conduct original research through the completion and defense of an original thesis. Under normal circumstances a PhD degree should be completed within 12 semesters and should not require longer than 15 semesters. CMPT 700: Technical Writing and Research Communication is recommended for all graduate students. These requirements are for Fall 2023 onwards. Program requirements for students who started before Fall 2023 can be found here.

To be considered "admitted to candidacy", a student needs to complete the PhD program's breadth requirements (as outlined below) and also pass their Depth Examination. To request a letter which confirms your status as a PhD candidate, please contact csgrada@sfu.ca.

Breadth Requirement

PHD WITH MSC

PhD students that already have an MSc in Computing Science or a related field must complete a breadth requirement consisting of four graduate courses. This is equivalent to 12 course credits with an 18 credit Thesis for a total credit requirement of 30 credits.

Students must complete:

  • Three courses from three different Computing Science breadth areas (e.g., Area I, III, V) (9)
  • and an additional three units of graduate courses (3)
  • and CMPT 899 - PhD Thesis (18)

*( ) Number of Credits

  •  PhD students with a Master's degree can use a maximum of 1 directed reading course towards their breadth.
  • PhD students who have an MSc in Computing Science from SFU through the thesis, project or course options only need to take the required number of courses for PhD students, but are not required to cover at least three breadth areas.
  •  PhD students must enroll in CMPT 899 every semester in which they are conducting thesis research in order to maintain enrollment status in the program.

PhD without MSc

PhD students that do not have an MSc in Computing Science or a related field must complete a breadth requirement consisting of eight graduate courses. This is equivalent to 24 course credits with an 18 credit Thesis for a total credit requirement of 42 credits.

Students must complete:

  • Three courses from three different Computing Science breadth areas (e.g., Area I, III, V) (9)
  • and an additional fifteen units of graduate courses (15)
  • and CMPT 899 - PhD Thesis (18)

*( ) Number of Credits

  •  PhD students without a Master's degree can use a maximum of 2 directed reading courses towards their breadth.
  •  PhD students must enroll in CMPT 899 every semester in which they are conducting thesis research in order to maintain enrollment status in the program.

A PhD student must achieve a minimum CGPA of 3.4 and passing marks in all courses.

Depth Requirement

PhD students demonstrate depth of knowledge in their research area through a public depth seminar and oral examination. Once the depth exam is passed, students then write their thesis proposal, after which they are required to defend its originality and feasibility within a second seminar and oral examination. Finally, students submit and defend a thesis based on their independent work which makes an original contribution to computing science.

DEPTH EXAMINATION

The depth examination generally takes place between the fifth and eighth semesters of a PhD student's program. An examining committee needs to be elected, composing of the student's supervisory committee and a minimum of one additional examiner. The depth exam centers on the student's research up to that point. The depth exam can be conducted in two formats, depending on the appointed supervisor's discretion.

  • In the first format, the examining committee collaborates with the student to specify the examination topics based on the student's research. The student then prepares a written survey and presents a public depth seminar.
  • The second format involves preparing a high-quality technical paper on their research area followed by a defense in a public depth seminar. The work done for the paper should be during the PhD period at SFU (and not, for example, as part of the MSc thesis).

After the oral examination, the committee evaluates the student's performance and progress in the program. The committee's evaluation is diagnostic, specifying additional work in  weak areas if such exists. A second depth examination or withdrawal from the program may be recommended in extreme cases.

THESIS PROPOSAL

The student, in consultation with their supervisory committee, formulates and submits, for approval, a written thesis proposal consisting of a research plan and preliminary results. The student gives a seminar and defends the originality and feasibility of the proposed thesis to the supervisory committee. The thesis proposal is normally presented and defended within three semesters of the depth examination.

THESIS DEFENSE

Regulations specifying the examining committee composition and procedures for final public thesis defence are in sections 1.9 and 1.10 of the Graduate General Regulations. PhD students give a seminar; typically this will be about their thesis research and is presented in the interval between distribution of the thesis to the committee and the defense.

Defence procedures can be found here.

PhD Milestones

  • By end of year 1 (3rd semester): Form a supervisory committee, with approval of the GPC.
  • By end of year 2 (6th semester): Breadth OR Depth Exam completed.
  • By end of year 3 (9th semester): Depth Exam AND Proposal completed.

Relation to yearly GF awards for PhD students:

  • Student receives GF in year 1 automatically
  • Student receives GF in year 2 only if year 1 milestones are met
  • Student receives GF in year 3 only if year 2 milestones are met and submits a Graduate Progress Report with research progress marked as satisfactory.
  • Student receives GF in year 4 only if year 3 milestones are met and submits a Graduate Progress Report with research progress marked as satisfactory.

Degree Requirements Before Fall 2023

Click here

Professional Master's Degree Requirements

Professional Master's in Computer Science (MPCS)

MPCS Programs

  • Master of Science in Big Data
  • Masters of Cybersecurity
  • Masters of Visual Computing

Degree Requirements Overview

Unlike traditional thesis-based degrees, our programs do not have a research component. Instead, almost half of the coursework consists of hands-on lab training, complemented by a carefully selected array of instructional courses. Students develop deep knowledge and practical skills working with data in all forms. Consulting with dedicated academic advisors, students are able to select courses that help them hone in on an area of interest. The program is best suited for students who wish to work in industry upon graduation and have a strong aptitude in computer science or other quantitative fields, such as engineering or mathematics.

A hallmark of our program is the mandatory, paid co-op placement. Co-op allows students to tackle real-world scientific, engineering and socio-economic problems while gaining valuable project management experience and expanding their network of industry contacts.

Professional Masters Programs - Requirements / Structure

Our Masters programs require students to complete a minimum of 30 units of graduate work. These units are divided as follows: 

  • a minimum of 15 credits of graduate coursework
  • 12 credits of specialized lab work
  • 3 credits for co-op (internship) work

Please note that only three credits are allocated to the co-op placement, regardless of whether a student completes one or two terms on co-op.

The program is normally four semesters (or 16 months) in length. This includes a four-month co-op placement. Students who take more than four semesters to complete the program are required to pay a continuing fee for each additional semester. Please see the section on tuition fees for more information. 

It is recommended that students complete nine credits per academic term so as to spread out the coursework evenly and maximize the learning experience while allowing time for extra-curricular activities and the co-op seeking process. Typically, the first two semesters are nine credits each, followed by one or two co-op terms (depending on whether a four-month or eight-month placement was secured). After the co-op term, students return to campus for a final term of nine credits.

View calendar requirements

SFU-ZJU Dual Degrees

Master's Degree

Students in the GDDP program will acquire two graduate degrees. Graduates will receive a Master of Science (M.Sc.) degree from Simon Fraser University, and a Master of Software Engineering (MSE) degree from Zhejiang University. Students will study and conduct research at both universities.

Doctor of Philosophy Degree

Students in the GDDP program will acquire two graduate degrees. Graduates will receive a Doctor of Philosophy (PhD) degree from Simon Fraser University, and a second Doctor of Philosophy (PhD) degree from Zhejiang University. Students will study and conduct research at both universities.

All Degrees

Student Requirements

A1: Maintain a CGPA of 3.0 throughout the program.

  • You cannot receive a graduate degree from SFU with a CGPA lower than 3.0.
  • To be eligible for an SFU or FAS Graduate Fellowship (GF), a CGPA of 3.5 is required.
  • A transcript review, including follow-ups on any course failures, will occur about one month after each semester.

A2: Submit a Graduate Progress Report with research progress marked as satisfactory (research-based students only).

  • Completion of the progress report must be done in conjunction with supervisor.
  • Research progress is evaluated by the supervisor in consultation with the supervisory committee.
  • Performance indicators and metrics applied to evaluate a student’s performance are determined between the student and their supervisory committee.
  • A marking of “unsatisfactory research progress” in a progress report must be proceeded by at least one written warning from the supervisor which is communicated to the student and copied to the Graduate Program Chair.
  • Unsatisfactory research progress may be cause for a student to be asked to withdraw from the program.

Breadth Areas Course List

Area I: Theoretical Computing Science

  • CMPT 701: Computability and Logic 
  • CMPT 705: Design and Analysis of Algorithms 
  • CMPT 710: Computational Complexity 
  • CMPT 711: Bioinformatics Algorithms (cross-listed with Area IV)
  • CMPT 712: Approximation and Randomized Algorithms
  • CMPT 777: Formal Verification (cross-listed with Area II)
  • CMPT 789: Applied Cryptography 
  • CMPT 813: Computational Geometry 
  • CMPT 815: Algorithms of Optimization 
  • CMPT 981: Special Topics in Theoretical Computing Science

Area II: Networks and Systems

  • CMPT 740: Database Systems (cross-listed with Area IV)
  • CMPT 745: Software Engineering 
  • CMPT 750: Computer Architecture
  • CMPT 756: Distributed and Cloud Systems (only eligible if taken prior to Summer 2024)
  • CMPT 770: Parallel and Distributed Computing 
  • CMPT 771: Computer Networks 
  • CMPT 777: Formal Verification (cross-listed with Area I)
  • CMPT 780: Computer Security and Ethics 
  • CMPT 784: Cyber Risk Assessment and Management 
  • CMPT 785: Secure Software Design 
  • CMPT 786: Cloud and Computer Network Security 
  • CMPT 787: Ethical Hacking 
  • CMPT 788: Information Privacy 
  • CMPT 816: Theory of Communication Networks 
  • CMPT 886: Special Topics in Operating Systems 
  • CMPT 982: Special Topics in Networks and Systems

Area III: Artificial Intelligence

  • CMPT 713: Natural Language Processing 
  • CMPT 720: Robotic Autonomy: Algorithms and Computation
  • CMPT 721: Knowledge Representation and Reasoning 
  • CMPT 722: Rendering and VIsual Computing for Artificial Intelligence (cross-listed with Area V)
  • CMPT 724: Affective Computing (cross-listed with Area V)
  • CMPT 726: Machine Learning 
  • CMPT 727: Statistical Machine Learning 
  • CMPT 728: Deep Learning 
  • CMPT 729: Reinforcement Learning 
  • CMPT 823: Formal Topics - Knowledge Representation 
  • CMPT 825: Natural Language Processing 
  • CMPT 827: Intelligent Systems 
  • CMPT 983: Special Topics in Artificial Intelligence

Area IV: Databases, Data Mining, Computational Biology

  • CMPT 740: Database Systems (cross-listed with Area II)
  • CMPT 711: Bioinformatics Algorithms (cross-listed with Area I)
  • CMPT 741: Data Mining
  • CMPT 829: Special Topics in Bioinformatics
  • CMPT 843: Database and Knowledge-base Systems
  • CMPT 984: Special Topics in Databases, Data Mining, Computational Biology

Area V: Graphics, HCI, Vision, and Visualization

  • CMPT 722: Rendering and Visual Computing for Artificial Intelligence (cross-listed with Area III)
  • CMPT 724: Affective Computing (cross-listed with Area III)
  • CMPT 757: Frontiers of Visual Computing 
  • CMPT 762: Computer Vision 
  • CMPT 763: Biomedical Computer Vision 
  • CMPT 764: Geometric Modelling in Computer Graphics 
  • CMPT 766: Computer Animation and Simulation 
  • CMPT 767: Visualization 
  • CMPT 769: Computational Photography and Image Manipulation
  • CMPT 820: Multimedia Systems 
  • CMPT 822: Computational Vision 
  • CMPT 828: Illumination in Images and Video 
  • CMPT 863: Human-Computer Interaction
  • CMPT 985: Special Topics in Graphics, HCI, Visualization, Vision, Multimedia

Not yet a student at SFU? 

Check out the programs offered in the School of Computing Science

Explore Programs