CMPT 140 - Introduction to Computing Science and Programming
An elementary introduction to computing science and programming as a problem-solving tool. Fundamental concepts and terminology of computing science will be introduced. Programming skill will be obtained by using a high-level language. Topics will include: abstraction, data types and control structures, fundamental algorithms and pseudocode, computability and complexity, and computer architecture.
Cross-listed: ISYS 140
Prerequisite(s): None. (3-1-3 or 3-1-3)
CMPT 150 - Discrete Math
An introduction to those branches of pure mathematics that are most commonly used in the study of Computing Science and/or have other practical applications. Topics include logic, proofs, switching circuits, set theory, induction, functions, languages, finite automata, combinatorics, and algebraic structures. This course may be taken by non-majors for non-lab science credit.NB: Not offered every year. See Department chair.Cross-listed: MATH 150.Prerequisite(s): B.C. high school Mathematics 12, or MATH 101, or the equivalent. (3-1-0 or 0-0-0)
CMPT 166 - Introduction to Computing Science and Programming II
A rigorous introduction to computing science and computer programming. Students will learn indepth programming concepts by seeing how object oriented (OO) concepts are employed in the design and writing of code in a variety of notations. The emphasis is on the theory of OO programming and design of solutions, as well as implementation using an OO language such as Java or C++.
Cross-listed: ISYS 166
Prerequisite(s): CMPT 140 with a minimum grade of C+. (0-0; 3-3)
CMPT 231 - Data Structures and Algorithms - 3.00
Basic organization of programs, optimizing program structure, modularization. Data structures, searching and sorting algorithms, handling large data sets, analysis of algorithms.NB: Not offered every year. See Department chair.Prerequisite(s): CMPT 140 or instructor's consent. (3-3 or 3-3)
CMPT 340 - Discrete Structure and Computing - 3.00
This is a second course in the topics of pure mathematics, particularly those most commonly used in the study of computing science and related applications. It includes proof techniques, models of computation, formal languages, analysis of alogorithms, trees and advanced general graph theory with applications, finite state and automata theory, encryption and an elementary introduction to mathematical structures such as groups, rings and fields.NB: Not offered every year. See department chair.Crosslisted: MATH 340.>Prerequisite(s): CMPT 150 or MATH 150.
CMPT 385 - Software Engineering
An introduction to the theory of designing and carrying out large software projects. All stages of the software engineering cycle are examined and experienced, and planning for at least one project is undertaken.NB: Not offered every year. See Department chair.Cross-listed: ISYS 385Prerequisite(s): Proficiency in two or more programming languages; CMPT 140; CMPT 231. (3-3; 0-0)
CMPT 470 - Introduction to Bioinformatics
An overview of the interdisciplinary science of genomics, proteomics, and bioinformatics which applies the tools of information technology (computer hardware and software) to analyze biological data such as gene or protein sequences. This course examines the theory of bioinformatics as well as its practical application to biological problems using approaches such as BLAST searches, phylogenetics, and protein structure function analysis.Cross-listed: BIOL 470/BIOT 470NB: Not offered every year. See Department chair.Prerequisite(s): BIOL 223; BIOL/CHEM 372, and either 3 sem. hrs. of Computing Science or MATH 102. (0-0; 3-3-0)
*Program subject to final approval by the BC Ministry of Advanced Education