Code Course Credits
CMPT 140 CMPT 140 - Introduction to Computing Science & Programming I

An elementary introduction to computing sience and programming as a problem-solving tool. Fundamental concepts and terminology of computing science will be introduced. Programming skill will be optained by using a high-level language. Topics will include: adstraction, data types and control structtures, fundamental algorithms and pseudocode, computability and complexity, and computer architecture.

NB: CMPT 140, 166 is the normal sequence for most programming students.

Prerequisite(s): None, but students must be familiar with using a computer. (3-1-3 or 3-1-3)

CMPT 150 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 CMPT 166 - Intermediate Programming

Intermediate programming techniques in one or more programming notations.Prerequisite(s): CMPT 140 with a minimum grade of C+. (0-0; 3-3)

CMPT 231 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 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 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. Prerequisite(s): Proficiency in two or more programming languages; CMPT 140; CMPT 231. (3-3; 0-0)

CMPT 470 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)