Please note:

To view the Fall 2024 Academic Calendar, go to www.sfu.ca/students/calendar/2024/fall.html.

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

Computing Science Dual Degree

Master of Science

Students in this graduate dual degree program (GDDP), jointly developed by Simon Fraser University and Zhejiang University (ZJU), China, will acquire two graduate degrees. Graduates will receive a master of science (MSc) degree from Simon Fraser University, and a master of software engineering (MSE) degree from Zhejiang University. Students will study and conduct research at both universities.

The language of instruction at Simon Fraser University is English, while at Zhejiang University, it is either English and/or Chinese.

Admission Requirements

Students must be admitted to one university, and then apply and be admitted to the other university. 

To qualify for admission, students must satisfy the usual admission requirements as specified by each university. At SFU the admission requirements are stated in Graduate General Regulations 1.3 in the SFU Calendar. The university the student is first admitted to will be referred to as the student's 'home' university. Students whose home university is Simon Fraser University are called SFU students while those whose home university is Zhejiang are called ZJU students.

Once admitted to the home university, the student may then apply for admission to the graduate dual degree program normally within 12 months of the date of admission to the home university graduate program. The program application requires the support and involvement of the student's supervisor at the home university. The graduate program committee at the home university decides whether to recommend the student for admission to the GDDP. A recommended individual's application will then be forwarded to the other partner university. Applicants must meet the admission requirements of that partner university.

Program Requirements

This program consists of course work at both SFU and ZJU, a one term co-op practicum or research/industry project at either SFU or ZJU, and two extended essays (one at each university). Simon Fraser University students complete a minimum of 23 course units from both institutions. ZJU students complete a minimum of 24 course units from both institutions. All students complete at least 15 units of course, practicum/project and extended essay at SFU.

All students complete 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
Jan 6 – Apr 9, 2025: Mon, Wed, Fri, 9:30–10:20 a.m.
Burnaby
CMPT 710 - Computational Complexity (3)

This course provides a broad view of theoretical computing science with an emphasis on complexity theory. Topics will include a review of formal models of computation, language classes, and basic complexity theory; design and analysis of efficient algorithms; survey of structural complexity including complexity hierarchies, NP-completeness, and oracles; approximation techniques for discrete problems. Equivalent Courses: CMPT810.

2122001-2 Elements of the Theory of Computation (ZJU course)

and four courses from Table 1

To fulfil the program's breadth requirements, all students complete at least one course from each of the four course groupings in Table 1 below. SFU students at Zhejiang University also complete the China Survey course. ZJU students complete an additional three units of social science courses as specified by Zhejiang University.

and a co-op, or internship, or research/industry project at SFU or ZJU

CMPT 626 - Graduate Co-op 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. Department Consent is required for enrollment.

Section Instructor Day/Time Location
G300 Tanya Behrisch
Cristina Eftenaru
Jan 6 – Apr 9, 2025: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.

G400 Tanya Behrisch
Cristina Eftenaru
Jan 6 – Apr 9, 2025: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.

G500 Tanya Behrisch
Cristina Eftenaru
Jan 6 – Apr 9, 2025: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.

G600 Tanya Behrisch
Cristina Eftenaru
Jan 6 – Apr 9, 2025: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.

G700 Tanya Behrisch
Cristina Eftenaru
Jan 6 – Apr 9, 2025: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.

G800 Tanya Behrisch
Cristina Eftenaru
Jan 6 – Apr 9, 2025: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.

I100 Tanya Behrisch
Cristina Eftenaru
Jan 6 – Apr 9, 2025: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.

I200 Tanya Behrisch
Cristina Eftenaru
Jan 6 – Apr 9, 2025: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.

I400 Tanya Behrisch
Cristina Eftenaru
Jan 6 – Apr 9, 2025: Mon, Tue, Wed, Thu, Fri, 8:00 a.m.–8:00 p.m.

CMPT 631 - Industrial Internship (3)

An internship in industry or a research environment for graduate research students. A final report will be submitted and graded by the student's supervisor. Units of this course do not count towards computing science breadth requirements. Graded on a satisfactory/unsatisfactory basis. Prerequisite: 12 units of CMPT course work with an SFU CGPA of at least 3.0. Approval of supervisor and a GPC representative is required prior to applying for, or accepting an internship.

Section Instructor Day/Time Location
G100 TBD

and two extended essays (one at each university)

CMPT 895 - Master Program Extended Essay (3)

Students will complete an extended essay required by the SFU-ZU graduate dual degree master program. The extended essay will normally be a report on a research/industry project or a survey on a specific topic in information technology. The topic and the scope of each essay will be determined in consultation with the supervisory committee. Graded on a satisfactory/unsatisfactory basis.

Section Instructor Day/Time Location
G100 TBD

NOTE: A Simon Fraser University course and a Zhejiang University course are deemed similar if the two courses overlap substantially. Students with credit for one of two similar courses may not complete the other course for further credit. Simon Fraser University's graduate program breadth committee and the corresponding Zhejiang University committee will decide on the list of similar courses.

Table 1

Group I: Algorithms and Theory Credits

Courses at Simon Fraser University

CMPT 701 - Computability and Logic (3)

Deep connections between logic and computation have been evident since early work in both areas. More recently, logic-based methods have led to important progress in diverse areas of computing science. This course will provide a foundation in logic and computability suitable for students who wish to understand the application of logic in various areas of CS, or as preparation for more advanced study in logic or theoretical CS.

Section Instructor Day/Time Location
G100 Evgenia Ternovska
Jan 6 – Apr 9, 2025: Mon, Wed, Fri, 1:30–2:20 p.m.
Burnaby
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
Jan 6 – Apr 9, 2025: Mon, Wed, Fri, 9:30–10:20 a.m.
Burnaby
CMPT 710 - Computational Complexity (3)

This course provides a broad view of theoretical computing science with an emphasis on complexity theory. Topics will include a review of formal models of computation, language classes, and basic complexity theory; design and analysis of efficient algorithms; survey of structural complexity including complexity hierarchies, NP-completeness, and oracles; approximation techniques for discrete problems. Equivalent Courses: CMPT810.

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.

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.

CMPT 815 - Algorithms of Optimization (3)

This course will cover a variety of optimization models, that naturally arise in the area of management science and operations research, which can be formulated as mathematical programming problems. Equivalent Courses: CMPT860.

CMPT 981 - Special Topics in Theoretical Computing Science (3)

Section Instructor Day/Time Location
G100 Matthew Amy
Jan 6 – Apr 9, 2025: Thu, 11:30 a.m.–2:20 p.m.
Burnaby
G200 Michael Monagan
Jan 6 – Apr 9, 2025: Tue, 2:30–4:20 p.m.
Jan 6 – Apr 9, 2025: Thu, 2:30–3:20 p.m.
Burnaby
Burnaby
G201 Jan 6 – Apr 9, 2025: Thu, 3:30–4:20 p.m.
Burnaby

Courses at Zhejiang University

2122001-2 Elements of the Theory of Computation

2122019-2 Advanced Formal Method

2124028-2 Pervasive Computing

Group II: Systems

Courses at Simon Fraser University

CMPT 770 - Parallel and Distributed Computing (3)

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.

CMPT 771 - Computer Networks (3)

Investigates the design and operation of wide-area computer networks, especially the Internet and the TCP/IP protocol suite. This course studies performance modeling, security and quality of service; wireless connectivity and multimedia networking; network services, including recent topics and trends in these areas.

Section Instructor Day/Time Location
G100 Jiangchuan Liu
Jan 6 – Apr 9, 2025: Wed, 11:30 a.m.–12:20 p.m.
Jan 6 – Apr 9, 2025: Fri, 10:30 a.m.–12:20 p.m.
Burnaby
Burnaby
CMPT 777 - Formal Verification (3)

The goal of formal verification is to prove correctness or to find mistakes in software and other systems. This course introduces, at an accessible level, a formal framework for symbolic model checking, one of the most important verification methods. The techniques are illustrated with examples of verification of reactive systems and communication protocols. Students learn to work with a model checking tool such as NuSMV.

CMPT 982 - Special Topics in Networks and Systems (3)

Section Instructor Day/Time Location
G100 Uwe Glaesser
Jan 6 – Apr 9, 2025: Tue, 10:30 a.m.–12:20 p.m.
Jan 6 – Apr 9, 2025: Fri, 10:30–11:20 a.m.
Burnaby
Burnaby
G200 Anders Miltner
Jan 6 – Apr 9, 2025: Tue, 2:30–4:20 p.m.
Jan 6 – Apr 9, 2025: Thu, 2:30–3:20 p.m.
Burnaby
Burnaby
G300 Jianliang Wu
Jan 6 – Apr 9, 2025: Wed, 3:30–4:20 p.m.
Jan 6 – Apr 9, 2025: Fri, 2:30–4:20 p.m.


Courses at Zhejiang University

2122002-2 Advanced Operating System

2122003-2 Advanced Computer Architecture

2124012-2 Grid Computing and Distributed Systems

2124045-2 Network and Information Security

2124059-2 Multi-core Computing

2124070-2 Parallel Computer Architecture and Programming

5121009-2 Fundamental of Financial Information System

5141010-3 Embedded System Design

5141061-2 System Analysis and Design

5141069-2 Embedded Operating Systems

5143078-2 Object-Oriented System Analysis and Design

Group III: Applications

Courses at Simon Fraser University

CMPT 713 - Natural Language Processing (3)

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.

Section Instructor Day/Time Location
G100 Angel Chang
Jan 6 – Apr 9, 2025: Mon, Wed, 3:30–4:50 p.m.
Burnaby
CMPT 720 - Robotic Autonomy: Algorithms and Computation (3)

Fundamental concepts in robotics and related fields, including computational methods for solving decision making and algorithms for robots to understand their environment. Topics include modeling and simulation of robotic systems, optimization, optimal control, robotic safety, reinforcement learning, and robotic perception. Applications of the material include unmanned aerial vehicles and self-driving cars.

Section Instructor Day/Time Location
G100 Jan 6 – Apr 9, 2025: Mon, 8:30–9:20 a.m.
Jan 6 – Apr 9, 2025: Thu, 8:30–10:20 a.m.
Burnaby
Burnaby
CMPT 721 - Knowledge Representation and Reasoning (3)

Knowledge representation is the area of Artificial Intelligence concerned with how knowledge can be represented symbolically and manipulated by reasoning programs. This course addresses problems dealing with the design of languages for representing knowledge, the formal interpretation of these languages and the design of computational mechanisms for making inferences. Since much of Artificial Intelligence requires the specification of a large body of domain-specific knowledge, this area lies at the core of AI. Prerequisite: CMPT 310/710 recommended. Cross-listed course with CMPT 411.

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 Ke Li
Jan 6 – Apr 9, 2025: Mon, 3:30–5:20 p.m.
Jan 6 – Apr 9, 2025: Wed, 3:30–4:20 p.m.
Burnaby
Burnaby
CMPT 727 - Mathematical and Probabilistic Foundations of Machine Learning (3)

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.

Section Instructor Day/Time Location
G100 Jan 6 – Apr 9, 2025: Mon, 4:30–6:20 p.m.
Jan 6 – Apr 9, 2025: Thu, 4:30–5:20 p.m.
Burnaby
Burnaby
CMPT 740 - Database Systems (3)

Introduction to advanced database system concepts, including query processing, transaction processing, distributed and heterogeneous databases, object-oriented and object-relational databases, data mining and data warehousing, spatial and multimedia systems and Internet information systems.

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 762 - Computer Vision (3)

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
G100 Andrea Tagliasacchi
Jan 6 – Apr 9, 2025: Thu, 2:30–5:20 p.m.
Burnaby
CMPT 763 - Biomedical Computer Vision (3)

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.

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 766 - Computer Animation and Simulation (3)

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).

CMPT 767 - Visualization (3)

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.

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.

Section Instructor Day/Time Location
G100 Jiangchuan Liu
Jan 6 – Apr 9, 2025: Mon, 2:30–4:20 p.m.
Jan 6 – Apr 9, 2025: Wed, 2:30–3:20 p.m.
Burnaby
Burnaby
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 827 - Intelligent Systems (3)

Intelligent systems are knowledge-based computer programs which emulate the reasoning abilities of human experts. This introductory course will analyze the underlying artificial intelligence methodology and survey advances in rule-based systems, constraint solving, incremental reasoning, intelligent backtracking and heuristic local search methods. We will look specifically at research applications in intelligent scheduling, configuration and planning. The course is intended for graduate students with a reasonable background in symbolic programming.

Section Instructor Day/Time Location
G100 Jan 6 – Apr 9, 2025: Mon, 4:30–6:20 p.m.
Jan 6 – Apr 9, 2025: Wed, 4:30–5:20 p.m.


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 843 - Database and Knowledge-base Systems (3)

An advanced course on database systems which focuses on data mining and data warehousing, including their principles, designs, implementations, and applications. It may cover some additional topics on advanced database system concepts, including deductive and object-oriented database systems, spatial and multimedia databases, and database-oriented Web technology.

CMPT 983 - Special Topics in Artificial Intelligence (3)

Section Instructor Day/Time Location
G100 Martin Ester
Jan 6 – Apr 9, 2025: Tue, 4:30–5:20 p.m.
Jan 6 – Apr 9, 2025: Thu, 3:30–5:20 p.m.
Burnaby
Burnaby
G200 Hang Ma
Jan 6 – Apr 9, 2025: Wed, 11:30 a.m.–12:20 p.m.
Jan 6 – Apr 9, 2025: Fri, 10:30 a.m.–12:20 p.m.
Burnaby
Burnaby
G300 Linyi Li
Jan 6 – Apr 9, 2025: Tue, 4:30–6:20 p.m.
Jan 6 – Apr 9, 2025: Thu, 5:30–6:20 p.m.
Burnaby
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.

Courses at Zhejiang University

2122020-4 Computer Graphics

2122021-2 Introduction to Computer Vision

2122023-2 Introduction to Artificial Intelligence

2124003-2 Computer Security

2124014-2 Advanced Software Engineering

2124017-2 The Fundamental Principles of Non-Photorealistic Computer Graphics

2124044-2 Webservice Technology

2124057-2 High End Computing and Its Applications

2124060-2 Multimedia Computing

2124061-2 Network Multimedia Search Engine

2124062-2 Solid Modeling

2124063-2 Biologic Intelligence and Algorithm

2124064-2 Introduction to Machine Learning

2124065-2 Advanced Artificial Intelligence

2124066-2 Visualization in Scientific Computing

2124067-2 Speech and Language, Processing and Understanding

2124068-2 Image Processing and Modeling

2124076-2 Services Computing

5141005-2 Advanced Object-oriented Development Techniques

5141039-2 Advanced IoT Application

5141062-2 Advanced Data Base Technology

5141066-3 Big Data Storage and Processing

5143068-2 3D Animation and HCI

5143081-3 Key Technologies for Game Development

5143088-2 Stream Data Processing and Analyzing

Group IV: Other

Courses at Simon Fraser University

Courses at Zhejiang University

0711026-2 Bioinformatics Topics

5109001-2 Development of Professional Competency and Entrepreneurial Education

5121001-2 Software Project Management

5141060-2 Project Practice

5143016-3 Quality Assurance of Software and Testing Technology

Program Length

Students are expected to complete the program requirements in three years.

Other Information

Supervisory Committee

Each student will be supervised by a supervisory committee consisting of a supervisor from either university and at least one faculty member from the other university. Each student is required to have an annual progress evaluation by the supervisory committee. Meetings of the supervisory committee are normally once per year and may involve the use of new media.

Program Withdrawal

A student may withdraw from the GDDP program by transferring to the MSc program at either the home or partner university at any time. The full academic record at both universities may be considered to determine standing at the home university.

Extended Essays

Extended essay completed at SFU is examined by two readers and is not required to be submitted to the library upon completion.

Tuition Fees

When a student is resident at Simon Fraser University, the student pays per-unit tuition fees to Simon Fraser University. When a student is resident at Zhejiang University, the student pays tuition fees to Zhejiang University.

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.