Welcome to Simon Fraser University
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/
Opera http://www.opera.com/

*Macintosh OSX:*
FireFox (Recommended) http://www.mozilla.com/en-US/firefox/
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
Close x
Searching... Please wait...

Curriculum

Grad Plan - Students admitted in 2010-2011

Grad Plan - Students admitted in 2012

Systems One Curriculum

Required Courses:

CMPT 105W~ Process, Form, and Convention in Professional Genres
CMPT 106~ Applied Science, Technology and Society
CMPT 130 Introduction to Computing Programming I
CMPT 150 Introduction to Computer Design
MSE 110 Mechatronics Design I

~CMPT 105W and CMPT 106 are co-requisites; students will need to register for both courses in the same term. 

_______________________________________________________________________________________________________

Software Systems Curriculum

Fundamentals

The study of mathematics, writing, and theoretical computing.  These are the foundations for any field of technical studies.  

Required Courses:

CMPT 307 Data Structures and Algorithms
CMPT 322W Professional Responsibility and Ethics
MACM 101 Discrete Mathematics I
MACM 201 Discrete Mathematics II
MATH 151* Calculus I 
MATH 150* Calculus I with Review
MATH 232** Applied Linear Algebra
MATH 240** Algebra I: Linear Algebra
STAT 101~ Introduction to Statistics
STAT 270~ Introduction to Probability and Statistics

*Choose MATH 151 or MATH 150 / **Choose MATH 232 or MATH 240 / ~Choose STAT 101 or STAT 270

Systems

The study of computer systems and the way they are organized, including software protocols.  Knowing the capabilities of and restrictions on computer systems is a prerequisite for designing effective software.

Required Courses:

CMPT 250          Introduction to Computer Architecture
CMPT 300 Operating Systems I

Elective Courses - Choose Two:

CMPT 170         Introduction to Web Application Development
CMPT 354 Database Systems I
CMPT 371 Data Communications and Networking
CMPT 401 Operating Systems II
CMPT 432 Real-time Systems
CMPT 433 Embedded Systems
CMPT 454 Database Systems II
CMPT 470 Web-based Information Systems
CMPT 471 Networking II

Software Engineering

The study of how to effectively program as part of a group under realistic time and resource constraints.  This includes high-level issues such as software architecture and project management, as well as low-level issues such as version control and best practices for coding.

Required Courses

CMPT 135 Introduction to Computer Programming II
CMPT 213        Object-Oriented Design in Java
CMPT 225 Data Structures and Programming
CMPT 276 Introduction to Software Engineering
CMPT 373 Software Development Methods
CMPT 379 Principles of Compiler Design
CMPT 473 Software Quality Assurance

Elective Courses - Choose One:

CMPT 383         Comparative Programming Languages
CMPT 384 Symbolic Computing
CMPT 477 Introduction to Formal Verification
CMPT 474 Web Systems Architecture
CMPT 375 Mathematical Foundations of Software Technology