91ÅÝܽ

Welcome to SFU.ca.
You have reached this page because we have detected you have a browser that is not supported by our web site and its stylesheets. We are happy to bring you here a text version of the SFU site. It offers you all the site's links and info, but without the graphics.
You may be able to update your browser and take advantage of the full graphical website. This could be done FREE at one of the following links, depending on your computer and operating system.
Or you may simply continue with the text version.

*Windows:*
FireFox (Recommended) http://www.mozilla.com/en-US/firefox/
Netscape http://browser.netscape.com
Opera http://www.opera.com/

*Macintosh OSX:*
FireFox (Recommended) http://www.mozilla.com/en-US/firefox/
Netscape http://browser.netscape.com
Opera http://www.opera.com/

*Macintosh OS 8.5-9.22:*
The only currently supported browser that we know of is iCAB. This is a free browser to download and try, but there is a cost to purchase it.
http://www.icab.de/index.html
| |
TOC PREV NEXT INDEX

School of Computing Science

9971 Applied Science Building, 778.782.4277 Tel, 778.782.3045 Fax,

Director

R.D. Cameron BASc, PhD (Br Col)

Professors Emeriti

  • T.W. Calvert BSc(Eng) (Lond), MSEE (Wayne), PhD (Carnegie Tech), PEng
  • R. Harrop BA, MA, PhD (Camb)
  • W.S. Havens BSc, MSc (Virginia), PhD (Br Col)
  • T. Kameda BE, ME (Tokyo), PhD (Prin)
  • J.J. Weinkam BS (Xavier), MS (Chic), DSc (Wash)

Professors

  • M.S. Atkins BSc (Nott), MPhil (Warw), PhD (Br Col)
  • B.K. Bhattacharya MSc (Calc), MSc, PhD (McG)
  • F.W. Burton BSc, MA (Colorado), PhD (E Anglia)
  • R.D. Cameron BASc, PhD (Br Col)
  • V. Dahl MSc (Buenos Aires), PhD (Aix-Marseilles I), Dipl d’Et App (Aix-Marseilles II)
  • J.P. Delgrande BSc, MSc, PhD (Tor)
  • M.S. Drew BASc, MSc (Tor), PhD (Br Col)
  • M. Ester MSc (Dortmund), PhD (Swiss Inst Tech)
  • B.V. Funt BSc, MSc, PhD (Br Col)
  • Q. Gu BS (Shandong), MS (Ibaraki), PhD (Tohoku)
  • A. Gupta BSc (McM), MSc, PhD (Tor)
  • R.F. Hadley BA (Virginia), MSc (S Fraser), PhD (Br Col)
  • P. Hell BSc (Prague), MSc (McM), PhD (Montr)
  • R. Krishnamurti BTech, MTech (IIT Madras), PhD (Penn)
  • Z.N. Li BSc (China UST), MSc, PhD (Wis)
  • A.L. Liestman BGS (Kansas), MS, PhD (Ill)
  • W.S. Luk BA (Lond), MSc (Wat), PhD (Alta)
  • J.G. Peters BMath (Wat), MSc, PhD (Tor)
  • F. Popowich BSc (Alta), MSc (S Fraser), PhD (Edin)
  • S.C. Sahinalp BSc (Bilkent), PhD (Maryland), Canada Research Chair
  • T.C. Shermer BES (Johns H), PhD (McG)
  • G. Tardos Diploma, PhD (Eötvös Loránd, Budapest), Canada Research Chair
  • K. Wang BSc (Chongqing), MSc, PhD (Georgia IT)

Associate Professors

  • P. Berenbrink MSc, PhD (Paderborn)
  • A. Bulatov MSc (Ural State), PhD (Russian Academy of Science)
  • A.F. Ergun BSc (Bilkent), PhD (Cornell)
  • U. Glässer BSc, MSc, PhD, Habilitation (Paderborn)
  • L.J. Hafer BSEE, MS, PhD (Carnegie-Mellon)
  • A. Kirkpatrick BS (Penn State), MS (Maharishi Intl), PhD (Ore)
  • D. Mitchell BSc (Tor), MSc (S Fraser), PhD (Tor)
  • T. Möller BS (Humboldt), MS, PhD (Ohio State)
  • J. Pei BE, ME (Jiao Tong), PhD S Fraser)
  • O. Schulte BSc (Tor), MSc, PhD (Carnegie Mellon)
  • E. Ternovska BSc (Moscow State), MSc (Russian Academy of Science), PhD (Tor)
  • K. Wiese BMath, BSc, MSc (Saarlandes), PhD (Regina)

Assistant Professors

  • D. Beyer DrRerNat, DiptInf, PhD (Brandenburg)
  • A. Fedorova MS, PhD (Harvard)
  • G. Hamarneh BSc (Jordan), MSc, PhD (Chalmers)
  • M. Hefeeda BSc, MSc (Mansoura), PhD (Purdue)
  • V. Kabanets BSc (Kiev), MSc (S Fraser), PhD (Tor)
  • J.C. Liu BSc (Tsinghua), PhD (HKUST)
  • G. Mori BSc (Tor), PhD Calif)
  • A. Sarkar, BSc (Poona), PhD (Penn)
  • T. Smyth BMus (McG), MMus (NY), DPhil (Stan)
  • R.T. Vaughan BA (Sus), PhD (Oxf)
  • H. Zhang BSc, MSc (Wat), PhD (Tor)

Adjunct Professors

  • I. Birol BSc, MSc, PhD (Bogazici)
  • A. Cherkasov Dipl (Kazan State), PhD, DSc (SciCoun Russian AcaSci)
  • F. Chudak Licentate Math (Buenos Aires), MA (S Carolina), PhD (Cornell)
  • A. Condon BSc (UnivColl Cork), PhD (Wash)
  • J.C. Dill BASc (Br Col), MS (N Carolina), PhD (Cal Tech), PEng
  • G.D. Finlayson BSc (Strath), MSc, PhD (S Fraser)
  • F.D. Fracchia BSc (Regina), MS (Wat), PhD (Regina)
  • T. Lee BSc, MSc (Br Col), PhD (S Fraser)
  • T. Schaub BSc, MSc, PhD (Darmstadt)
  • H. Wehn MSc, PhD (McG)

Senior Lecturers

  • G. Baker BSc (Qu), MSc (S Fraser)
  • B. Bart BSc, BMath (Wat), BEd (WOnt), MSc (S Fraser)
  • A.H. Dixon BSc, MSc, PhD (Br Col)
  • M.D. Evans BSc, MA (Dal), MSc (Dund), MSc (Birm)

Lecturers

  • D. Cukierman BSc (Republica, Uruguay), MSc, PhD (S Fraser)
  • T. Donaldson, BSc (S Fraser), MMath, PhD (Wat)
  • J. Edgar BSc (Univ Coll, London), MSc (S Fraser)
  • H.S. Khangura BSc (Tor), MSc (Br Col)
  • A. Lavergne BSc (S Fraser), MSc (Br Col)
  • S. Pearce BSc, MSc (Br Col), PhD (Ariz)
  • J. Regan BSc (Vic, BC), MS, PhD (Cal Tech)

Associate Members

  • P. Borwein, Department of Mathematics
  • P. Brantingham, School of Criminology
  • C. Chauve, Department of Mathematics
  • M.B. Monagan, Department of Mathematics
  • F.J. Pelletier, Department of Linguistics, Department of Philosophy
  • R.D. Russell, Department of Mathematics
  • L. Stacho, Department of Mathematics
  • M. Taboada, Department of Linguistics
  • L. Trajkovic, School of Engineering Science
  • M.R. Trummer, Department of Mathematics

Advisors

For general advice, see , 778.782.3796 Tel, csadvise@cs.sfu.ca

For Simon Fraser University Surrey program advice, see, 778.782.7552 Tel, csadvise@sfu.ca,

To book your own advising appointment, see

For co-operative education advice, see

  • Ms. H. Chicoine, Co-operative Education Co-ordinator, 9832 Applied Science Building, 778.782.3917 Tel, chicoine@sfu.ca

Programs Offered

  • Computing Science Major: this program leads to a BSc or BA degree with a major or honors in computing science; students may complete specialist programs and concentrations
  • Software Systems Major
  • Joint Programs
  • Post Baccalaureate Diploma in Computing Science
  • Second Degree Program
  • 91ÅÝܽ – Zhejiang University Dual Degree Program

The school offers a general program leading to a BSc or BA degree with major or honors in computing science, and specialist programs leading to a BSc degree with a computing science major. It also offers many joint major programs, and also participates in the cognitive science program (see “Cognitive Science Program”) and the Management and Systems Science Program see “Management and Systems Science Program”). The school also offers a minor program.

Transfer Credit and Residency Requirements

Transfer students are advised that residency requirements apply to all programs offered or jointly offered by the School of Computing Science. See “Residency Requirements”.

Prerequisite Grade Requirement

Computing science course entry requires a C- or better in each prerequisite course. A minimum 2.40 cumulative grade point average is required for upper division computing courses.

Admission Requirements

Entry into computing science programs is possible via

  • direct admission from high school
  • direct transfer from a recognized post-secondary institution, or combined transfer units from more than one post-secondary institution
  • internal transfer from within Simon Fraser University

Admission is competitive. A separate admission average for each entry route is established each term, depending on spaces available and subject to the approval of the Dean of Applied Sciences. Admission averages are calculated over a set of courses satisfying particular breadth constraints.

See “Admission and Readmission” for provisions governing high school direct entry or direct transfer from another post-secondary institution.

Please contact an advisor at

Guaranteed Placement Program

This admission entry program has been created for high school students who are not eligible for our direct admission program (based on their high school grade average), but still have a good grade average.

This program assures students of timely access to the courses needed to enter the computing science major or honors programs under the internal transfer model.

Students may continue in the program for up to two years with a 2.40 or better CGPA.

Students who are considering this program are strongly recommended to meet with a school academic advisor within the first two terms of study. See

Internal Transfer

91ÅÝܽ students applying for School of Computing Science admission are selected on the basis of an admission Computing Related Grade Point Average. The CRGPA is calculated over the best three courses chosen as follows.

  • one mathematics course chosen from: MACM 101, 201, MATH 150 (or 151), 152 and 240 (or 232)
  • one computing course chosen from: CMPT 125 (or 126 or 128), 150, (or ENSC 150), 225, 250 and 275
  • one additional mathematics or computing science course chosen from the above lists

No course may be included in the average if it is a duplicate of any previous course completed at Simon Fraser University or elsewhere. All three courses must be completed prior to application. See for information.

Continuation Requirements

Students who do not maintain at least a 2.40 CGPA, will be placed on the school’s probation. Courses available to probationary students may be limited. Each term, these students must consult an advisor prior to enrolment and must achieve either a term 2.40 term GPA or an improved CGPA. Reinstatement from probationary standing occurs when the CGPA improves to 2.40 or better and is maintained.

Students must obtain permission from the department if they wish to complete, for further credit, any course that is a prerequisite for a course the student has already completed with a grade of C- or higher.

Writing, Quantitative, and Breadth Requirements

Students completing degree programs must fulfil writing, quantitative and breadth requirements as part of their program. See “Writing, Quantitative, and Breadth Requirements” for information or visit.

For students entering from 91ÅÝܽ, Chinese language and culture courses completed at Zhejiang University may fulfil up to two Breadth-Social Sciences (B-Soc) and two Breadth-Humanities (B-Hum) requirement.

For students entering from Zhejiang University, selected cultural, social science and humanities courses completed at Zhejiang University may fulfil up to two Breadth-Social Sciences (B-Soc) and two Breadth-Humanities (B-Hum) requirement.

Second Degree Program

This is a direct admission program and holders of a recognized bachelor's degree in another discipline may follow this program to earn a second degree.

Applicants should indicate their program interest by selecting the computing science, Faculty of Applied Sciences BSc major as their first choice. Applicants are selected primarily on upper division (third and fourth year) performance in the prior bachelor's degree and subsequent professional experience.

Well-prepared students can complete the program in one year (three terms) of full-time study. The ideal preparation is a mathematics background with programming experience comparable to the first two years of the computing science major program and a prior degree in which English was the language of instruction. Students without this may need additional time to complete lower division prerequisites prior to starting upper division courses.

In accord with University regulations, the second degree program consists of the upper division requirements of the full computing science degree, including WQB requirements as assessed by the school. For a general BSc degree majoring in computing science, 45 upper division units must be completed including the 39 upper division units as specified for the major. For more information visit.

Major and Honors Programs

These programs are organized to take advantage of many options. Some prepare for employment in computer-related positions in government, business, or industry, and for computing science graduate studies or a related area. This undergraduate degree is appropriate for many interdisciplinary areas.

Lower Division Requirements

Students who plan a major or honors in computing science must complete the courses listed below. It is suggested that students complete a recommended schedule of courses within the first two years.*

Courses

Students complete one of**

CMPT 125-3 Introduction to Computing Science and Programming II

CMPT 126-3 Introduction to Computing Science and Programming

and all of

CMPT 150-3 Introduction to Computer Design

CMPT 225-3 Data Structures and Programming

CMPT 250-3 Introduction to Computer Architecture

CMPT 275-4 Software Engineering I

MACM 101-3 Discrete Mathematics I

MACM 201-3 Discrete Mathematics II

MATH 151-3 Calculus I***

MATH 152-3 Calculus II***

MATH 240-3 Algebra I: Linear Algebra***

and one of

STAT 270-3 Introduction to Probability and Statistics I

BUEC 232-4 Data and Decisions I (with permission of an advisor) 37-38 units

**to aid your choice, prior to enrolment, complete the self-evaluation test at

***MATH 150 may be substituted for MATH 151. MATH 154/155 or MATH 157/158 with a grade of at least B+ may be substituted with school permission. MATH 232 may be substituted for MATH 240.

Students are encouraged to meet the Simon Fraser University undergraduate degree requirements for writing, quantitative, and breadth courses as early as possible in their degree (see “Writing, Quantitative, and Breadth Requirements”).

Upper Division Requirements

Major and honors students must consult an advisor before commencing upper division requirements. For information, see

The primary upper division requirements for a major or honors are structured according to breadth, depth and credential requirements listed below.

Table I – Computing Science Concentrations

Artificial Intelligence

CMPT 310-3 Artificial Intelligence Survey

CMPT 340-3 Biomedical Computing

CMPT 411-3 Knowledge Representation

CMPT 412-3 Computational Vision

CMPT 413-3 Computational Linguistics

CMPT 414-3 Model-Based Computer Vision

CMPT 417-3 Intelligent Systems

CMPT 418-3 Computational Cognitive Architecture

CMPT 419-3 Special Topics in Artificial Intelligence

Computer Graphics and Multimedia

CMPT 361-3 Introduction to Computer Graphics

CMPT 363-3 User Interface Design

CMPT 365-3 Multimedia Systems

CMPT 368-3 Introduction to Computer Music Theory and Sound Synthesis

CMPT 461-3 Image Synthesis

CMPT 464-3 Geometric Modeling in Computer Graphics

CMPT 466-3 Animation

CMPT 467-3 Visualization

CMPT 469-3 Special Topics in Computer Graphics

Computing Systems

CMPT 300-3 Operating Systems I

CMPT 305-3 Computer Simulation and Modeling

CMPT 371-3 Data Communications and Networking

CMPT 379-3 Principles of Compiler Design

CMPT 401-3 Operating Systems II

CMPT 431-3 Distributed Systems

CMPT 432-3 Real-time Systems

CMPT 433-3 Embedded Systems

CMPT 471-3 Networking II

CMPT 479-3 Special Topics in Computing Systems

CMPT 499-3 Special Topics in Computer Hardware

Information Systems

CMPT 301-3 Information Systems Management

CMPT 354-3 Database Systems I

CMPT 370-3 Information System Design

CMPT 441-3 Introduction to Computational Biology

CMPT 454-3 Database Systems II

CMPT 456-3 Information Retrieval and Web Search

CMPT 459-3 Special Topics in Database Systems

CMPT 470-3 Web-based Information Systems

CMPT 474-3 Web Systems Architecture

Programming Languages and Software

CMPT 373-3 Software Development Methods

CMPT 383-3 Comparative Programming Languages

CMPT 384-3 Symbolic Computing

CMPT 473-3 Software Quality Assurance

CMPT 475-3 Software Engineering II

CMPT 477-3 Introduction to Formal Verification

CMPT 480-3 Foundations of Programming Languages

CMPT 481-3 Functional Programming

CMPT 489-3 Special Topics in Programming Languages

Theoretical Computing Science

CMPT 307-3 Data Structures and Algorithms

CMPT 308-3 Computability and Complexity

CMPT 404-3 Cryptography and Cryptographic Protocols

CMPT 405-3 Design and Analysis of Computing Algorithms

CMPT 406-3 Computational Geometry

CMPT 407-3 Computational Complexity

CMPT 408-3 Theory of Computer Networks/Communications

CMPT 409-3 Special Topics in Theoretical Computing Science

MACM 300-3 Introduction to Formal Languages and Automata with Applications

Table II – Application Courses

CMPT 340-3 Computers in Biomedicine

CMPT 441-3 Introduction to Computational Biology

Table III – Computing Mathematics Courses

MACM 316-3 Numerical Analysis I

MACM 401-3 Symbolic Computation

MATH 308-3 Linear Programming

MATH 343-3 Combinatorial Aspects of Computing

MACM 416-3 Numerical Analysis II

The following courses may be counted in one of the above tables with permission of the school.

CMPT 318-3 Special Topics in Computing Science

CMPT 415-3 Special Research Projects

CMPT 416-3 Special Research Projects

CMPT 496-3 Directed Studies

CMPT 497-6 Dual Degree Program Capstone Project

CMPT 498-6 Honors Research Project

Upper Division Requirements for a Major

Breadth Requirement

Five courses from five of the six table 1 areas of concentration must be completed including both of

CMPT 300-3 Operating Systems I

CMPT 307-3 Data Structures and Algorithms 15 units

CMPT 354 is also recommended.

Depth Requirement

Twelve units of additional CMPT courses numbered CMPT 400 or above must be completed (excluding CMPT 415, 416 and 498, which may be included by special permission). 12 units

BSc Credential

For a BSc degree with a major in computing science, the following additional requirements must be met.

two additional courses chosen from tables I, II or III

• MACM 316 and

• CMPT 320 or CMNS 353

Other courses may be approved on submission of a detailed course outline to the school. 12 units

BEd Credential

For a major in computing science in conjunction with a BEd program as offered by the Faculty of Education, one additional CMPT course chosen from table I or table II must be completed, to total at least 30 upper division units in CMPT courses. 3 units

BA Credential

For a BA degree with a major in computing science within the Faculty of Applied Sciences, the following additional requirements must be met.

one additional CMPT upper division course chosen from table I or table II must be completed bringing the total upper division units in CMPT courses to a minimum of 30 units.

a concentration of 15 units in a Faculty of Arts and Social Sciences discipline (department) including at least six units of upper division credit. 18 units

Graduation Requirements

For all computing science major programs, the upper division CMPT GPA of 2.00 must be maintained.

For a computing science major, students complete

• 120 units including an overall minimum of 45 upper division units

• a minimum of at least 30 upper division CMPT units must be counted towards the major and cannot at the same time be counted towards the unit requirements of any other program.

See “Major – Minor Program” for regulations governing university graduation requirements, or see to find “General Information” from the Table of Contents.

Upper Division Requirements for Honors

For a BA or BSc degree with honors in computing science, students fulfil the following requirements for a BA or BSc major in computing science, with the following modifications and additions.

Unit Requirement

Additional computing science courses must be completed to bring the total upper division units in CMPT/MACM to at least 50 within the minimum of 60 upper division units and an overall total of 132 units are required for the degree, together with a graduation grade point average of at least 3.00.

Breadth Requirement

One course each in the six areas of table I is required. These courses must include CMPT 300, 307 and 354.

18 units

Depth Requirement

Six additional courses from table I are required. These courses must include CMPT 405 and at least one other course in the theoretical computing science concentration. At least four of the courses must be numbered 400 or above.

In addition, six units of research courses are required including both of

CMPT 415-3 Special Research Projects

CMPT 416-3 Special Research Projects

or

CMPT 498-6 Honors Research Project 24 units

Concentrations

As part of a major or honors program, students may complete one or more concentrations from these six areas: artificial intelligence, computer graphics and multimedia, computing systems, information systems, programming languages and software engineering, and theoretical computing science.

To complete a concentration, students complete the major or honors requirements, including four courses in the corresponding section of table 1, at least two of which must be at the 400 division. Courses used to meet the requirements of a concentration may also be used to meet other program requirements.

Specialist Programs

Students must consult an advisor before commencing a specialist program, preferably early in their second year. See

Specialist Program in Multimedia Computing

Lower Division Requirements

Students complete all lower division requirements for the computing science major program plus

FPA 111-3 Issues in the Fine and Performing Arts

plus at least two of

CMNS 259-3 Acoustic Dimensions of Communication I

FPA 147-3 Introduction to Electroacoustic Music

FPA 247-3 Electroacoustic Music I

FPA 289-3 Special Topics in the Fine and Performing Arts I

FPA 290-3 Video Production I 58-61 units

Upper Division Requirements

Students complete at least 39 units of computing science upper division courses, which should include CMPT courses in the following required and elective courses.

Students complete all of

CMPT 300-3 Operating Systems I

CMPT 307-3 Data Structures and Algorithms

CMPT 320-3 Social Implications of a Computerized Society

CMPT 361-3 Introduction to Computer Graphics

CMPT 363-3 User Interface Design

CMPT 365-3 Multimedia Systems

MACM 316-3 Numerical Analysis I 21 units

At least six of the following are required, three of which must be 400 division, three must be designated CMPT and two must be non-CMPT courses.

CMNS 358-4 Sound Tape Recording: Theory and Uses

CMNS 359-4 Acoustic Dimensions of Communication II

CMPT 310-3 Artificial Intelligence Survey

CMPT 354-3 Database Systems and Structures

CMPT 371-3 Data Communications and Networking

CMPT 412-3 Computational Vision

CMPT 414-3 Model-Based Computer Vision

CMPT 461-3 Advanced Computer Graphics

CMPT 466-3 Animation

CMPT 468-3 Introduction to Computer Music and Sound Synthesis

CMPT 469-3 Special Topics in Computer Graphics

FPA 311-5 The Arts in Context: Selected Topics

FPA 353-3 Playmaking IV

FPA 390-3 Video Production II 18 units

Relevant FPA and CMNS lower and upper division special topics courses may be applied to the above requirement with the approval of the director of undergraduate studies in the School of Computing Science. Some FPA courses listed above require prerequisites that are not included here.

Specialist Program in Software Engineering

The completion of a bachelor of science degree in computing science with the completion of a specialist program in software engineering is not a professional engineering degree as it is not certified by professional engineering societies. It is instead an area of study recognized by computing science.

Lower Division Requirements

These requirements are identical to those of the major and honors program listed above.

Upper Division Requirements

Required Courses

Students complete all eight of

CMPT 300-3 Operating Systems I

CMPT 307-3 Data Structures and Algorithms

CMPT 320-3 Social Implications of a Computerized Society

CMPT 354-3 Database Systems I

CMPT 363-3 User Interface Design

CMPT 371-3 Data Communications and Networking

CMPT 475-3 Software Engineering II

MACM 316-3 Numerical Analysis I 24 units

Elective Courses

Students complete five or more courses chosen from the following list, at least three of which must be at the 400 division.

CMPT 301-3 Information Systems Management

CMPT 370-3 Information System Design

CMPT 379-3 Principles of Compiler Design

CMPT 383-3 Comparative Programming Languages

CMPT 401-3 Operating Systems II

CMPT 454-3 Database Systems II

CMPT 459-3 Special Topics In Database Systems

CMPT 470-3 Web-based Information Systems

CMPT 471-3 Networking II

CMPT 477-3 Introduction to Formal Verification

CMPT 487-3 Software Engineering Tools and Environments

CMPT 489-3 Special Topics in Programming Languages

ENSC 351-4 Real Time and Embedded Systems

15 units

Additional upper CMPT courses are required to bring the total CMPT units to 45 or more (ENSC 351 is treated as CMPT credit for this purpose). 6 units

Software Systems Major Program

This program provides skills, knowledge and thought processes necessary for professional software production, while also providing a broad background various computing systems that graduates encounter in their careers. For course planning information, visit

Systems Requirements

Students complete all of

CMPT 150-3 Introduction to Computer Design

CMPT 250-3 Introduction to Computer Architecture

CMPT 300-3 Operating Systems I

and two of

CMPT 170-3 Introduction to Web Application Development

CMPT 371-3 Data Communications and Networking

CMPT 471-3 Networking II

CMPT 354-3 Database Systems I

CMPT 454-3 Database Systems II

CMPT 401-3 Operating Systems II

CMPT 432-3 Real-time Systems

CMPT 433-3 Embedded Systems

CMPT 470-3 Web-based Information Systems

15 units

Fundamentals Requirements

Students complete all of

CMPT 307-3 Data Structures and Algorithms

MACM 101-3 Discrete Mathematics I

MATH 151-3 Calculus I

MATH 232-3 Elementary Linear Algebra

and one of

CMPT 322-3 Professional Responsibility and Ethics

CMPT 322W-3 Professional Responsibility and Ethics

and one of

STAT 101-3 Introduction to Statistics

STAT 270-3 Introduction to Probability and Statistics

18 units

Software Engineering Requirements

Students complete all of

CMPT 212-3 Object-Oriented Applications Design in C++

CMPT 225-3 Data Structures and Programming

CMPT 276-3 Introduction to Software Engineering

CMPT 373-3 Software Development Methods

CMPT 379-3 Principles of Compiler Design

CMPT 473-3 Software Quality Assurance

and either

CMPT 126-3 Introduction to Computing Science and Programming

or

CMPT 128-3 Introduction to Computing Science and Programming for Engineers

or both of

CMPT 120-3 Introduction to Computing Science and Programming I

CMPT 125-3 Introduction to Computing Science and Programming II

and one of

CMPT 383-3 Comparative Programming Languages

CMPT 384-3 Symbolic Computing

CMPT 477-3 Formal Verification

CMPT 474-3 Web Systems Architecture 24-27 units

Specialization Requirements

Students are required to complete a specialization consisting of nine additional CMPT or MACM units at the 300 or 400 division. This specialization must be approved by the School of Computing Science. Preapproved sets of courses can be found at . 9 units

Depth Requirement

Students must complete at least nine CMPT or MACM units at the 400 division.

91ÅÝܽ – Zhejiang University Dual Degree Program

This unique program developed by 91ÅÝܽ and Zhejiang University (China) offers a dual degree, with a major in computing science from both institutions. Program admission inquiries may be sent to cschina@sfu.ca.

Admission Requirements

This is a direct admission program. Simon Fraser University applicants indicate their interest on the Application for Undergraduate Admission to 91ÅÝܽ by selecting the ‘China Dual Degree Zhejiang University’ under Program/Plan in Computing Science, Faculty of Applied Sciences.

Admission is competitive and enrolment is limited.

The program begins each fall term. Applicants must meet the standard requirements for admission to 91ÅÝܽ and the School of Computing Science. Concurrent to the Simon Fraser University admission application, students must also submit a ‘Statement of Interest’ to the SFU-ZU admissions committee, School of Computing Science. Applicants will be selected based on their Statement of Interest and their academic standing. Program admission inquiries may be sent to cschina@sfu.ca.

Program Structure

91ÅÝܽ Students

Students with no previous knowledge of Chinese will complete a five year curriculum with customized intensive Chinese language courses at 91ÅÝܽ in addition to some foundational courses in the Prep/0th year, plus Chinese immersion in the summer.

First and Second Year

91ÅÝܽ students study at Zhejiang University, completing 80 lower division units (including 20 for Chinese language and culture.)

Third and Fourth Year

Students complete 60 units at 91ÅÝܽ (including a minimum of 45 upper division units).

Zhejiang University Students

First and Second Year

Zhejiang University students study at Zhejiang University, completing 80 lower division units plus 18 units (Chinese moral education, etc.).

Third and Fourth Year

Students complete 60 units at 91ÅÝܽ (including a minimum of 45 upper division units).

All core courses are scheduled according to the articulation documents shown on the website . All students in the dual degree program are expected to fulfil the WQB requirements (see “Writing, Quantitative, and Breadth Requirements”) for their Simon Fraser University degree.

The option for work experience is available to students after the fourth term at Zhejiang University.

Upon completion, students receive dual degrees from 91ÅÝܽ and Zhejiang University.

Tuition and Program Fee

All students pay undergraduate fees (including tuition and other fees) to 91ÅÝܽ. All students must pay a $700 program fee each year in addition to the other tuition fees. Students are also responsible for travel, accommodation, insurance, textbooks and general living expenses (noting that in China, books, housing meals, transportation and living expenses will be lower than in Canada). Domestic students pay the basic 91ÅÝܽ tuition. International students attending the SFU-ZU dual degree program pay the basic 91ÅÝܽ tuition in years one and two when studying at Zhejiang University. In years zero, three and four, when studying at 91ÅÝܽ, international students will pay differential tuition fees.

Dual Degree Credential

All students must complete the following Simon Fraser University upper division courses.

CMPT 300-3 Operating Systems I

CMPT 307-3 Data Structures and Algorithms

CMPT 320-3 Social Implications of a Computerized Society

CMPT 354-3 Database Systems I

CMPT 371-3 Data Communications and Networking

CMPT 376-3 Technical Writing and Group Dynamics

MACM 316-3 Numerical Analysis I

two CMPT courses from two different concentrations selected from: artificial intelligence, computer graphics and multimedia, or programming languages and software (see Table I Computing Science Concentration) at the 300 division

four CMPT courses numbered 400 or higher from Table 1 (see “Table I – Computing Science Concentrations” on page 77)

CMPT 497 capstone projects (or six units of approved upper division CMPT courses)

Minimum Credit and Residency Requirement

Students must complete at least 54 units at Zhejiang University (ZU) including at least 34 computing science core course units. Students must also complete at least 54 units at Simon Fraser University. Students admitted from Zhejiang University must complete at least 39 upper division units of these minimum 54 units at Simon Fraser University. Courses completed at ZU are not transfer credits. They are marked as DDP credits in the other credits section of the Simon Fraser University transcript.

Co-operative Education and Work Experience

All students may choose to participate in co-operative education or work placements.

Minor Program

Admission Requirements

Admission to a computing science minor is open to all 91ÅÝܽ students with a major in a discipline other than computing science. Admission is competitive and requires the lower division courses listed below. The admission GPA is established each term, and will never be less than 2.40.

Lower Division Requirements

Students who plan to undertake a minor in computing science should normally obtain credit for the following lower division courses.

one of*

CMPT 125-3 Introduction to Computing Science and Programming II

CMPT 126-3 Introduction to Computing Science and Programming

and all of

CMPT 150-3 Introduction to Computer Design

CMPT 225-3 Data Structures and Programming

MACM 101-3 Discrete Mathematics I

MATH 151-3 Calculus I**

and one of

CMPT 250-3 Introduction to Computer Architecture

CMPT 275-4 Software Engineering I

and one of

PHIL 100-3 Knowledge and Reality

PHIL 120-3 Introduction to Moral Philosophy

TECH 101-3 Fundamentals of Teamwork and Communication II

or any 100 division ENGL course 18-22 units

**MATH 150 may be substituted for MATH 151. MATH 154 or 157 with a grade of at least B+ may be substituted with permission of the school

Upper Division Requirements

For a minor, 15 units of upper division CMPT or MACM courses is required, including at least nine CMPT units chosen from Table I – Computing Science Concentrations (see page 77). 15 units

Graduation Requirements

Computing Science and Linguistics Joint Major Program

The School of Computing Science and the Department of Linguistics offer this joint major in the area of computational linguistics. Contact advisors in both departments for permission to enrol. Student enrolment, appeals and graduation processing are handled by the school.

Lower Division Requirements

Students complete all of

MATH 151-3 Calculus I*

MATH 152-3 Calculus II*

MATH 240-3 Algebra I: Linear Algebra*

and one of

BUEC 232-4 Data and Decisions I

STAT 270-3 Introduction to Probability and Statistics

and one of

COGS 100-3 Introduction to Cognitive Science

or one course chosen from the social sciences electives list in the computing science major program’s lower division requirements 46-51 units

*MATH 150 may be substituted for MATH 151. MATH 154/155 or 157/158 with a grade of at least B+ may be substituted with permission of the school. MATH 232 may be substituted for MATH 240.

Computing Science Requirements

Students complete either

CMPT 126-3 Introduction to Computing Science and Programming*

or both of

CMPT 120-3 Introduction to Computing Science and Programming I*

CMPT 125-3 Introduction to Computing Science and Programming II*

and all of

CMPT 150-3 Introduction to Computer Design

CMPT 225-3 Data Structures

CMPT 275-4 Software Engineering

MACM 101-3 Discrete Mathematics I

MACM 201-3 Discrete Mathematics II

Linguistics Requirements

Students complete all of

LING 220-3 Introduction to Linguistics

LING 221-3 Introduction to Phonetics and Phonology

LING 222-3 Introduction to Syntax

Upper Division Requirements

Computing Science Requirements

(24 units)

Students complete all of

CMPT 300-3 Operating Systems

CMPT 307-3 Data Structures and Algorithms

CMPT 320-3 Social Implications of a Computerized Society

CMPT 413-3 Computational Linguistics

In addition, students choose four courses from the following distinct concentration areas: computer graphics and multimedia; information systems; programming languages and software; computing systems (CMPT 379 is recommended); theoretical computer science (CMPT 308 is recommended).

Linguistics Requirements

(21 units)

Students complete both of

LING 321-3 Phonology

LING 322-3 Syntax

and one of

LING 400-3 Formal Linguistics

MACM 300-3 Introduction to Formal Languages and Automata with Applications

and 12 units chosen from the following

LING 323-3 Morphology

LING 324-3 Semantics

LING 330-3 Phonetics

LING 401-3 Topics in Phonetics

LING 405-3 Topics in Syntax

LING 406-3 Topics in Semantics

LING 480-3 Topics in Linguistics I*

LING 481-3 Topics in Linguistics II*

*when offered with a suitable topic

Other Requirements

Depending on the student’s choice, either a bachelor of arts from the Faculty of Arts and Social Sciences (FASS), or a bachelor of science from the Faculty of Applied Sciences (FAS) will be awarded. Students must fulfil their chosen faculty’s distinct requirements, such as FASS breadth requirements, or FAS residency requirements. For details about Faculty requirements, see “Bachelor of Arts Program” on page 88 in the Faculty of Arts and Social Science, and also see “Residency Requirements” on page 76 in the Faculty of Applied Sciences.

Students are encouraged to enrol in the Co-operative Education program.

Computing Science and Molecular Biology and Biochemistry Joint Major Program

The School of Computing Science and the Department of Molecular Biology and Biochemistry offer this joint major program. See “Department of Molecular Biology and Biochemistry” on page 200 within the Faculty of Science.

Computing Science and Philosophy Joint Major Program

The School of Computing Science and the Department of Philosophy co-operate in offering this joint major program. The administrative home is within the Faculty of Applied Sciences for purposes of student enrolment, appeals and graduation processing. Interested students should contact advisors in both departments.

Lower Division Requirements

(50-55 units)

Students complete all of

MATH 152-3 Calculus II

MATH 232-3 Elementary Linear Algebra

and one of

MATH 150-4 Calculus I with Review

MATH 151-3 Calculus I

and one of

BUEC 232-4 Data and Decisions I

STAT 270-3 Introduction to Probability and Statistics

and one physical science course chosen from the physical sciences electives list for the computing science lower division requirements.

Computing Science Requirements

Students complete all of

CMPT 120-3 Introduction to Computing Science and Programming I*

CMPT 125-3 Introduction to Computing Science and Programming II*

CMPT 150-3 Introduction to Computer Design

CMPT 225-3 Data structures

CMPT 275-4 Software Engineering

MACM 101-3 Discrete Mathematics I

MACM 201-3 Discrete Mathematics II

**CMPT 126 may be completed in lieu of CMPT 120 and 125

Philosophy Requirements

Students complete at least 16 units of lower division courses including one of

PHIL 100-3 Knowledge and Reality

PHIL 120-3 Introduction to Moral Philosophy

and one of

PHIL 150-3 History of Philosophy I

PHIL 151-3 History of Philosophy II

and all of

PHIL 201-3 Epistemology

PHIL 203-3 Metaphysics

PHIL 210-4 Deductive Logic

Upper Division Requirements

(44 units)

Computing Science Requirements

Students complete all of

CMPT 300-3 Operating Systems

CMPT 307-3 Data Structures and Algorithms

CMPT 310-3 Artificial Intelligence Survey

CMPT 354-3 Database Management Systems

and one of

CMPT 320-3 Implications of a Computerized Society

PHIL 320-3 Social and Political Philosophy

PHYS 321-3 Moral Issues and Theories

and one of

CMPT 383-3 Comparative Programming Languages

CMPT 384-3 Symbolic Computing

and one 400 division course from the Artificial Intelligence concentration (see “Artificial Intelligence” on page 77)

and one 400 division courses from the theoretical computing science concentration (see “Theoretical Computing Science” on page 78)

Philosophy Requirements

A total of 20 upper division philosophy units are required including

PHIL 341-3 Philosophy of Science

PHIL 343-3 Philosophy of Mind

PHIL 344-4 Philosophy of Language I

and at least one four-unit course at the 400 division.

Other Requirements

For a bachelor of arts degree from the Faculty of Arts and Social Sciences, students must fulfil the Faculty of Arts and Social Sciences requirements, such as the breadth requirements (see “Writing, Quantitative, and Breadth Requirements” on page 88).

For a bachelor of science degree from the Faculty of Applied Sciences, students must fulfil the Faculty of Applied Sciences requirements, such as the residency requirements (see “Residency Requirements” on page 76).

The University’s writing, quantitative and breadth requirements must also be completed for either degree (see “Writing, Quantitative, and Breadth Requirements” on page 90).

Co-operative Education

Students are encouraged to enrol in this program.

Information Systems in Business Administration and Computing Science Joint Major Program

In co-operation with the Faculty of Business Administration, the School of Computing Science offers the Information Systems in Business Administration and Computing Science Joint Major Program. For course requirements see the Faculty of Business Administration’s listing on page 148.

Upon completion, students may choose either a BBA (Faculty of Business Administration) or a BSc (Faculty of Applied Sciences) with the completion of MACM 316 and a course from tables I, II, or III (see “Upper Division Requirements” above), excluding CMPT 301, in addition to those listed in the Business Administration section for the joint major.

Computing Science and Molecular Biology and Biochemistry Joint Honors Program

See “Computing Science and Molecular Biology and Biochemistry Joint Honors Program” on page 202.

Computing Science and Philosophy Joint Honors Program

The School of Computing Science and the Department of Philosophy co-operate in offering this joint honors program. The administrative home is within the Faculty of Applied Sciences for purposes of student enrolment, appeals and graduation processing. Interested students should contact advisors in both departments.

At least 132 units is required for an honors degree.

Lower Division Requirements

(53-57 units)

In addition to completing the same lower division requirements as stipulated for the joint major in computing science and philosophy (see “Computing Science and Philosophy Joint Major Program” on page 80), students must also complete

CMPT 250-3 Introduction to Computer Architecture

Upper Division Requirements

(61 units)

Computing Science Requirements

In addition to completing the same lower division requirements as stipulated for the joint major in computing science and philosophy (see “Computing Science and Philosophy Joint Major Program” on page 80), students must also complete

CMPT 405-3 Design and Analysis of Computing Algorithms

Whereas the joint major stipulates that students must complete one 400 division course from the theoretical computing science concentration, joint honors students instead are required to complete any two additional 400 division CMPT course.

Philosophy Requirements

Students complete a total of 28 upper division philosophy units including all of

PHIL 341-3 Philosophy of Science

PHIL 343-3 Philosophy of Mind

PHIL 344-3 Philosophy of Language I

PHIL 477-5 Honors Tutorial I

and one of

PHIL 322-3 History of Ethics

PHIL 331-3 Selected Topics

PHIL 332-3 Selected Topics

PHIL 333-3 Selected Topics

PHIL 350-3 Ancient Philosophy

PHIL 352-3 Seventeen century Philosophy

PHIL 356-3 Century Philosophy

PHIL 357-3 Topics in the History of Philosophy

and one of

PHIL 444-4 Philosophy of Language II

PHIL 455-4 contemporary Issues in Epistemology and Metaphysics

and one four unit course at the 400 division.

Other Requirements

See “Other Requirements” on page 81 within the Joint Major in Computing Science and Philosophy for additional requirements.

Mathematics and Computing Science Joint Honors Program

With the Department of Mathematics, the School of Computing Science offers this joint honors program. For requirements see “Mathematics and Computing Science (MACM) Joint Major and Joint Honors Program” on page 199 in the Department of Mathematics section.

Cognitive Science Program

With the Departments of Linguistics, Philosophy and Psychology, the school contributes to the undergraduate program in cognitive science, leading to a BA. See “Cognitive Science Program” on page 98 for details.

Management and Systems Science Program

With the Department of Mathematics, the Department of Economics and the Faculty of Business Administration, the school contributes to the Management and Systems Science Program leading to a BSc. See “Management and Systems Science Program” on page 195 for requirements.

Certificate in Computing Studies

This program provides both part time and full time students with an opportunity to understand the fundamentals of computers and programming without necessarily specializing in computing science.

Program Requirements

(24-28 units)

A 2.00 grade point average is required on the CMPT courses that are used for graduation. Only courses completed at 91ÅÝܽ are used in this calculation.

Required Courses

Students complete one of*

CMPT 125-3 Introduction to Computing Science and Programming II

CMPT 126-3 Introduction to Computing Science and Programming

and all of

CMPT 150-3 Introduction to Computer Design

CMPT 225-3 Data Structures and Programming

and one of

CMPT 275-4 Software Engineering I

CMPT 276-3 Introduction to Software Engineering

and one of

MACM 101-3 Discrete Mathematics I

MATH 240-3 Linear Algebra

STAT 270-3 Introduction to Probability and Statistics

Elective Courses

A total of nine elective units must be completed and must include two of the following lower division electives.

CMPT 110-3 Event-Driven Programming in Visual Basic

CMPT 165-3 Introduction to Multimedia and the Internet

CMPT 212-3 Object-Oriented Applications Design in C++

plus a three unit 300 or 400 division CMPT course.

Post Baccalaureate Diploma in Computing Science

This program is for students who already possess a university degree. It includes studies in computing science at a more advanced level.

Requirements

Students complete an approved program consisting of at least 30 units which include the following or equivalent.

CMPT 300-3 Operating Systems I

CMPT 307-3 Data Structures and Algorithms

CMPT 354-3 Database Systems and Structures

Students complete additional upper division courses to bring the total to at least 30 units. At least 24 units must be CMPT courses. Graduate courses may be included with permission of the school.

Courses must be selected in consultation with a program advisor to achieve a coherent program of study. The student is responsible for satisfying the prerequisites of program courses. This may entail completing more or all courses listed in the lower division requirements of the major in computing science (depending upon the student’s prior transcript).

Co-operative Education

Co-operative education is a system which combines work experience with academic studies. The student spends alternate terms on campus and in paid, study related jobs.

Arrangements for the work experiences are made through the school’s co-op co-ordinators and the University’s Co-operative Education. For further details, see “Co-operative Education” on page 212.


TOC PREV NEXT INDEX