Please note:

To view the Fall 2017 Academic Calendar go to http://www.sfu.ca/students/calendar/2017/fall.html

School of Computing Science | Faculty of Applied Sciences Simon Fraser University Calendar | Spring 2018

Computer Science

Master of Science

Admission Requirements

To qualify for admission to the Professional Master of Science in Computer Science, 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 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 offer, at its discretion, M.Sc. admission to exceptional students without an undergraduate degree in computer science or a related field. Minimally we require demonstrated competence in computer science at the third year level equivalent to CMPT 300 (Operating Systems 1), CMPT 307 (Data Structures and Algorithms) and CMPT 354 (Database Systems).

Students who do not have the proper background in computer science may take the three courses listed above in the Summer semester before the Fall cohort begins and then join the program.

Program Requirements

Students will complete a minimum of 30 units of graduate work. These units are divided into three sections: a minimum of 15 units of discipline specific graduate course work; 12 units of specialized lab work involving advanced industry relevant programming; 3 to 6 units of integrated learning via co-op.

Course Work for Big Data Specialization (at least 15 units)

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.

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.

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.

Section Instructor Day/Time Location
G100 Andrei Bulatov
Mo, We, Fr 12:30 PM – 1:20 PM
WMC 3210, Burnaby
CMPT 711 - Bioinformatics Algorithms (3)

Fundamental algorithmic techniques used to solve computational problems encountered in molecular biology. This area is usually referred to as Bioinformatics or Computational Biology. Students who have taken CMPT 881 (Bioinformatics) in 2007 or earlier may not take CMPT 711 for further credit.

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.

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.

Section Instructor Day/Time Location
G100 Ryan Shea
Tu 11:30 AM – 12:50 PM
Th 11:30 AM – 12:50 PM
RCB 8100, Burnaby
RCB 8100, Burnaby
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.

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.

IAT 814 - Knowledge, Visualization and Communication (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.

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.

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.

Section Instructor Day/Time Location
G100 Kay C Wiese
Tu 2:30 PM – 3:50 PM
Th 2:30 PM – 3:50 PM
WMC 3533, Burnaby
WMC 3535, Burnaby
G200 Maxwell Libbrecht
Mo, We, Fr 12:30 PM – 1:20 PM
AQ 5006, Burnaby
CMPT 880 - Special Topics in Computing Science (3)

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

CMPT 882 - Special Topics in Artificial Intelligence (3)

Section Instructor Day/Time Location
G100 Richard Vaughan
We, Fr 1:30 PM – 2:50 PM
AQ 5037, Burnaby
CMPT 884 - Special Topics in Database Systems (3)

Section Instructor Day/Time Location
G100 Martin Ester
Tu 11:30 AM – 12:50 PM
Th 11:30 AM – 12:50 PM
WMC 3250, Burnaby
WMC 2532, Burnaby
CMPT 886 - Special Topics in Operating Systems (3)

Section Instructor Day/Time Location
G100 Rob Cameron
Mo, We, Fr 9:30 AM – 10:20 AM
ASB 10900, Burnaby
G200 Keval Vora
Tu 12:30 PM – 1:20 PM
Th 12:30 PM – 2:20 PM
SWH 10051, Burnaby
AQ 4140, Burnaby
CMPT 888 - Special Topics in Computer Graphics, HCI, Vision and Visualization (3)

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

Section Instructor Day/Time Location
G100 Parmit Kaur Chilana
Tu, Th 9:30 AM – 10:50 AM
WMC 3531, Burnaby
G200 Yasutaka Furukawa
Tu 1:30 PM – 2:20 PM
Th 12:30 PM – 2:20 PM
RCB 8100, Burnaby
BLU 10011, Burnaby
G300 KangKang Yin
Mo, We, Fr 1:30 PM – 2:20 PM
WMC 3253, Burnaby

Other courses with permission of the School.

Note that STAT 652 - Statistical Learning (3) can be used in place of STAT 852 with permission of the School.

* Recommended

Lab Work for Big Data Specialization (12 units)

Students will take the following two lab courses worth 6 units each. Only students enrolled in the Professional Master of Science in Computer Science (Big Data) will be permitted to enroll in these courses:

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.

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.

Section Instructor Day/Time Location
G100 Steven Bergner
Jiannan Wang
Mo 9:00 AM – 10:50 AM
TASC1 9204, Burnaby
G101 Jiannan Wang
Steven Bergner
Tu 9:00 AM – 10:50 AM
Th 9:00 AM – 10:50 AM
ASB 10920, Burnaby
ASB 10920, Burnaby
G102 Apala Guha
Jiannan Wang
Steven Bergner
Tu 3:00 PM – 4:50 PM
Th 3:00 PM – 4:50 PM
ASB 10920, Burnaby
ASB 10920, Burnaby

Co-op (3 or 6 units)

A co-op placement is an integral part of this program. Students will register for one or two co-op terms. With assistance from the co-op coordinator and co-op student advisor 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 in Applied Computer Science at one of the various Computing Science research labs or elsewhere inside the University as a paid research assistant to satisfy the 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. Students are required to enroll in at least one of the required courses in the term following the co-op term(s).

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.