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 is 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 units 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 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.
The first of two lab courses that are part of the professional master’s program in the School of Computing Science. Aims to provide students with experience needed for a successful career in the information technology industry. Students will learn core concepts of artificial intelligence, applied data science, and system and network security. Specifically, this includes data analytics, advanced statistics and data visualization, deep learning, and anomaly detection.
The second of two lab courses that are part of the professional master's program in the School of Computing Science. Aims to provide students with experience needed for a successful career in the information technology industry. Students will learn core concepts of artificial intelligence, applied data science, and system and network security. Specifically, this includes data analytics, advanced statistics and data visualization, deep learning, and anomaly detection. Prerequisite: CMPT 732.
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.
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.
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.
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.
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
Using machine learning algorithms effectively requires understanding their theoretical and conceptual basis. Covers mathematical and probabilistic foundations of machine learning, placing learning methods in a unified framework based on Bayesian reasoning. Students will acquire skills for formulating models, deriving optimization algorithms, and choosing effective approaches for a given learning problem. Topics include parameter estimation, optimization, linear classification and regression, regularization, and probabilistic graphical models.
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.
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.
Section | Instructor | Day/Time | Location |
---|---|---|---|
Xue Bin Jason Peng |
May 8 – Aug 4, 2023: Thu, 10:30 a.m.–1:20 p.m.
|
Burnaby |
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.
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 |
---|---|---|---|
May 8 – Aug 4, 2023: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.
|
|
||
May 8 – Aug 4, 2023: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.
|
|
||
May 8 – Aug 4, 2023: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.
|
|
||
May 8 – Aug 4, 2023: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.
|
|
||
May 8 – Aug 4, 2023: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.
|
|
||
May 8 – Aug 4, 2023: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.
|
|
||
May 8 – Aug 4, 2023: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.
|
|
||
May 8 – Aug 4, 2023: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.
|
|
||
May 8 – Aug 4, 2023: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.
|
|
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 fulfil 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.