# Computing Science

## Computing Science (CSCI)

Students can obtain a Bachelor of Science in Computing Science in one of two possible ways. A traditional degree in Computing Science involving an emphasis in Mathematics is offered as a minor, concentration, major, or honours. Alternatively, students interested in applying the technical aspects of Computing Science to business can obtain a major in Computing Science and Business Administration. Both of these Computing Science options have a Co-op option.

The major and honours programs in Computing Science are accredited by the Computer Science Accreditation Council of the Canadian Information Processing Society (CIPS). Not only is this an assurance of program quality, but it also allows students to earn the Information Systems Professional (ISP) designation in less time.

**Note:** Students are advised that possession of the minimum qualifications does not guarantee admission to a particular academic program. Limits to the number of students who can be in a particular program at any one time exist and depend very much on the number of faculty members available in a particular academic unit.

## Cooperative Education Program (Co-op)

This program is designed for students in the honours or major programs who wish to gain relevant work experience while attending university. The general requirements for the Cooperative Education program can be found in the Faculty of Science regulations, Cooperative Education Section, of this Calendar. Interested students should contact the Department of Mathematics and Computing Science Co-op Advisor before the end of their first year.

## Credit for Duplicate Courses

No student who has received credit for an advanced mathematics or computing science course may later receive credit for a mathematics or computing science prerequisite to the course without permission of the Department. With renumbered or restructured courses, students are advised that they are not eligible to take a course for credit if they already have a credit for a comparable course, even if that course was taken at a different level or under a different number.

**Important Notes:**

i. Students taking a concentration, major, or honours in computing science may receive credit for only one of MATH 1216, BIOL 3308, PSYC 2350, MGSC 2207 and GEOG 3326.

ii. Related courses to a maximum of nine (9) credit hours offered by other Departments may be allowed for CSCI credit, with written approval of the Computing Science Program Coordinator.

## Major in Computing Science - Requirements

The requirements for the degree of Bachelor of Science with Major apply as listed in this *Academic *Calendar under the heading of Faculty of Science, Bachelor of Science – Major, in Section Three. The specific list of sixty (60) credit hours required in the major subject area (specifically the following forty-five (45) credit hours in Computing Science aqnd fifteen (15) credit hours in Mathematics) used to satisfy 6 (d) are as follows:

- CSCI 1226 Introduction to Computing Science and Programming
- CSCI 1228 Advanced Computer Programming and Problem Solving
- CSCI 2307 Theoretical Foundations of Computing Science
- CSCI 2308 [MATH 2308] Introduction to Numerical Analysis
- CSCI 2327 Digital Logic and Computer Architecture
- CSCI 2341 Data Structures and Algorithms I
- CSCI 3428 Software Engineering
- CSCI 3430 Principles of Programming Languages
- CSCI 3431 Operating Systems
- MATH 1210 Introductory Calculus I
- MATH 1211 Introductory Calculus II
- MATH 1216 Introduction to Mathematical Statistics
- MATH 2305 Survey of Discrete Mathematics
- MATH 2301 Applied Linear Algebra
- CSCI 2355 Internet Technologies and Web Programming or 2356 Mobile App Development
- CSCI 3461 Database Systems or 4477 Data Mining
- CSCI 4471 Computer Graphics or 4476 Computer Vision & Digital Image Processing
- Three (3) credit hours in CSCI numbered above 2306
- Six (6) credit hours in CSCI numbered 3000 or above

* **Note:** Students should consult the Faculty of Science program Requirement Tables available online for the complete list of program requirements, recommended Science Electives, and a suggested sequence of courses for Years 1 and 2. Students should consult with a Program Advisor or a Science Advisor to chart their courses, and to determine the best sequence of courses for Years 3 and 4.

## Double Major in Computing Science and Mathematics - Requirements

The requirements for the degree of Bachelor of Science with Double Major apply as listed in this *Academic *Calendar under the heading of Faculty of Science, Bachelor of Science – Double Major, in Section Three. The specific list of required courses in Computing Science and Mathematics used to satisfy 6 (b) and 7 (a) is as follows:

- CSCI 1226 Introduction to Computing Science and Programming
- CSCI 1228 Advanced Computer Programming and Problem Solving
- CSCI 2307 [MATH 2307] Theoretical Foundations of Computing Science
- CSCI 2308 [MATH 2308] Introduction to Numerical Analysis
- CSCI 2327 Digital Logic and Computer Architecture
- CSCI 2341 Data Structures and Algorithms I
- CSCI 3428 Software Engineering
- CSCI 3430 Principles of Programming Languages
- CSCI 3431 Operating Systems
- MATH 1210 Introductory Calculus I
- MATH 1211 Introductory Calculus II
- MATH 1216 Introduction to Mathematical Statistics
- MATH 2301 Applied Linear Algebra
- MATH 2305 Survey of Discrete Mathematics
- MATH 2310 Introductory Analysis
- MATH 2311 Intermediate Calculus
- MATH 2321 Linear Algebra II
- MATH 3441 Real Analysis I
- MATH 4420 Abstract Algebra I
- CSCI 2355 Internet Technologies and Web Programming or 2356 Mobile App Development
- CSCI 3461 Database Systems or 4477 Data Mining
- CSCI 4471 Computer Graphics or 4476 Computer Vision & Digital Image Processing
- Three (3) credit hours in CSCI numbered 2306 or above
- Three (3) credit hours in CSCI numbered 3000 or above
- Six (6) credit hours in MATH numbered 3000 or above

* **Note:** Students should consult the Faculty of Science program Requirement Tables available online for the complete list of program requirements, recommended Science Electives, and a suggested sequence of courses for Years 1 and 2. Students should consult with a Program Advisor or a Science Advisor to chart their courses, and to determine the best sequence of courses for Years 3 and 4.

## Double Major in Computing Science and another Science (not Mathematics) - Requirements

The requirements for the degree of Bachelor of Science with Double Major apply as listed in this *Academic Calendar* under the heading of Faculty of Science, Bachelor of Science – Double Major, in Section Three. To satisfy 7(a) for CSCI, students must fulfill requirements 1-18 of the Computing Science major listed above.

## Honours in Computing Science - Requirements

The requirements for the degree of Bachelor of Science with Honours apply as listed in this *Academic Calendar* under the heading of Faculty of Science, Bachelor of Science – Honours, in Section Three. Students with a minimum CGPA of 3.00 are encouraged to apply for admission to the honours program. The specific list of credit hours required to satisfy 11(a) for a total of sixty-three (63) credit hours in CSCI and twenty-one (21) credit hours in MATH include:

- All of the requirements for the Major
- CSCI 3451 Theory of Computation;
- Nine (9) additional credit hours in CSCI numbered 2306 or above;
- Six (6) additional credit hours in CSCI at the 3000-level or above. It is recommended that CSCI 4500 Research Thesis be used to satisfy this requirement;
- Six (6) additional credit hours in MATH numbered 3000 or above.

Students must achieve a minimum DGPA of 3.00 on those courses presented in fulfillment of the Bachelor of Science with Honours in Computing Science requirements.

The complete list of required credits for the program and the suggested sequence of courses for years 1 and 2 can be found on the Faculty of Science website listings for Program Requirement Tables. Students should consult with the Program Advisor or a Science Advisor for the suggested best sequence of courses for years 3 and 4.

## Double Honours in Computing Science and Mathematics - Requirements

The requirements for the degree of Bachelor of Science with Honours apply as listed in this *Academic Calendar* under the heading of Faculty of Science, Bachelor of Science – Double Honours, in Section Three. To satisfy 11(a) students must fulfill the following:

- Requirements 1 - 22 listed for the Double Major
- CSCI 3451 Theory of Computation
- Three (3) additional credit hours in MATH numbered 3000 or above
- One of the following:

- Six (6) additional credit hours of CSCI 4500 Research Thesis
- Six (6) additional credit hours of MATH 4500 Research Thesis
- Three (3) credit hours in CSCI numbered 3000 or above and three (3) credit hours in MATH numbered 3000 or above

The suggested sequence of courses for years 1 and 2 can be found on the Faculty of Science website listings for Program Requirement Tables. Students should consult with the Program Advisor or a Science Advisor for the suggested best sequence of courses for years 3 and 4.

Students must achieve a minimum DGPA of 3.00 on those courses presented in fulfillment of the Bachelor of Science with Double Honours in Computing Science and Mathematics requirements.

## Double Honours in Computing Science and Other Science (not Mathematics) - Requirements

The requirements for the degree of Bachelor of Science with Double Honours apply as listed in this *Academic Calendar* under the heading of Faculty of Science, Bachelor of Science – Double Honours, in Section Three. To satisfy the honours requirements 11(a)students must fulfill:

- All of the specified courses in CSCI and MATH required for majors in Computing Science
- Three (3) additional credit hours in MATH courses numbered 2306 or above;
- Six (6) additional credit hours in CSCI courses numbered 2306 or above.

## Concentration in Computing Science - Requirements

The requirements for the degree of Bachelor of Science – General -with Concentration apply as listed in this *Academic Calendar* under the heading of Faculty of Science, Bachelor of Science – General (with Concentration), in Section Three. The specific thirty-six **(36)** credit hours in courses required to satisfy 3(d) are as follows:

- CSCI 1226 Introduction to Computing Science and Programming
- CSCI 1228 Advanced Computer Programming and Problem Solving
- CSCI 2327 Digital Logic and Computer Architecture
- CSCI 2341 Data Structures and Algorithms I
- Eighteen (18) credit hours in CSCI numbered 2306 or above
- MATH 1210 Introductory Calculus I
- MATH 1211 Introductory Calculus II