間眅埶AV

i Please note:  

To view the current calendar, go to

間眅埶AV Calendar | Fall 2013

Computing Studies

Certificate

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. Current 間眅埶AV Computing Science students in Major or Honours programs (or related joint programs) may not apply to this program.

Prerequisite Grade Requirement

Computing science course entry requires a grade of C- or better in each prerequisite course. A minimum 2.40 cumulative grade point average (CGPA) is required for 200, 300 and 400 division computing courses.

Program Requirements

Students complete at least 24 units.

A 2.00 grade point average is required on the CMPT courses that are used for graduation. Only courses completed at 間眅埶AV are used in this calculation.

Required Courses

Students complete at least 15 units, including either

CMPT 126 - Introduction to Computing Science and Programming (3) *

A rigorous introduction to computing science and computer programming, suitable for students who already have substantial programming background. This course provides a condensed version of the two-course sequence of CMPT 120/125, with the primary focus on computing science and object oriented programming. Topics include: fundamental algorithms and problem solving; abstract data types and elementary data structures; basic object-oriented programming and software design; elements of empirical and theoretical algorithmics; computation and computability; specification and program correctness; and history of computing science. Prerequisite: BC Math 12 (or equivalent, or any of MATH 100, 150, 151, 154, or 157). Students with credit for CMPT 120, 125, 128, 130, 135 or higher may not take CMPT 126 for further credit. Quantitative/Breadth-Science.

or both of

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

An elementary introduction to computing science and computer programming, suitable for students with little or no programming background. Students will learn fundamental concepts and terminology of computing science, acquire elementary skills for programming in a high-level language and be exposed to diverse fields within, and applications of computing science. Topics will include: pseudocode, data types and control structures, fundamental algorithms, computability and complexity, computer architecture, and history of computing science. Treatment is informal and programming is presented as a problem-solving tool. Students should consult with the self-evaluation on the School of Computing Science website to decide whether they should follow the CMPT 120/125 course sequence or enrol in CMPT 126. Prerequisite: BC Math 12 or equivalent is recommended. Students with credit for CMPT 102, 125, 126, 128 or CMPT 200 or higher may not take this course for further credit. Quantitative/Breadth-Science.

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

A rigorous introduction to computing science and computer programming, suitable for students who already have some backgrounds in computing science and programming. Intended for students who will major in computing science or a related program. Topics include: fundamental algorithms; elements of empirical and theoretical algorithmics; abstract data types and elementary data structures; basic object-oriented programming and software design; computation and computability; specification and program correctness; and history of computing science. Prerequisite: BC Math 12 (or equivalent, or any of MATH 100, 150, 151, 154, or 157) and CMPT 120. Students with credit for CMPT 126, 128, 135 or CMPT 200 or higher may not take for further credit. Quantitative.

and both of

CMPT 150 - Introduction to Computer Design (3)

Digital design concepts are presented in such a way that students will learn how basic logic blocks of a simple computer are designed. Topics covered include: basic Von Neumann computer architecture; an introduction to assembly language programming; combinational logic design; and sequential logic design. Prerequisite: Strongly recommended: MACM 101 and either CMPT 120 or equivalent programming. Students with credit for ENSC 150 or CMPT 290 may not take this course for further credit. Quantitative.

CMPT 225 - Data Structures and Programming (3)

Introduction to a variety of practical and important data structures and methods for implementation and for experimental and analytical evaluation. Topics include: stacks, queues and lists; search trees; hash tables and algorithms; efficient sorting; object-oriented programming; time and space efficiency analysis; and experimental evaluation. Prerequisite: MACM 101 and one of CMPT 125, 126 or 128; or CMPT 128 and approval as a Biomedical Engineering Major. Students with credit for CMPT 201 may not take this course for further credit. Quantitative.

and one of

CMPT 275 - Software Engineering I (4)

Introduction to software engineering techniques used in analysis/design and in software project management. The course centres on a team project involving requirements gathering, object analysis and simple data normalization, use-case-driven user documentation and design followed by implementation and testing. Additionally, there is an introduction to project planning, metrics, quality assurance, configuration management, and people issues. Prerequisite: CMPT 225, MACM 101, MATH 151 (or MATH 150), one W course. MATH 154 or 157 with a grade of at least B+ may be substituted for MATH 151 (or MATH 150). Students with credit for CMPT 275 may not take this course for further credit.

CMPT 276 - Introduction to Software Engineering (3)

An overview of various techniques used for software development and software project management. Major tasks and phases in modern software development, including requirements, analysis, documentation, design, implementation, testing, installation, support, and maintenance. Project management issues are also introduced. Prerequisite: One W course, CMPT 225, MACM 101, MATH 151 (or MATH 150). MATH 154/157 with at least B+ may substitute for MATH 151 (or MATH 150). Students with credit for CMPT 275 may not take this course for further credit.

and one of

MACM 101 - Discrete Mathematics I (3)

Introduction to counting, induction, automata theory, formal reasoning, modular arithmetic. Prerequisite: BC Math 12 (or equivalent, or any of MATH 100, 150, 151, 154, 157. Quantitative/Breadth-Science.

MATH 240 - Algebra I: Linear Algebra (3)

Linear equations, matrices, determinants. Real and abstract vector spaces, subspaces and linear transformations; basis and change of basis. Complex numbers. Eigenvalues and eigenvectors; diagonalization. Inner products and orthogonality; least squares problems. Applications. Subject is presented with an abstract emphais and includes proofs of the basic theorems. Prerequisite: MATH 150 or 151; or MACM 101; or MATH 154 or 157, both with a grade of at least B. Students with credit for MATH 232 cannot take this course for further credit. Quantitative.

STAT 270 - Introduction to Probability and Statistics (3)

Basic laws of probability, sample distributions. Introduction to statistical inference and applications. Corequisite: MATH 152 or 155 or 158. Students wishing an intuitive appreciation of a broad range of statistical strategies may wish to take STAT 100 first. Quantitative. Prerequisite: COREQ-MATH 152 or 155 or 158. Students wishing an intuitive appreciation of a broad range of statistical strategies may wish to take STAT 100 first. Equivalent Courses: STAT102 STAT103 STAT201 STAT203 STAT301. Quantitative.

* to aid your choice, prior to enrolment, consult an Applied Sciences Advisor.

Elective Courses

Students complete a total of nine units, including two of

CMPT 110 - Programming in Visual Basic (3)

Topics will include user interfaces, objects, event-driven programming, program design, and file and data management. Prerequisite: BC mathematics 12 (or equivalent) or any 100 level MATH course. Students with credit for, or are currently enrolled in a computing science course at the 200 level or higher, or ITEC 240, 241 or 242, or CMPT 218 may not take this course for further credit. Quantitative.

CMPT 165 - Introduction to the Internet and the World Wide Web (3)

In this course, we shall examine the structure of the Internet and the World Wide Web as well as design and create web sites. Students who have obtained credit for, or are currently enrolled in a CMPT course at the 200 division or higher, CMPT 118 or 170, or IAT 265 or 267 may not take CMPT 165 for further credit. Breadth-Science.

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

Introduction to object-oriented software design concepts, the object-oriented features of the C++ language, other advanced C++ features, plus a simple introduction to the fundamentals of graphical user interfaces and the development of windowed applications. Prerequisite: CMPT 125, 126 or 128. Recommended: CMPT 225. Students with credit for CMPT 213 may not take CMPT 212 for further credit.

and one three-unit 300 or 400 division CMPT course.

Co-operative Education and Work Experience

All computing science students are strongly encouraged to explore the opportunities that Work Integrated Learning (WIL) can offer them. Please contact an applied sciences co-op advisor during your first year of studies to ensure that you have all of the necessary courses and information to help plan for a successful co-op experience.

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