SFU Calendar 2001-2002

Table of Contents : searchable with the Find function of your web browser Course Database or Course Outlines
(opens in new window)
Financial Assistance
Index : searchable with the Find function of your web browser Calendar .pdfs Office of the Registrar / SFU


School of Computing Science


9971 Applied Sciences Building, (604) 2914277 Tel, (604) 291-3045 Fax, www.cs.sfu.ca

Director

Z.N. Li BSc (Chinese Sci & Technol), MSc, PhD (Wis)

Professors Emeriti

T.W. Calvert BSc(Eng) (Lond), MSEE (Wayne), PhD (Carnegie Tech), PEng

R. Harrop BA, MA, PhD (Camb)

T.D. Sterling BA, MA (Chic), PhD (Tulane)

J.J. Weinkam BS (Xavier), MS (Chic), DSc (Washington U)

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), Associate Dean of Applied Sciences

V. Dahl MSc (Buenos Aires), PhD Aix-Marseilles I, Dipl d'Et App Aix-Marseilles II

J.P. Delgrande BSc, MSc, PhD (Tor)

B.V. Funt BSc, MSc, PhD (Br Col)

R.F. Hadley BA (Virginia), MSc (S Fraser), PhD (Br Col)

J.W. Han Diploma (China), MS, PhD (Wis)

P. Hell BSc (Prague), MSc (McM), PhD (Montr)*

R.F. Hobson BSc (Br Col), PhD (Wat)*

T. Kameda BE, ME (Tokyo), PhD (Prin)

Z.N. Li BSc (Chinese Sci & Technol), 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)

Associate Professors

M.S. Drew BASc, MSc (Tor), PhD (Br Col)

A. Gupta BSc (McM), MSc, PhD (Tor)

L.J. Hafer BSEE, MS, PhD (Carnegie-Mellon)

W.S. Havens BSc, MSc (Virginia), PhD (Br Col)

R. Krishnamurti BTech, MTech (IIT Madras), PhD (Pennsylvania)

F. Popowich BSc (Alta), MSc (S Fraser), PhD (Edin)

T.C. Shermer BES (Johns H), PhD (McG)

K. Wang BSc (Chongqing), MSc, PhD (Georgia Inst of Tech)

Q. Yang BSc (Peking), MSc, PhD (Maryland)

Assistant Professors

D. Mitchell BSc (Tor), MSc (S Fraser), PhD (Tor)

T. Möller BS (Umboldt), MS, PhD (Ohio State)

O. Schulte BSc (Tor), MSc, PhD (Carnegie Mellon)**

E. Ternovska BSc (Moscow State), MSc (Russian Academy of Science), PhD (Tor)

Adjunct Professors

F.D. Fracchia BSc (Regina), MS (Wat), PhD (Regina)

T. Schaub BSc, MSc, PhD (Darmstadt)

E. Schenk BSc, MSc (Calg), PhD (Tor)

T. Strothotte BSc, MSc (S Fraser), PhD (McG), DSc (Wat)

Senior Lecturers

A.H. Dixon BSc, MSc, PhD (Br Col)

M.D. Evans BSc, MA (Dal), MSc (Dund), MSc (Birm)

R.J. Tront BSc (Vic, BC), MASc (Br Col)

Lecturers

G. Baker BSc (Qu), MSc (S Fraser)

B. Bart BEd (W Ont), BSc, BSc (Wat), MSc (S Fraser)

S. Pearce BSc, MSc (Br Col), PhD (Ariz)

Associate Members

J. Borwein, Mathematics

P. Borwein, Mathematics

J.C. Dill, Engineering Science

M. Monagan, Mathematics

R.D. Russell, Mathematics

Advisors

Ms. H. Chicoine, 9919 Applied Sciences Building, 778.782 3796 Tel, csadvise@cs.sfu.ca

Ms. M. Guertin, 9995 Applied Sciences Building, 778.782 -3796 Tel, csadvise@cs.sfu.ca

*joint appointment with mathematics

**joint appointment with philosophy

The School of Computing Science offers a general program leading to a BSc and BA degree with major or honors in computing science, and specialist programs leading to a BSc degree with a major in computing science. It also contributes to a wide variety of programs that combine studies in computing science with studies in other academic disciplines. Formal joint programs include the joint major in information systems in business administration and computing science, the mathematics and computing science joint honors program, the cognitive science program (in cooperation with the Departments of Linguistics, Philosophy, and Psychology), and the Management and Systems Science Program (in co-operation with the Department of Mathematics, the Department of Economics, and the Faculty of Business Administration). The school also offers a minor program that may be taken in conjunction with other major or honors programs or a general degree program.

Cooperative Education Program

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

Arrangements for the work experiences are made through the school's coop coordinators and the University's Office of Cooperative Education. For further details, students should see "Continuing Studies"..

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

Registration in any computing science course normally requires that students obtain a C- or better in each prerequisite. A minimum CGPA of 2.25 and approval as a major is required for entry into upper division computing courses.

Admission Requirements

Entry into computing science programs is possible via

Admission is competitive. A separate admission average for each entry route is established each semester, depending on the number of 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".. Here you will find the provisions governing direct entry from high school or direct transfer from another post secondary institution.

Internal Transfer

SFU students applying for admission to the School of Computing Science are selected on the basis of an admission GPA calculated over seven courses chosen to satisfy the following breadth constraints.

All seven courses used for this calculation must have been taken at Simon Fraser University. At least five of the seven courses must have been taken in the one year period preceding the admission application. No course may be included in the average it if is considered a duplicate of any previous course taken at Simon Fraser University or elsewhere. Students are encouraged to take additional courses. The admission grade point average is calculated over the best seven courses that satisfy the constraints.

Continuation Requirements

Students in computing science programs are expected to maintain a cumulative GPA of 2.4 or better. Students whose CGPA falls below 2.4 will be placed on probationary standing with the school. The number of courses available to probationary students may be limited. Each semester, probationary students are required to consult an advisor prior to course registration and must achieve either a semester GPA of at least 2.4 or an improvement in CGPA to at least 2.4 Reinstatement from probationary standing occurs when the CGPA improves to 2.4 or better.

A student may not take, for further credit, any course offered by the School of Computing Science which is a prerequisite for a course the student has already completed with a grade of C- or higher, without permission of the department.

Major and Honors Programs

These programs are organized so that students may take advantage of a number of options. Among these are preparation for employment in computer related positions in government, business, or industry, and for computing science graduate studies or a related area. A computing science undergraduate degree also is an appropriate preparation for other areas where computers play a major role, especially business administration, economics, and science.

Lower Division Requirements

Students who plan to undertake a major, or honors in computing science must obtain credit for the following lower division courses (or equivalents).

one of

CMPT 101-4 Introduction to Computer Programming

CMPT 104-2 Computer Programming

plus all of

CMPT 150-3 Introduction to Computer Design

CMPT 201-4 Data and Program Abstraction

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 232-3 Elementary Linear Algebra

PHIL 001-3 Critical Thinking

and one of

BUEC 232-3 Elementary Economic and Business Statistics I

STAT 270-3 Introduction to Probability and Statistics I

plus completion of at least two courses satisfying the School of Computing Science external breadth requirement 43-45 credit hours

Notes

After completion of CMPT 150, students may also take ENSC 151 as an option.

Approval of calculus courses in place of MATH 151 or 152 will be based on corresponding approval within the Department of Mathematics and Statistics.

Any 100 level English course may alternatively be used to satisfy the requirement for PHIL 001. A grade of C- or better is required in PHIL 001 or its alternative.

It is recommended that students with normal entry complete the above courses within the first four semesters.

Upper Division Requirements

Major and honors students are required to consult an advisor before commencing their upper division course requirements.

The primary upper division requirements for a major or honors are structured according to the areas of concentration shown in table I. Elective courses that may be used to fulfil further requirements are shown in tables II and III.

Table I - Computing Science Concentrations
Artificial Intelligence

CMPT 310-3 Artificial Intelligence Survey

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 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 461-3 Advanced Computer Graphics

CMPT 466-3 Animation

CMPT 469-3 Special Topics in Computer Graphics

Computing Systems

CMPT 300-3 Operating Systems I

CMPT 371-3 Data Communications and Networking

CMPT 379-3 Principles of Compiler Design

CMPT 400-3 High-Performance Computer Architecture

CMPT 401-3 Operating Systems II

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 454-3 Database Systems II

CMPT 459-3 Special Topics in Database Systems

CMPT 470-3 Web-based Information Systems

CMPT 475-3 Software Engineering II

Programming Languages and Software

CMPT 383-3 Comparative Programming Languages

CMPT 384-3 Symbolic Computing

CMPT 480-3 Foundations of Programming Languages

CMPT 481-3 Functional Programming

CMPT 487-3 Software Engineering Tools and Environments

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 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 - Intensive Application Courses

CMPT 305-3 Computer Simulation and Modelling

CMPT 340-3 Computers in Biomedicine

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

MATH 408-3 Discrete Optimization

MATH 416-3 Numerical Analysis II

Upper Division Requirements for a Major

For a major, students must satisfy the following requirements.

Breadth Requirement

One course each in five areas of table I must be completed. These courses must include CMPT 300 and 307. CMPT 354 is recommended. 15 credit hours

Depth Requirement

Four additional courses from table I must be completed in the five areas chosen to satisfy breadth requirements. At least two of these courses must be numbered CMPT 400 or above. 12 credit hours

Further course requirements for a major in computing science depend on the degree sought, as follows.

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, bringing the total upper division credit hours in CMPT courses to at least 30.

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

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

Students must complete an approved course dealing with computing from a social perspective. Any of the following courses may be used to meet this requirement.

CMPT 320-3 Social Implications of a Computerized Society

CMNS 353-4 Social Contexts of Information Technology 3 or 4 credit hours

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

External Breadth Requirement

The School of Computing Science requires its honors and major students to acquire effective writing and discussion skills and to develop knowledge in diverse areas. Toward this end, students must complete at least nine credit hours (at any level) of external breadth courses in addition to PHIL 001. These courses must be from more than one department. Students are expected to take at least one external breadth course in each of their first three years. A list of courses approved for this requirement is published annually and is available from the office of the School of Computing Science.

Graduating Requirements

For all major programs in computing science, a grade point average of 2.0 must be obtained on the 30 to 40 credit hours of upper division CMPT/MACM/MATH courses used to fulfil the above requirements.

For a major in computing science, 120 credit hours must be completed, with an overall minimum of 45 credit hours of upper division credit.

For all computing science majors, at least 30 hours of upper division CMPT courses must be counted towards the major and cannot at the same time be counted towards the credit hour requirements of any other program. Those hours beyond 30 can be applied to other major or minor programs.

Students are advised to consult the General Information section of this calendar governing university graduation requirements.

Upper Division Requirements for Honors

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

Breadth Requirement

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

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.

Credit Hour Requirement

Additional computing science courses must be completed to bring the total upper division credit hours in CMPT/MACM to at least 50.

In addition, a minimum of 60 upper division hours and an overall total of 132 hours are required for the degree, together with a graduation grade point average of at least 3.00 as described in the General Information section (page 23).

Specialist Programs

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

All students in specialist programs must satisfy the external breadth requirement as specified above under Upper Division Requirements for a Major.

Specialist Program in Multimedia Computing
Lower Division Requirements

Students must complete all lower division requirements for the computing science major program (40-42 credit hours) 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 279-3 Special Topics in the Fine and Performing Arts I

FPA 290-3 Video Production I

Upper Division Requirements

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

Students must 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

At least six of the following are required, three of which must be at the 400 level, three must be designated CMPT and at least two must be a non-CMPT course.

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

Relevant FPA 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. Where possible, prerequisites for FPA courses will be waived or adjusted so that computing science students in this specialist program can gain access.

Eligible FPA courses taken to satisfy the upper division requirements may also be used to satisfy the external breadth requirement.

Specialist Program in Software Engineering

Note: The bachelor of science degree in computing science with the completion of a specialist program in software engineering is not a professional engineering degree. The program is not certified by professional engineering societies. Instead, it is 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 must complete all seven of the following 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 363-3 User Interface Design

CMPT 371-3 Data Communications and Networking

CMPT 475-3 Software Engineering II

21 credit hours

Elective Courses

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

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 470-3 Web-based Information Systems

CMPT 471-3 Networking II

CMPT 487-3 Software Engineering Tools and Environments

ENSC 351-4 Real Time and Embedded Systems

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

Minor Program

The procedure for applying for admission as a minor in computing science is the same as the admission requirements state at the beginning of the School of Computing Science section (see "Admission Requirements".).

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 101-4 Introduction to Computer Programming

CMPT 104-2 Computer Programming

one of

CMPT 275-4 Software Engineering I

CMPT 250-3 Introduction to Computer Architecture

plus all of

CMPT 150-3 Introduction to Computer Design

CMPT 201-4 Data and Program Abstraction

MACM 101-3 Discrete Mathematics I

MATH 151-3 Calculus I

PHIL 001-3 Critical Thinking 24 credit hours

Notes

Approval of a calculus course in place of MATH 151 will be based on corresponding approval within the Department of Mathematics and Statistics.

Any 100 level English course may alternatively be used to satisfy the requirement for PHIL 001. A grade of C- or better is required in PHIL 001 or its alternative.

Upper Division Requirements

For a minor, students must complete fifteen credit hours of upper division CMPT or MACM courses.

Joint Major in Information Systems in Business Administration and Computing Science

In co-operation with the Faculty of Business Administration, the school offers a joint major in information systems in business administration and computing science. See "Joint Major in Information Systems in Business Administration and Computing Science". for course requirements. Upon completion of the requirements, students may choose either a BBA degree as offered by the Faculty of Business Administration or a BA degree offered by the School of Computing Science.

A BSc degree is also available in the joint major with the completion of the following requirements in addition to those listed in the Business Administration section. Three additional courses chosen from tables I, II or III must be completed. These courses must include MACM 316.

Mathematics and Computing Science Honors Program

This program is offered jointly with the Department of Mathematics. Entry requires permission of both the department and the school. See "Department of Molecular Biology and Biochemistry"..

Cognitive Science Program

In co-operation with the Departments of Linguistics, Philosophy and Psychology, the School of Computing Science contributes to the undergraduate degree program in cognitive science, leading to a BA degree. See "Cognitive Science Program". for more details about the requirements.

Management and Systems Science Program

In co-operation with the Department of Mathematics, the Department of Economics and the Faculty of Business Administration, the school contributes to this program in management and systems science, leading to a BSc degree. See "Mathematical Physics Program". for more details about the requirements.

Post Baccalaureate Diploma in Computing Science

At present, admission to this program is available through the Alternate Routes to Computing program, a joint program with the University of British Columbia. For more information on this program, please see www.arc.cs.ubc.ca

Admission to a post baccalaureate diploma in computing science is available to students who have a bachelor's degree with outstanding academic achievement. An admission grade point average will be established each semester, depending on the number of spaces available and subject to the approval of the Dean of Applied Sciences. The school reserves the right to use either the CGPA of the previous bachelor's degree or an average computed over a set of courses chosen by the school to most closely match the breadth constraints for its general admission requirements. For information about the program's general regulations, see "Continuing Studies"..

Requirements

All students must complete an approved program consisting of at least 30 credit hours which include the following.

CMPT 300-3 Operating Systems I

CMPT 307-3 Data Structures and Algorithms

CMPT 354-3 Database Systems and Structures

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

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.

Admission is governed by Simon Fraser University admission regulations.

Program Requirements

This certificate requires completion of from 25 to 27 credit hours of required course work and electives, as follows.

Required Courses

CMPT 150-3 Introduction to Computer Design

CMPT 201-4 Data and Program Abstraction

CMPT 275-4 Software Engineering I

MACM 101-3 Discrete Mathematics I

and one of

CMPT 101-4 Introduction to Computer Programming

CMPT 104-2 Computer Programming

Elective Courses

and two of

CMPT 110-3 Event-Driven Programming in Visual Basic

CMPT 116-3 Introduction to Object-Oriented Programming in SmallTalk

CMPT 117-3 Introduction to Internet Programming - Java

CMPT 165-3 Introduction to Multimedia and the Internet

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

plus one additional three credit CMPT course at the at the 300 or 400 level.

Notes

A GPA of 2.0 is required on the courses used for this certificate. Only courses taken at Simon Fraser University are used in this calculation.

Computers, Software and Technology

The computers, software and technology courses are designed specifically for non-computing students to allow them to obtain essential software knowledge and skills via on campus courses and through distance education. These courses require students to think logically, modularly, precisely and abstractly. Non-computing science students who successfully complete these courses will have a wider range of cooperative education opportunities. Students who have obtained credit for, or are currently enrolled in a computing science course at the 200 level or higher may not take CMPT 110, 117, or 118 for further credit except with the permission of the school.

CMPT 110-3 Event Driven Programming in Visual Basic

CMPT 117-3 Introduction to Internet Programming - Java

CMPT 165-3 Introduction to Multimedia and the Internet



Please email the Webmaster with any comments or problems with this website. Calendar Home Page Simon Fraser University
8888 University Drive
Burnaby, BC V5A 1S6
Canada
1-778.782.3224
Index : searchable with the Find function in your web browser Calendar.pdfs Office of the Registrar / SFU
Table of Contents : searchable with the Find function in your web browser Course Database or Course Outlines
(opens in new window)
Financial Assistance