Please note:
To view the current Academic Calendar, go to www.sfu.ca/students/calendar.html.
Professional Computer Science
The Master of Science in Professional Computer Science Program engages students in developing deep knowledge and practical skills in specialized areas of computer science. The program trains computational specialists who can construct models, develop algorithms, and write software using state-of-the-art graduate-level knowledge and techniques. Students take instructional and lab courses, in a cohort, and complete a co-op through ¶¡ÏãÔ°AV's co-op program, allowing them to tackle real-world scientific, engineering, and socioeconomic problems and gain valuable project management experiences while expanding their network of industrial contacts. This full-time master’s program/specializations are suitable for students with a strong aptitude for computer science, or other quantitative fields, such as engineering and mathematics.
¶¡ÏãÔ°AV Requirements
A student must satisfy the university admission requirements for a Master's program as stated in Section 1.3.6a of the Graduate ¶¡ÏãÔ°AV section of the ¶¡ÏãÔ°AV calendar, and the student must hold a bachelor's degree, or equivalent in computer science or a related field, with a minimum cumulative grade point average (GPA) of 3.00 (on a scale of 0.00 - 4.33) 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.
The School's Graduate ¶¡ÏãÔ°AVs Committee may recommend, at its discretion, admission to the Professional Master's program to exceptional students without an undergraduate degree in computer science or a related field.
Students who do not meet the minimum university requirements may be recommended as conditional or qualifying students as per Graduate General Regulation (GGR) 1.3.8 or 1.3.9.
For further information on conditional or qualifying admission requirements, please contact the Program Coordinator.
Program Requirements
This program consists of course work, co-op, or graduate project, and a choice of specialization for a minimum of 30 units.
The program requires students to maintain a minimum 3.0 CGPA throughout their graduate career.
Students complete all of
Machine Learning is the study of computer algorithms that improve automatically through experience. Provides students who conduct research in machine learning, or use it in their research, with a grounding in both the theoretical justification for, and practical application of, machine learning algorithms. Covers techniques in supervised and unsupervised learning, the graphical model formalism, and algorithms for combining models. Students who have taken CMPT 882 (Machine Learning) in 2007 or earlier may not take CMPT 726 for further credit.
Section | Instructor | Day/Time | Location |
---|---|---|---|
Ke Li |
Jan 11 – Apr 16, 2021: Wed, 11:30 a.m.–12:20 p.m.
Jan 11 – Apr 16, 2021: Fri, 10:30 a.m.–12:20 p.m. |
Burnaby Burnaby |
Students will learn principles and techniques for processing various data types at real-world scale using distributed and cloud computing resources. Fundamentals of approximation and distributed algorithms will be covered. Handling of large-scale image and video datasets, massive graphs, as well as structured and unstructured text datasets will be studied. Designing and building robust software systems using multicore processors, processor accelerators (e.g., Graphics Processing Units) and cloud resources will be introduced.
Section | Instructor | Day/Time | Location |
---|---|---|---|
Jan 11 – Apr 16, 2021: Tue, 8:30–10:20 a.m.
Jan 11 – Apr 16, 2021: Fri, 8:30–9:20 a.m. |
Burnaby Burnaby |
and at least two of
Natural Language Processing is the automatic analysis of human languages such as English, Korean, and thousands of others analyzed by computer algorithms. Unlike artificially created programming languages where the structure and meaning of programs is easy to encode, human languages provide an interesting challenge, both in terms of its analysis and the learning of language from observations. Covers NLP tasks such as language modeling, machine translation, multilingual processing, information extraction, question answering, and other topics relevant to modern NLP. Students with credit for CMPT 825 or CMPT 413 may not take this course for further credit.
The student will learn basic concepts and techniques of data mining. Unlike data management required in traditional database applications, data analysis aims to extract useful patterns, trends and knowledge from raw data for decision support. Such information are implicit in the data and must be mined to be useful.
A seminar-oriented course covering the latest technological advances and trends in visual computing and relevant domains. The focus is on relating fundamental visual computing concepts and techniques to the inception, evolution, and future prospects of these trend-setting technologies. Prerequisite: This course is only available to students enrolled into the Visual Computing Specialization of the Professional Master's program in Computer Science.
Selected topics in computer vision including cameras, edge detection, feature matching, optical flow, alignment, epipolar geometry, stereo, structure-from-motion, recognition, segmentation, detection, and deep learning.
Section | Instructor | Day/Time | Location |
---|---|---|---|
Yasutaka Furukawa |
Jan 11 – Apr 16, 2021: Wed, 3:30–4:20 p.m.
Jan 11 – Apr 16, 2021: Fri, 2:30–4:20 p.m. |
Burnaby Burnaby |
Advanced topics in geometric modelling and processing for computer graphics, such as Bezier and B-spline techniques, subdivision curves and surfaces, solid modelling, implicit representation, surface reconstruction, multi-resolution modelling, digital geometry processing (e.g., mesh smoothing, compression, and parameterization), point-based representation, and procedural modelling. Prerequisite: CMPT 361, MACM 316. Students with credit for CMPT 464 or equivalent may not take this course for further credit.
Section | Instructor | Day/Time | Location |
---|---|---|---|
Richard Zhang |
Jan 11 – Apr 16, 2021: Mon, 10:30–11:20 a.m.
Jan 11 – Apr 16, 2021: Thu, 10:30 a.m.–12:20 p.m. |
Burnaby Burnaby |
Selected topics in computer animation and simulation, including 3D character animation and control, facial animation, simulation of natural phenomena (i.e. fluids, crowd simulation, and deformation of pliant materials).
Advanced topics in data visualization. Topics covered may include principles of data representation, data presentation, data interaction, data physicalization, data and visualization literacy, data visualization and diversity, open data, and public personal data visualization. Students with credit for CMPT 878 or 775 may not take this course for further credit.
Principles involved in designing modern parallel and distributed software systems. The course focuses on covering key concepts like concurrency, synchronization, consistency models and fault tolerance. Involves multiple programming projects and reading articles on recent trends in parallel and distributed computing.
Cybersecurity involves technology, people, information, and processes to enable assured operations in the existence of vulnerabilities, and adversaries who exploit them. Students will gain insight into the importance and landscape of cybersecurity, understand its career paths, and learn about cyber risk management, network and cloud security, system and software security, and cyber ethics and law.
Cyber risk assessment and management has become a fundamental component of business operations. Understanding risk mitigation is an essential skill for business leaders, thought leaders, analysts, as well as security and technology specialists. This course equips students with a comprehensive understanding of how to identify, manage, estimate, and prioritize cyber risks, threats and vulnerabilities.
The security of software depends on how well the requirements match the needs that the software is to address, how well the software is designed, implemented, tested, and deployed and maintained. This is an advanced course on the rigorous development and use of software that reliably preserves the security properties of the information and systems it protects.
The course covers network attacks as well as techniques to defend against them. This includes protocol-specific attacks (e.g., TCP/IP and BGP) and generic attacks (e.g., Denial of Service); infrastructure topics such as centralized control, SDN, virtualization, NFV, intrusion detection; and new technologies related to containers, IoT, access, 5G.
Development of the structured knowledge base of penetration testing to validate security measures and identify vulnerabilities and providing solutions for tightening system and network security and protecting data from unauthorized access. Provides an understanding of how vulnerable systems can be compromised as a means to motivate how to strengthen the defense.
Technological innovation in how individuals, organizations, and governments collect and share personal information have raised serious concerns. Data breaches have grown in frequency over the past decade, exposing us to identity theft, financial fraud and intellectual property theft. Introduces fundamental privacy concepts in a broad sense with emphasis on challenging and emerging research topics in privacy.
Explores modern cryptographic and cryptoanalytics techniques in detail, and emphasizes how such mechanisms can be effectively used within larger security systems, and finding their vulnerabilities. Topics covered include cryptographic primitives, public key encryption, digital signature, message authentication codes, cryptographic protocols, and attacks.
This seminar course covers current research in the field of multimedia computing. Topics include multimedia data representation, compression, retrieval, network communications and multimedia systems. Computing science graduate student or permission of instructor. Equivalent Courses: CMPT880.
A seminar based on the artificial intelligence approach to vision. Computational vision has the goal of discovering the algorithms and heuristics which allow a two dimensional array of light intensities to be interpreted as a three dimensional scene. By reading and discussing research papers - starting with the original work on the analysis of line drawings, and ending with the most recent work in the field - participants begin to develop a general overview of computational vision, and an understanding of the current research problems.
Provides a cognitive and computational framework for understanding and designing graphical and visual representations. Investigates several psychological and computational models of diagram processing, and explores diverse interactive graphical systems.
Section | Instructor | Day/Time | Location |
---|---|---|---|
Lyn Bartram |
Jan 11 – Apr 16, 2021: Tue, 10:30–11:20 a.m.
Jan 11 – Apr 16, 2021: Thu, 9:30–11:20 a.m. |
Burnaby Burnaby |
An advanced treatment of modern methods of multivariate statistics and non-parametric regression. Topics may include: (1) dimension reduction techniques such as principal component analysis, multidimensional scaling and related extensions; (2) classification and clustering methods; (3) modern regression techniques such as generalized additive models, Gaussian process regression and splines. Prerequisite: STAT 830 and STAT 853 or permission of instructor.
and one of
Statistical foundation for machine learning algorithms, emphasizing bias-variance tradeoff. Students will learn principles for choosing effective methods and tailoring them to fit a given learning problem. Potential topics include probabilistic graphical models, maximum likelihood estimation, latent variables and the EM algorithm, convex optimization, and variational and sampling-based methods.
Section | Instructor | Day/Time | Location |
---|---|---|---|
Maxwell Libbrecht |
Jan 11 – Apr 16, 2021: Mon, 10:30–11:20 a.m.
Jan 11 – Apr 16, 2021: Thu, 10:30 a.m.–12:20 p.m. |
Burnaby Burnaby |
Machine learning has become the main framework for building programs that perform intelligent tasks. In fields such as computer vision and natural language processing, many recent successes have been achieved using neural nets with several layers, so-called deep neural nets. Students will look at deep neural nets, techniques for training them from data, and significant applications. They will be presented with network architectures such as convolutional neural nets, autoencoders, recurrent neural nets, long-short term memory networks, and generative adversarial networks. Advanced training techniques to be described include dropout, batch normalization, and adaptive step size selection.
Section | Instructor | Day/Time | Location |
---|---|---|---|
Oliver Schulte |
Jan 11 – Apr 16, 2021: Mon, Wed, Fri, 11:30 a.m.–12:20 p.m.
|
Burnaby |
Reinforcement learning is the branch of machine learning that studies learning to act. Agents observe, predict, and act to change their environment. Reinforcement learning has notable success in learning to play video & board games, improving robot performance, and task scheduling. Many recent successes have utilized neural nets, an approach known as deep reinforcement learning.
Selected topics in biomedical imaging. Computer visions, medical data and image representation, file formats, segmentation, registration, classification, anatomical shape modeling, machine and deep learning tools and methods.
A study of the social theory of information technologies, examining issues affecting computer-mediated communication.
Examination of recent literature and problems in bioinformatics. Within the CIHR graduate bioinformatics training program, this course will be offered alternatively as the problem-based learning course and the advanced graduate seminar in bioinformatics (both concurrent with MBB 829). Prerequisite: Permission of the instructor.
This course aims to give students experience to emerging important areas of computing science. Prerequisite: Instructor discretion.
Examines current research topics in computer graphics, human computer interaction (including audio), computer vision and visualization.
Section | Instructor | Day/Time | Location |
---|---|---|---|
Parmit Kaur Chilana |
Jan 11 – Apr 16, 2021: Mon, 12:30–1:20 p.m.
Jan 11 – Apr 16, 2021: Thu, 12:30–2:20 p.m. |
Burnaby Burnaby |
|
Yagiz Aksoy |
Jan 11 – Apr 16, 2021: Tue, 2:30–4:20 p.m.
Jan 11 – Apr 16, 2021: Fri, 2:30–3:20 p.m. |
Burnaby Burnaby |
and a minimum of one co-op or graduate project
This course is the first term of work experience in the School of Computing Science Co-operative Education Program for graduate students. Units of this course do not count towards computing science breadth requirements. Graded on a satisfactory/unsatisfactory basis. Prerequisite: 12 units of CMPT coursework at the 700-level or higher with a CGPA of at least 3.0. Department Consent is required for enrollment.
Section | Instructor | Day/Time | Location |
---|---|---|---|
Jan 11 – Apr 16, 2021: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.
|
|
||
Jan 11 – Apr 16, 2021: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.
|
|
||
Jan 11 – Apr 16, 2021: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.
|
|
Big Data Specialization
Students complete all of the above requirements and both of
This course is one of two lab courses that are part of the Professional Master’s Program in Big Data in the School of Computing Science. This lab course aims to provide students with the hands-on experience needed for a successful career in Big Data in the information technology industry. Many of the assignments will be completed on massive publically available data sets giving them appropriate experience with cloud computing and the algorithms and software tools needed to master programming for Big Data. Over 13 weeks of lab work and 12 hours per week of lab time, the students will obtain a solid background in programming for Big Data.
This course is one of two lab courses that are part of the Professional Masters Program in Big Data in the School of Computing Science. This lab course aims to provide students with the hands-on experience needed for a successful career in Big Data in the information technology industry. Many of the assignments will be completed on massive publically available data sets giving them appropriate experience with cloud computing and the algorithms and software tools needed to master programming for Big Data. Over 13 weeks of lab work and 12 hours per week of lab time, and building on the previous lab course CMPT 731, the students will obtain a solid background in programming for Big Data. Prerequisite: CMPT 732: Programming for Big Data 1.
Section | Instructor | Day/Time | Location |
---|---|---|---|
Jiannan Wang Steven Bergner |
Jan 11 – Apr 16, 2021: Mon, 1:30–3:20 p.m.
|
Burnaby |
|
G101 |
Jan 11 – Apr 16, 2021: Tue, 1:00–4:50 p.m.
Jan 19, 2021: Tue, 1:00–4:50 p.m. Feb 9, 2021: Tue, 1:00–4:50 p.m. Mar 9, 2021: Tue, 1:00–4:50 p.m. Mar 30, 2021: Tue, 1:00–4:50 p.m. |
Burnaby Burnaby Burnaby Burnaby Burnaby |
|
G102 |
Jan 11 – Apr 16, 2021: Fri, 1:00–4:50 p.m.
Jan 22, 2021: Fri, 1:00–4:50 p.m. Feb 12, 2021: Fri, 1:00–4:50 p.m. Mar 12, 2021: Fri, 1:00–4:50 p.m. Apr 9, 2021: Fri, 1:00–4:50 p.m. |
Burnaby Burnaby Burnaby Burnaby Burnaby |
or
Visual Computing Specialization
Students complete all of the above requirements and both of
Lab practices, combined with instructional offerings, for students to acquire the hands-on experience necessary for a successful career in Visual Computing in the information technology sector. Topics covered will include fundamental and prevalent problems from application domains in the fields of computer graphics, computer vision, human-computer interaction, medical image analysis, as well as visualization. Prerequisite: This course is only available to students enrolled into the Visual Computing Specialization of the Professional Master's program in Computer Science.
Lab practices, combined with instructional offerings, for students to acquire the hands-on experience necessary for a successful career in Visual Computing in the information technology sector. Topics covered will include fundamental and prevalent problems from application domains in the fields of computer graphics, computer vision, human-computer interaction, medical image analysis, as well as visualization. Prerequisite: CMPT 742.
Section | Instructor | Day/Time | Location |
---|---|---|---|
Ali Mahdavi Amiri |
Jan 11 – Apr 16, 2021: Fri, 10:30–11:50 a.m.
|
Burnaby |
|
G101 |
Jan 11 – Apr 16, 2021: Thu, 10:00 a.m.–1:50 p.m.
Jan 21, 2021: Thu, 10:00 a.m.–1:50 p.m. Feb 11, 2021: Thu, 10:00 a.m.–1:50 p.m. Mar 11, 2021: Thu, 10:00 a.m.–1:50 p.m. Apr 1, 2021: Thu, 10:00 a.m.–1:50 p.m. |
Burnaby Burnaby Burnaby Burnaby Burnaby |
or
Cybersecurity Specialization
Students complete all of the above requirements and both of
Simulating real attacks on software systems to assess the risk associated with potential security breaches to provide students with hands-on experience necessary for a successful career path in the cybersecurity field. Students are trained as penetration testers to learn how to discover vulnerabilities, exploit vulnerabilities, and to determine what attackers might gain after a successful vulnerability exploitation.
Students will learn the fundamental principles of system and network security by studying attacks on computer systems, network and cloud infrastructure and how to prevent and detect them. The focus is on hands-on experiences. Students will be able to explain and reproduce former and recent system attacks, build network defensive systems, and design computer systems that are immune to these attacks.
Section | Instructor | Day/Time | Location |
---|---|---|---|
Khaled Diab |
Jan 11 – Apr 16, 2021: Mon, 1:30–3:20 p.m.
|
Burnaby |
|
G101 |
Jan 11 – Apr 16, 2021: Wed, 1:00–4:50 p.m.
Jan 20, 2021: Wed, 1:00–4:50 p.m. Feb 10, 2021: Wed, 1:00–4:50 p.m. Mar 10, 2021: Wed, 1:00–4:50 p.m. Mar 31, 2021: Wed, 1:00–4:50 p.m. |
Burnaby Burnaby Burnaby Burnaby Burnaby |
* Recommended for students in the Big Data Specialization
** Recommended for students in the Visual Computing Specialization
*** Recommended for students in the Cybersecurity Specialization
Co-op
All students are required to apply for a co-op. With assistance from the co-op coordinator for this program, students will be expected to find a suitable industry partner. Students may complete one or two terms of co-op. The latter option is in place to satisfy requests from our industrial partners for continuity and to carry out a large-scale project. Students are required to enroll in at least one of the program courses in the term following their co-op.
A co-op is an integral part of this program. However, it is offered on a competitive basis.
In the event that a student is unable to secure a co-op during the summer term, they will be required to go on academic break since no courses will be offered. The student will be able to apply for a co-op in the subsequent term or, if unsuccessful, will be required to undertake additional course work. In consultation with the program director, the student may complete a graduate project in their final term to fulfill program requirements.
Program Length
Students are expected to complete the program requirements in four terms.
Academic Requirements within the Graduate General Regulations
All graduate students must satisfy the academic requirements that are specified in the Graduate General Regulations, as well as the specific requirements for the program in which they are enrolled.