Course Credits
CMPT 140 CMPT 140 - Intro to Programming

Introduction to programming and problem solving. Using systematic and structured techniques in the context of problem definition, the determination of input/output requirements, preparation of problem solving algorithms, and writing simple code. Debugging programs and producing internal and external documentation that specifies how the program can be used and the methods by which the program achieves its objectives.

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 - 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 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.Cross-listed: ISYS 385Prerequisite(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)