Please note:

To view the current calendar, go to www.sfu.ca/students/calendar.html

School of Computing Science | Faculty of Applied Sciences Simon Fraser University Calendar | Fall 2019

Computer Science

Master of Science

The Professional Master's program in Computer Science 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 work placement through SFU's co-op program, allowing them to tackle real-world scientific, engineering, and social-economical 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 in computer science, or other quantitative fields, such as engineering and mathematics.

Admission Requirements

A student must satisfy the university admission requirements for a Master's program as stated in Section 1.3.3 of the Graduate Admission section of the SFU 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 Admissions 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.6 or 1.3.8.

For further information on conditional or qualifying admission requirements, please contact Visual Computing Specialization or Big Data Specialization.

Program Requirements

This program consists of core courses, co-op, and a choice of specialization in big data or visual computing for minimum of 30 units.

Students complete all of

CMPT 726 - Machine Learning (3)

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
G100 Gregory Mori
Mo 4:30 PM – 7:20 PM
SSCB 9200, Burnaby

and one of

CMPT 705 - Design and Analysis of Algorithms (3)

The objective of this course is to expose students to basic techniques in algorithm design and analysis. Topics will include greedy algorithms, dynamic programming, advanced data structures, network flows, randomized algorithms. Students with credit for CMPT 706 may not take this course for further credit.

Section Instructor Day/Time Location
G100 Qianping Gu
Mo, We, Fr 12:30 PM – 1:20 PM
AQ 3159, Burnaby
CMPT 706 - Design and Analysis of Algorithms for Big Data (3) *

Concepts and problem-solving techniques that are used in the design and analysis of efficient algorithms. Special consideration and adaptations for big data applications will be emphasized. Students with credit for CMPT 705 may not take this course for further credit.

CMPT 757 - Frontiers of Visual Computing (3) **

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.

Section Instructor Day/Time Location
G100 Manolis Savva
Tu, Th 9:30 AM – 10:50 AM
SECB 1013, Burnaby
CMPT 813 - Computational Geometry (3)

This course covers recent developments in discrete, combinatorial, and algorithmic geometry. Emphasis is placed on both developing general geometric techniques and solving specific problems. Open problems and applications will be discussed.

and at least two of

CMPT 741 - Data Mining (3) *

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.

Section Instructor Day/Time Location
G100 Martin Ester
Tu 12:30 PM – 2:20 PM
Th 1:30 PM – 2:20 PM
SECB 1012, Burnaby
WMC 2202, Burnaby
CMPT 756 - Systems For Big Data (3) *

From health care to social media the world generates a tremendous amount of data every day, often too much to be processed on a single computer or even some-times a single data centre. In this graduate seminar we will learn about technologies and systems behind Big Data. In particular, we will discuss what challenges exist in processing and storing massive amounts of data. We will explore how these challenges are being solved in real-world systems as well as the limitations inherent in these designs. The evolution of these technologies will be explored by reading both current and historically significant research papers. Prerequisite: Operating Systems (CMPT 300) and Data Base Systems (CMPT 354), or equivalents. Students with credit for CMPT 886 when offered as a Special Topics course in Big Data may not take this course for further credit.

CMPT 764 - Geometric Modelling in Computer Graphics (3) **

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.

CMPT 767 - Visualization (3)

Advanced topics in the field of scientific and information visualization are presented. Topics may include: an introduction to visualization (importance, basic approaches and existing tools), abstract visualization concepts, human perception, visualization methodology, 2D and 3D display and interaction and their use in medical, scientific, and business applications. Prerequisite: CMPT 316, 461 or equivalent (by permission of instructor). Students with credit for CMPT 878 or 775 may not take this course for further credit.

Section Instructor Day/Time Location
G100 Sheelagh Carpendale
We 9:30 AM – 12:20 PM
SECB 1010, Burnaby
CMPT 820 - Multimedia Systems (3)

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.

CMPT 822 - Computational Vision (3) **

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.

CMPT 825 - Natural Language Processing (3)

In this course, theoretical and applied issues related to the development of natural language processing systems and specific applications are examined. Investigations into parsing issues, different computational linguistic formalisms, natural language syntax, semantics, and discourse related phenomena will be considered and an actual natural language processor will be developed.

Section Instructor Day/Time Location
G100 Anoop Sarkar
Tu 4:30 PM – 5:20 PM
Th 3:30 PM – 5:20 PM
BLU 9660, Burnaby
BLU 9660, Burnaby
STAT 852 - Modern Methods in Applied Statistics (4)

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.

Section Instructor Day/Time Location
G100 Thomas Loughin
Mo, We 2:30 PM – 4:20 PM
SECB 1014, Burnaby
IAT 814 - Visualization and Visual Analytics (3)

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.

and one of

CMNS 815 - Social Construction of Communication Technologies (5)

A study of the social theory of information technologies, examining issues affecting computer-mediated communication.

CMPT 829 - Special Topics in Bioinformatics (3)

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.

CMPT 886 - Special Topics in Operating Systems (3)

Section Instructor Day/Time Location
G100 William Sumner
Tu 1:30 PM – 2:20 PM
Th 12:30 PM – 2:20 PM
WMC 2220, Burnaby
WMC 2200, Burnaby
G200 Keval Vora
Tu 2:30 PM – 4:20 PM
Th 2:30 PM – 3:20 PM
RCB 6101, Burnaby
AQ 5005, Burnaby
CMPT 980 - Special Topics in Computing Science (3)

This course aims to give students experience to emerging important areas of computing science. Prerequisite: Instructor discretion.

Section Instructor Day/Time Location
G100 Mohammad Tayebi
Tu 12:30 PM – 2:20 PM
Th 1:30 PM – 2:20 PM
AQ 5037, Burnaby
SECB 1013, Burnaby
CMPT 982 - Special Topics in Networks and Systems (3)

Section Instructor Day/Time Location
G100 Arrvindh Shriraman
Mo, We, Fr 2:30 PM – 3:20 PM
AQ 5016, Burnaby
CMPT 983 - Special Topics in Artificial Intelligence (3)

Section Instructor Day/Time Location
G100 Mo Chen
Mo 10:30 AM – 12:20 PM
We 10:30 AM – 11:20 AM
AQ 5016, Burnaby
AQ 5016, Burnaby
CMPT 985 - Special Topics in Graphics, HCI, Visualization, Vision, Multimedia (3) **

Examines current research topics in computer graphics, human computer interaction (including audio), computer vision and visualization.

Section Instructor Day/Time Location
G100 KangKang Yin
We 1:30 PM – 2:20 PM
Fr 12:30 PM – 2:20 PM
WMC 3210, Burnaby
WMC 3210, Burnaby
G200 Tu 1:30 PM – 2:20 PM
Th 12:30 PM – 2:20 PM
RCB 8100, Burnaby
BLU 10011, Burnaby

and a minimum of one co-op term

CMPT 626 - Graduate Co-op Practicum I (3)

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.

Section Instructor Day/Time Location
G100 Mo, Tu, We, Th, Fr 7:30 AM – 7:20 PM
,
G200 Mo, Tu, We, Th, Fr 7:30 AM – 7:20 PM
,
G300 Mo, Tu, We, Th, Fr 7:30 AM – 7:20 PM
,
G400 Mo, Tu, We, Th, Fr 7:30 AM – 7:20 PM
,
I100 Mo, Tu, We, Th, Fr 7:30 AM – 7:20 PM
,

Big Data Specialization

Students complete all of the above requirements and both of

CMPT 732 - Programming for Big Data 1 (6)

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.

Section Instructor Day/Time Location
G100 Gregory Baker
Steven Bergner
Mo 12:30 PM – 2:20 PM
AQ 3005, Burnaby
G101 Tu, Th 9:00 AM – 10:50 AM
ASB 10928, Burnaby
G102 We, Fr 11:30 AM – 1:20 PM
ASB 10928, Burnaby
G103 We, Fr 1:30 PM – 3:20 PM
ASB 10928, Burnaby
CMPT 733 - Programming for Big Data 2 (6)

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.

or

Visual Computing Specialization

Students complete all of the above requirements and both of

CMPT 742 - Practices in Visual Computing I (6)

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.

Section Instructor Day/Time Location
G100 Ali Mahdavi Amiri
Mo 1:30 PM – 2:50 PM
SWH 10051, Burnaby
G101 Tu, Th 1:00 PM – 2:50 PM
ASB 10928, Burnaby
CMPT 743 - Practices in Visual Computing II (6)

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.

* Recommended for students in the Big Data Specialization

** Recommended for students in the Visual Computing Specialization

Co-op

A co-op internship is an integral part of this program. Students will register for one or two co-op terms. The latter option is in place to satisfy requests from our industrial partners. Some industrial partners prefer two co-op terms for better continuity since one term may not offer sufficient time to carry out a large-scale project. With assistance from the co-op coordinator for this program, students will be expected to find a suitable industry partner for the co-op placement. The student may instead choose to conduct research into big data at one of the various research labs in the School of Computing Science as a paid research assistant to satisfy their co-op requirement. In extenuating circumstances, a student may appeal to the program director to take an elective course from the list of electives for this program instead of a co-op term. Students are required to enroll in at least one of the program courses in the term following the co-op term(s).

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.