University of Northern British Columbia Apply Today
  INFORMATION FOR:
 INFORMATION ABOUT:
 TOOLS FOR STUDENTS
LOGIN SEARCH CONTACT HOME

2011 - 2012
 Undergraduate
 Calendar


  Computer Science (BSc Program)

 
David Casperson, Assistant Professor and Chair
Liang Chen, Professor
Waqar Haque, Professor
Alex Aravind, Associate Professor
Jernej Polajnar, Associate Professor
Saif Zahir, Associate Professor
Desanka Polajnar, Adjunct Professor
Allan Kranz, Senior Lab Instructor
 
 
The Computer Science program gives students a thorough exposure to basic areas like computer architecture, programming languages and methodology, algorithms and data structures, systems programming, operating systems and networking, knowledge-based and database systems, software engineering, and theory. The student will develop the advanced practical computing and problem-solving skills required for professional work in modern industry, based on a strong conceptual foundation and on insights into the nature of this rapidly changing field. Each student will use advanced development tools, and will be encouraged to approach problem-solving from a multidisciplinary point of view. The program emphasizes direct co-operation with industry. Website: http://www.unbc.ca/computerscience

Major in Computer Science

A major in Computer Science requires at least 20 Computer Science courses and at least 61 credit hours in Computer Science, at least 27 credit hours of which must be upper-division courses, and of those upper-division credits, at least 12 must be taken at the 400 level. MATH 335-3 and MATH 371-3 can count towards this requirement.

The following courses may not be used for credit towards a Computer Science major or joint major:

 Finite Mathematics for Business and Economics
 
 Biostatistics

The minimum requirement for completion of a Bachelor of Science with a major in Computer Science is 120 credit hours.

Program Requirements

*Note:  Unless otherwise specified, students enrolling in any Computer Science or Mathematics course with prerequisites are required to have completed all prerequisite courses for that course with a C- or better, or have permission to enrol from the Program Chair.

Lower Division Requirement

100 Level
CPSC 100-4 Computer Programming I
CPSC 101-4 Computer Programming II
CPSC 141-3 Discrete Computational Mathematics
ENGL 170-3
 Writing and Communication Skills
     or ENGL 270-3
 
Expository Writing
MATH 100-3 Calculus I
     or MATH 105-3 Enriched Calculus

*Note:  MATH 101-3 Calculus II is strongly recommended.
 
200 Level
CPSC 200-3 Algorithm Analysis and Development
 
Introduction to Concurrent and Distributed Programming
CPSC 230-4 Introduction to Logic Design
CPSC 231-4 Computer Organization and Architecture
 
Mathematical Topics for Computer Science
 
Ethics in Computing Science
CPSC 281-3 Data Structures I
MATH 220-3 Linear Algebra

General Science Requirement

Students must take two courses from the following list of science courses. It is recommended that computer science majors take PHYS 110-4 and PHYS 111-4. However, students may take any two courses from the following list, according to their interests, to fulfill the general science requirement:

PHYS 110-4 Introductory Physics I: Mechanics
PHYS 111-4 Introductory Physics II: Waves and Electricity
 
Introduction to Physics I
 
Introduction to Physics II
 
General Chemistry I
 
General Chemistry II
 
Introductory Biology I
 
Introductory Biology II
 
Psychology as a Science
 
Introduction to Environmental Citizenship
 
Introduction to GIS for the Social Sciences
 
Cartography and Geomatics
 
Geomorphology

*Note:  In some special cases other science courses approved by the Chair of Computer Science may be used to satisfy this requirement.

Upper Division Requirement

Computer Science Breadth
 
Software Engineering I
CPSC 320-3 Programming Languages
CPSC 321-3 Operating Systems
 
Introduction to Database Systems
CPSC 340-3 Theory of Computation
 
Data Communications and Networking
     or CPSC 444-3
 
Computer Networks

*Note:  MATH 371-3 Probability and Statistics for Scientists and Engineers is strongly recommended.

400 Level

At least 12 credit hours of Computer Science courses must be taken at the 400 level, and at least nine of these credit hours must be outside the seminar, project course (other than CPSC 400-3), research course, or special topics course category.

Alternate courses may be substituted for the above with the written permission of the Program Chair and Dean of the College.

Subject Requirement

Six additional credit hours chosen from the following:
 
Computer Science at any level
MATH 335-3 Numerical Analysis I
MATH 371-3 Probability and Statistics for Scientists and Engineers
 
Elective  and Academic Breadth Requirement

Elective credit hours as necessary to ensure completion of a minimum of 120 credit hours, including any additional credits necessary to meet the Academic Breadth requirement of the University (see Academic Regulation 15). A total of 45 credit hours in upper-division (300- and 400-level) courses from any discipline are required for graduation.

Joint Major in Chemistry/Computer Science

See Calendar entry under Chemistry.

Joint Major in Computer Science/Mathematics

The minimum requirement for completion of a Bachelor of Science with a Joint Major in Computer Science and Mathematics is 123 credit hours.

MATH 342-3 (Biostatistics) may not be used for credit towards any Mathematics or Computer Science major, minor, or joint major.

MATH 150-3 (Finite Mathematics for Business and Economics) may not be used for credit towards any Mathematics or Computer Science major or joint major.

Program Requirements

Literacy Requirement

One of:
ENGL 170-3 Writing and Communication Skills
ENGL 270-3 Expository Writing

Lower Division Requirement

CPSC 100-4 Computer Programming I
CPSC 101-4 Computer Programming II
CPSC 141-3 Discrete Computational Mathematics
CPSC 242-3 Mathematical Topics for computer Science
CPSC 200-3 Algorithm Analysis and Development
CPSC 230-4 Introduction to Logic Design
CPSC 231-4 Computer Organization and Architecture
CPSC 281-3 Data Structures I
MATH 100-3 Calculus I
     or MATH 105-3 Enriched Calculus
MATH 101-3 Calculus II
MATH 200-3 Calculus III
MATH 201-3 Introduction to Complex Analysis
MATH 220-3 Linear Algebra
MATH 224-3 Foundations of Modern Mathematics
MATH 230-3 Linear Differential Equations and Boundary Value Problems

General Science Requirement

Two of:
BIOL 101-4 Introductory Biology I
BIOL 102-4 Introductory Biology II
CHEM 100-3 General Chemistry I
and CHEM 120-1 General Chemistry Lab I
CHEM 101-3 General Chemistry II
and CHEM 121-1 General Chemistry Lab II
PHYS 100-4 Introduction to Physics I
     or PHYS 110-4* Introductory Physics I:
PHYS 111-4* Introductory Physics II: Waves and Electricity

*Note:  PHYS 110-4 (Introductory Physics I: Mechanics) and PHYS 111-4 (Introductory Physics II: Waves and Electricity) are strongly recommended for all majors.

Upper Division Requirement

CPSC 320-3 Programming Languages
CPSC 321-3 Operating Systems
CPSC 370-3 Functional and Logic Programming

**Six credit hours of 300- or 400-level Computer Science.
Six credit hours of 400-level Computer Science (excluding seminar, project, and special topics courses).

MATH 320-3 Survey of Algebra
 
Advanced Linear Algebra
MATH 335-3
 Numerical Analysis I
MATH 371-3 Probability and Statistics for Scientists and Engineers

**Three credit hours of 300- or 400-level Mathematics.
Six credit hours of 400-level Mathematics.
 
**Note: Three of these 9 credit hours must be at the 400 level so that the total number of Computer Science and Mathematics credit hours at the 400 level is at least 15.
 
Note:   CPSC 340-3 (Theory of Computation) is recommended.

Elective and Academic Breadth Requirement

Elective credit hours as necessary to ensure completion of a minimum of 123 credit hours, including any additional credits necessary to meet the Academic Breadth requirement of the University (see Academic Regulation 15).

Joint Major in Computer Science/Physics

The minimum requirement for completion of a Bachelor of Science with a Joint Major in Computer Science and Physics is 127 credit hours.

MATH 342-3 (Biostatistics) may not be used for credit towards any Mathematics or Computer Science major, minor, or joint major.

MATH 150-3 (Finite Mathematics for Business andEconomics) may not be used for credit towards any Mathematics or Computer Science major or joint major.
 
PHYS 307-3 (Selected Topics in Environmental Physics) may not be used as Physics credit toward any Physics major, minor, or joint major.

Program Requirements

Literacy Requirement

One of:
ENGL 170-3
 Writing and Communication Skills
ENGL 270-3
 Expository Writing

Lower Division Requirement

CPSC 100-4 Computer Programming I
CPSC 101-4 Computer Programming II
CPSC 141-3 Discrete Computational Mathematics
CPSC 242-3 Mathematical Topics for Computer Science
CPSC 200-3 Algorithm Analysis and Development
CPSC 231-4 Computer Organization and Architecture
CPSC 281-3 Data Structures I
MATH 100-3 Calculus I
     or MATH 105-3 Enriched Calculus
MATH 101-3 Calculus II
MATH 200-3 Calculus III
MATH 220-3 Linear Algebra
MATH 230-3 Linear Differential Equations and Boundary Value Problems
PHYS 110-4 Introductory Physics I: Mechanics
PHYS 111-4 Introductory Physics II: Waves and Electricity
PHYS 200-3 Thermal Physics
PHYS 202-4 Electromagnetism and Optics
PHYS 205-3 Modern Physics I

Upper Division Requirement

CPSC 320-3 Programming Languages
CPSC 321-3 Operating Systems
CPSC 370-3 Functional and Logic Programming

*Six credit hours of 300- or 400-level Computer Science.
Six credit hours of 400-level Computer Science (excluding seminar, project, and special topics courses).

MATH 335-3 Numerical Analysis I
 
Intermediate Differential Equations 
MATH 371-3 Probability and Statistics for Scientists and Engineers
PHYS 300-3 Classical Mechanics
PHYS 302-3 Quantum Mechanics I
PHYS 305-4 Electronics [which must be taken before CPSC 231-4 (Computer Organization and Architecture)]
PHYS 404-3 Solid State Physics

*Three credit hours of 300- or 400-level Physics.
Six credit hours of 400-level Physics (excluding seminar, project, and special topics courses).
*Three of these nine credit hours must be at the 400 level so that a minimum of 15 credit hours of 400-level Computer Science and Physics are completed.

Elective and Academic Breadth Requirement

Elective credit hours as necessary to ensure completion of a minimum of 127 credit hour, including any additional credits necessary to meet the Academic Breadth requirement of the University (see Academic Regulation 15).
 
Minor in Computing
 
The Minor in Computing requires the following 29 credit hours of courses:
 
Requirements  

CPSC 100-4
 Computer Programming I
 
Computer Programming II
 
Discrete Computational Mathematics
CPSC 200-3 Algorithm Analysis and Development
CPSC 281-3 Data Structures I
CPSC 300-3 Software Engineering
CPSC 324-3 Introduction to Database Systems
 
Data Communications and Networking
  
One additional upper-division Computer Science course**

** MATH 335-3 (Numerical Analysis I) may be used to meet this requirement.
 
 

University of Northern British Columbia
3333 University Way, Prince George, BC, Canada, V2N 4Z9   |  Website Feedback  |  Contact Security