Computer Science (BSc Program)
- David Casperson, Assistant Professor and Chair
- Liang Chen, Professor
- Waqar Haque, Professor
- Saif Zahir, Professor
- Alex Aravind, Associate Professor
- Jernej Polajnar, Associate Professor
- Desanka Polajnar, Adjunct Professor
- Andreas Hirt, Adjunct Professor
- Allan Kranz, Senior Lab Instructor
Website: http://www.unbc.ca/computerscience
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
Computer Programming I | ||
Computer Programming II | ||
Discrete Computational Mathematics | ||
Writing and Communication Skills | ||
or ENGL 270-3 | Expository Writing | |
Calculus I | ||
or MATH 105-3 | Enriched Calculus |
*Note: MATH 101-3 Calculus II is strongly recommended.
200 Level
Algorithm Analysis and Development | ||
Introduction to Concurrent and Distributed Programming | ||
Introduction to Logic Design | ||
Computer Organization and Architecture | ||
Mathematical Topics for Computer Science | ||
Ethics in Computing Science | ||
Data Structures I | ||
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:
Introductory Physics I: Mechanics | ||
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 | ||
Programming Languages | ||
Operating Systems | ||
Introduction to Database Systems | ||
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
Numerical Analysis I | ||
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.
BSc Honours - Computer Science
(Effective September 2013)
Entry to the Computer Science Honours Program takes place after completion of 60 credit hours and requires a minimum Cumulative GPA of 3.33 over the previous 30 credit hours, and the permission of the Department Chair. Candidates are required to consult with their Student Advisor prior to entry to the program. Attaining the minimum requirement does not guarantee entry to the Honours Program, which is at the discretion of the Department and depends on the availability of a supervisor. Faculty members are under no obligation to supervise Honours students. To remain in the Honours Program requires the maintenance of a minimum Cumulative GPA of 3.33.
To be awarded the BSc Honours degree students will
complete 120 credits hours required for a BSc in Computer Science
complete an additional 6 credit hours of CPSC 491-3 and an undergraduate thesis under the supervision of a faculty member
complete MATH 371-3
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:
Writing and Communication Skills | ||
Expository Writing |
Lower Division Requirement
Computer Programming I | ||
Computer Programming II | ||
Discrete Computational Mathematics | ||
Mathematical Topics for computer Science | ||
Algorithm Analysis and Development | ||
Introduction to Logic Design | ||
Computer Organization and Architecture | ||
Data Structures I | ||
Calculus I | ||
or MATH 105-3 | Enriched Calculus | |
Calculus II | ||
Calculus III | ||
Introduction to Complex Analysis | ||
Linear Algebra | ||
Foundations of Modern Mathematics | ||
Linear Differential Equations and Boundary Value Problems |
General Science Requirement
Two of:
Introductory Biology I | ||
Introductory Biology II | ||
General Chemistry I | ||
General Chemistry Lab I | ||
General Chemistry II | ||
General Chemistry Lab II | ||
Introduction to Physics I | ||
or PHYS 110-4* | Introductory Physics I: | |
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
Programming Languages | ||
Operating Systems | ||
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).
Survey of Algebra | ||
Advanced Linear Algebra | ||
Numerical Analysis I | ||
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:
Writing and Communication Skills | ||
Expository Writing |
Lower Division Requirement
Computer Programming I | ||
Computer Programming II | ||
Discrete Computational Mathematics | ||
Mathematical Topics for Computer Science | ||
Algorithm Analysis and Development | ||
Computer Organization and Architecture | ||
Data Structures I | ||
Calculus I | ||
or MATH 105-3 | Enriched Calculus | |
Calculus II | ||
Calculus III | ||
Linear Algebra | ||
Linear Differential Equations and Boundary Value Problems | ||
Introductory Physics I: Mechanics | ||
Introductory Physics II: Waves and Electricity | ||
Thermal Physics | ||
Electromagnetism and Optics | ||
Modern Physics I |
Upper Division Requirement
Programming Languages | ||
Operating Systems | ||
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).
Numerical Analysis I | ||
Intermediate Differential Equations | ||
Probability and Statistics for Scientists and Engineers | ||
Classical Mechanics | ||
Quantum Mechanics I | ||
Electronics [which must be taken before CPSC 231-4 (Computer Organization and Architecture)] | ||
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
Computer Programming I | ||
Computer Programming II | ||
Discrete Computational Mathematics | ||
Algorithm Analysis and Development | ||
Data Structures I | ||
Software Engineering | ||
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.
