Admission to the professional master's program in computer science, visual computing specialization is competitive: only the best qualified applicants are offered a seat. Therefore, it is imperative that students familiarize themselves with the admission requirements in order to ensure they submit a strong application. Since conditional and qualifying admission offers are made very rarely and only in exceptional cases, students who qualify for regular admission have higher chances of acceptance than those who only qualify for conditional or qualifying admission.


In order for students to succeed in the Visual Computing specialization of the Professional Master’s Program, it is expected that students have the following knowledge/experience prior to starting the program:

  • Ability to program in C, C++ and Python. Familiarity with programming and ability to learn new languages.
  • Knowledge of advanced math - calculus, linear algebra and advanced statistics.
  • Ability to program with OpenGL.
  • Knowledge of computer graphics, image processing, data structures and algorithms (preferred but not required).


Regular admission is the preferred route for the professional master's program in computer science, visual computing specialization. To qualify, students must satisfy the admission requirements for the visual computing specialization laid out here as well as SFU's admission requirements for a master's program, as stated in SFU Graduate Regulation 1.3.3

Students must hold a bachelor's degree or equivalent in computer science or a related field with a cumulative grade point average (CGPA) of at least 3.00/4.33 (B) or the equivalent. Alternatively, a minimum GPA of 3.33/4.33 on the last 60 credits of undergraduate courses will also meet the GPA requirements for admission to the program. All graduate work is also considered.

In exceptional circumstances, a student may be admitted with lower formal qualifications when there is significant professional experience relevant to the proposed area of scholarship. Please do not contact us about waiving the requirement. Instead, use your application materials (your CV, statement of purpose, etc.) to make the case that your professional experience is relevant and should be considered along with your GPA.

Students who completed their degrees outside of Canada should refer to the equivalent academic requirements listed here.


The language of instruction, examination, and communication in the professional master's program in computer science is English. Students whose primary language is not English must meet SFU's English proficiency requirements as set out in the Graduate General Regulation 1.3.12. Applicants who have completed a degree at a recognized post-secondary institution where the language of instruction and examination is English in a country where English is the primary language are not required to submit proof of English proficiency. Please view the list of accepted countries here.

All other applicants are required to provide proof of English proficiency. For more detailed information on the requirements, please visit the Graduate Studies page on English Language Requirements.


The School's graduate admissions committee may, at its discretion, offer admission to the program to exceptional students whose undergraduate degree is not in computer science or a related field. Such students typically make up for the lack of program-specific education through relevant work experience, course work, or certificates, diplomas, etc. The minimum required for conditional or qualifying admission is a demonstrated competence in computer science at a third-year level equivalent to CMPT 300 (Operating Systems I), CMPT 307 (Data Structures and Algorithms), and CMPT 354 (Database Systems I) - see below for course descriptions. Students who receive a qualifying offer take these three courses in the summer semester prior to the start semester of the program. If the courses are completed with a satisfactory average (usually at least B), the qualifying student is admitted into the professional master's in visual computing.

For more information on qualifying and conditional admission, please view Graduate Admissions Regulations 1.3.6 and 1.3.8.

Please note: Conditional and qualifying admission are offered only in exceptional circumstances. 

Click here to view course descriptions for CMPT 300, 307, and 354.

Operating Systems I

CMPT 300

This course aims to give the student an understanding of what a modern operating system is, and the services it provides. It also discusses some basic issues in operating systems and provides solutions. Topics include multiprogramming, process management, memory management, and file systems. Prerequisite: CMPT 225 and (MACM 101 or (ENSC 251 and ENSC 252)).

Data Structures and Algorithms

CMPT 307

Analysis and design of data structures for lists, sets, trees, dictionaries, and priority queues. A selection of topics chosen from sorting, memory management, graphs and graph algorithms. Prerequisite: CMPT 225, MACM 201, MATH 151 (or MATH 150), and MATH 232 or 240.

Database Systems I

CMPT 354

Logical representations of data records. Data models. Studies of some popular file and database systems. Document retrieval. Other related issues such as database administration, data dictionary and security. Prerequisite: CMPT 225, and (MACM 101 or (ENSC 251 and ENSC 252)).


If you have any questions that are not answered on our website, you can e-mail us at