¶¡ÏãÔ°AV

Computing Science Master of Science Program

School of Computing Science | Faculty of Applied Sciences
¶¡ÏãÔ°AV Calendar 2013 Summer

The school offers both a master of science program with a thesis option, or with a project option, or with a course option.

¶¡ÏãÔ°AV Requirements

To qualify for master of science (MSc) program admission, a student must satisfy the University admission requirements stated in section 1.3 of the graduate general regulations and must have a bachelor’s degree or the equivalent in computing science or a related field.

Students who are enrolled in the MSc program may apply to transfer to the doctor of philosophy (PhD) program after two terms in the MSc program. The school’s evaluation procedure for such applications is the same as that used for outside applicants.

Program Requirements

Students complete 30 units of graduate work in one of three options chosen at the time of admission: thesis option, project option or course option. Each option consists of graduate course and optional practicum work satisfying certain breadth requirements plus a depth requirement consisting of a thesis, project or portfolio document. Any change to a student's program option must be approved by the school's graduate program committee.

Breadth Requirement

For purposes of defining breadth requirements, courses are grouped into the five major areas shown in Table 1 (below). Courses not related to the breadth requirements are shown in Table 2 (below). Any courses completed outside the School of Computing Science must be approved by the student’s senior supervisor and the director of the graduate program.

Only two special topics courses (two of CMPT 829, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889) may be used toward satisfaction of breadth requirements, except with permission of the graduate program breadth committee.

The courses used to satisfy the breadth requirements must include either CMPT 705 or 710, unless the student already has credit for one of these courses (or equivalent) from a previous degree as determined by the graduate program breadth committee.

Any 700 division course used to satisfy the breadth requirement might be waived and replaced by an 800 division course. Students must produce convincing evidence to the graduate program committee that they have completed a comparable course or have comparable training in industry.

Thesis MSc students complete a breadth requirement of 15 units of graduate course or practicum work. At least 12 units must be completed through four courses drawn from Table 1 (below) so that at least one course must be from Area I - Algorithms and Complexity Theory and two of the four courses must be from two other Areas. Students may use one 3-unit practicum towards the 15 units of required course work.

Project MSc students complete a breadth requirement consisting, 24 units of graduate course or practicum work. At least 18 units must be completed through six courses drawn from Table 1 (below) so that at least one course must be from Area I - Algorithms and Complexity Theory and so that the six courses cover at least three different Areas. Students may use up to two 3-unit practicums towards the 24 unit requirement.

Course MSc students complete a breadth requirement consisting of 30 units of graduate course or practicum work. At least 18 units must be completed through six courses drawn from Table 1 (below) so that at least one course must be from Area I - Algorithms and Complexity Theory and so that the six courses cover at least three different Areas. Students may use up to three 3-unit practicum stowards the 30 unit requirement.

Table 1

Area I – Algorithms and Complexity Theory

  • CMPT 701 Computability and Logic (3)
  • CMPT 705 Design and Analysis of Algorithms (3)
  • CMPT 710 Computational Complexity (3)
  • CMPT 711 Bioinformatics Algorithms (3)
  • CMPT 813 Computational Geometry (3)
  • CMPT 814 Algorithmic Graph Theory (3)
  • CMPT 815 Algorithms of Optimization (3)
  • CMPT 881 Special Topics in Theoretical Computing Science (3)

Area II – Networks, Software and Systems

  • CMPT 730 Programming Languages (3)
  • CMPT 731 Functional Programming (3)
  • CMPT 745 Software Engineering (3)
  • CMPT 755 Compiler Theory (3)
  • CMPT 760 Operating Systems (3)
  • CMPT 765 Computer Communication Networks (3)
  • CMPT 771 Internet Architecture and Protocols (3)
  • CMPT 777 Formal Verification (3)
  • CMPT 816 Theory of Communication Networks (3)
  • CMPT 885 Special Topics in Computer Architecture (3)
  • CMPT 886 Special Topics in Networks, Software and Systems (3)

Area III – Artificial Intelligence

  • CMPT 721 Knowledge Representation and Reasoning (3)
  • CMPT 725 Logical Methods in Computational Intelligence (3)
  • CMPT 726 Machine Learning (3)
  • CMPT 823 Formal Topics in Knowledge Representation (3)
  • CMPT 825 Natural Language Processing (3)
  • CMPT 826 Automated Learning and Reasoning (3)
  • CMPT 827 Intelligent Systems (3)
  • CMPT 882 Special Topics in Artificial Intelligence (3)

Area IV – Databases, Data Mining and Computational Biology

  • CMPT 505 Problem Based Learning in Bioinformatics (3)
  • CMPT 740 Database Systems (3)
  • CMPT 741 Data Mining (3)
  • CMPT 829 Special Topics in Bioinformatics (3)
  • CMPT 842 Concurrency Control in Database Systems (3)
  • CMPT 843 Database and Knowledge-base Systems (3)
  • CMPT 884 Special Topics in Database Systems (3)

Area V – Graphics, HCI, Vision and Visualization

  • CMPT 761 Image Synthesis (3)
  • CMPT 764 Geometric Modeling in Computer Graphics (3)
  • CMPT 773 User Interface Design (3)
  • CMPT 767 Visualization (3)
  • CMPT 768 Computer Music Theory and Sound Synthesis (3)
  • CMPT 820 Multimedia Systems (3)
  • CMPT 821 Robot Vision (3)
  • CMPT 822 Computational Vision (3)
  • CMPT 828 Illumination in Images and Video (3)
  • CMPT 888 Special Topics in Computer Graphics, HCI, Vision and Visualization (3)

Table 2

  • CMPT 626 Graduate Co-op Practicum I (3)
  • CMPT 627 Graduate Co-op Practicum II (3)
  • CMPT 628 Graduate Co-op Practicum III (3)
  • CMPT 880 Special Topics in Computing Science (3)
  • CMPT 889 Special Topics in Interdisciplinary Computing (3)
  • CMPT 894 Directed Reading (3)

The course requirements have a distribution requirement to ensure breadth across the major areas that are defined in Table 1 (above). This requirement specifies the number of courses selected from each of the five major Areas.

Depth Requirement

Students who choose the thesis option will demonstrate depth of knowledge in their research area through a thesis defence based on their independent work. Students should consult with their supervisory committee members, and formulate and submit a written thesis proposal for approval no later than the third term. Thesis students register in CMPT 898 during the terms in which they are conducting thesis research.

Students who choose the project option will choose an area of specialization and submit a project report. Project topics may include a comprehensive survey of the literature of some computing science related research areas; implementation and evaluation of existing techniques/algorithms; development of interesting software/hardware applications. Project students register in CMPT 897 during the terms in which they are conducting project work.

Regulations specifying the examining committee’s composition and procedures for the thesis or project exam appear in the graduate general regulations.

Students who choose the course option will submit a brief portfolio document that describes their selection of graduate courses and explains how this set of courses contributes to their areas of expertise. Course students are required to register in their chosen courses each term and will be registrered by the department in CMPT 896 during their final term only.

Supervisory Committees

A supervisory committee consists of the student’s senior supervisor, at least one other computing science faculty member, and others (typically faculty) as appropriate. The choice of senior supervisor should be made by mutual consent of the graduate student and faculty member based on commonality of research interests. The student and senior supervisor should consult on the remainder of the committee members.

Graduate general regulation 1.6 specifies that a senior supervisor be appointed normally no later than the beginning of the student’s third term in the program, and that the remainder of the supervisory committee be chosen normally in the same term in which the senior supervisor is appointed.

Academic Requirements within the Graduate General Regulations

All graduate students must satisfy the academic requirements that are specified in the graduate general regulations (residence, course work, academic progress, supervision, research competence requirement, completion time, and degree completion), as well as the specific requirements for the program in which they are enrolled, as shown above.

Return to computing science index page.

For calendar technical problems or errors, contact calendar-sfu@sfu.ca | Calendar changes and corrections