# Computing Science (CSCI)

## 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. CSCI 1226 andCSCI 1228 are intended to be the courses for all students who intend to pursue further studies in computing science.

ii. Students taking a concentration, major, or honours in computing science are permitted credit for at most one of BIOL 3308, MGSC 2207, or PSYC 2350, and shall not be permitted credit for any of these courses simultaneously with or subsequent to MATH 1216.

iii. 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 Department of Mathematics and Computing Science Chairperson.

## Major in Computing Science

For a major in Computing Science, students must complete the following 45 credit hours in Computing Science and 15 credit hours in Mathematics, in addition to the general requirements for the Bachelor of Science (see Section 3 for details on the requirements for B.Sc. with major). Students must receive a minimum grade of C in each of these MATH and CSCI courses [see Faculty of Science Regulation 6 (h)].

- 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 at the 3000-level or higher

**Suggested Program Sequence**

The following program sequence is recommended by the Department of Mathematics and Computing Science for students taking the Computing Science Major program:

**Year 1:**

- ENGL 1205 Introduction to Literature
- CSCI 1226 Introduction to Computing Science and Programming
- CSCI 1228 Advanced Computer Programming and Problem Solving
- MATH 1210 Introductory Calculus I
- MATH 1211 Introductory Calculus II
- Six (6) credit hours in Science (excluding MATH and CSCI)
- Three (3) credit hours in Humanities
- Six (6) credit hours from Arts or Economics

**Year 2:**

- 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
- MATH 2305 Survey of Discrete Mathematics
- Three (3) credit hours in CSCI numbered above 2306
- CSCI 2355 Internet Technologies and Web Programming or CSCI 2356 Mobile App Development
- Six (6) credit hours in Science (excluding MATH and CSCI)
- Three (3) credit hours in Arts or Economics

**Year 3:**

- CSCI 3428 Software Engineering
- CSCI 3430 Principles of Programming Languages
- CSCI 3431 Operating Systems
- MATH 1216 Introduction to Mathematical Statistics
- MATH 2301 Applied Linear Algebra
- Six (6) credit hours in Science (excluding MATH and CSCI)
- Nine (9) credit hours of electives

**Year 4:**

- Six (6) credit hours in CSCI at the 3000-level or above
- CSCI 3461 Database Systems or 4477 Data Mining
- CSCI 4471 Computer Graphics or 4476 Computer Vision & Digital Image Processing
- Three (3) credit hours in Arts or Economics
- Fifteen (15) credit hours of electives

## Double Major in Computing Science and Mathematics

For a double major in Computing Science and Mathematics, students must complete the following 42 credit hours in Computing Science, 30 credit hours in Mathematics in addition to the general requirements for the Bachelor of Science (see Section 3 for details on the requirements for BSc with major).

- 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 2301 Applied Linear Algebra
- MATH 2305 Survey of Discrete Mathematics
- MATH 2310 Introductory Analysis
- MATH 2311 Intermediate Calculus
- MATH 2321 Linear Algebra II
- 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 at the 3000-level or higher
- Three (3) credit hours in CSCI numbered above 2306
- Six (6) credit hours in MATH numbered 3000 or above

## Double Major in Computing Science and another Science

For a double major in Computing Science and another Science other than Mathematics, students must fulfill requirements 1-18 for the major.

## Honours in Computing Science

Students with a minimum CGPA of 3.00 out of 4.30 are encouraged to apply for admission to the honours program. For honours in Computing Science, students must fulfill the major requirements plus:

- 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 at the 3000-level or above;

for a total of 63 credit hours in CSCI and 21 credit hours in MATH.

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

## Double Honours in Computing Science and Mathematics

For double honours in Computing Science and Mathematics, students must fulfill requirements 1-20 of the specified courses in CSCI and MATH for the double major, plus:

- CSCI 3451 Theory of Computation
- MATH 4420 Abstract Algebra I
- MATH 3441 Real Analysis I
- Three (3) additional credit hours in CSCI numbered 2306 or above
- Six (6) additional credit hours in CSCI at the 3000-level or above. CSCI 4500 Research Thesis can be used to satisfy this requirement.
- Six (6) additional credit hours in MATH at the 3000-level or above. MATH 4500 Research Thesis can be used to satisfy this requirement.

Students must achieve a DGPA of 3.00 out of 4.30 or above 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 another Science

For Double Honours in Computing Science and another science, students must fulfill all of the specified required courses in CSCI and MATH for honours, plus:

- 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

Students may complete a 3 year (90 credit hour) Bachelor of Science with a concentration in computing science. See Section 3 for details on the requirements for general B.Sc. with concentration. The Computing Science concentration requires 36 credit hours in Computing Science and Mathematics 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

## Requirements for a Minor in Computing Science

It is possible to obtain a minor in Computing Science by completing 30 credit hours in Computing Science 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

## Major in Computing Science and Business Administration

This is an interdisciplinary four year degree combining Computing Science courses, taught in the Department of Mathematics and Computing Science, with a selection of courses taught in the Sobey School of Business. This program is designed to meet the increasing demand for people with a solid technical knowledge of Computing Science who also understand the application of this technology to business problems.

To declare this program as a major, students should consult with the Co-ordinator of Computing Science in the Department of Mathematics and Computing Science. The courses listed below are required. Due to restrictions associated with the prerequisite structure, it is strongly recommended that students take courses in the sequence shown below. A minimum grade of C is required in each of the required CSCI and MATH courses and a minimum GPA of 2.20 out of 4.30 is required in the required business courses.

**Year 1:**

- ENGL 1205 Introduction to Literature
- CSCI 1226 Introduction to Computing Science
- CSCI 1228 Advanced Computer Programming and Problem Solving
- MATH 1210 Introductory Calculus I
- MATH 1216 Introduction to Mathematical Statistics
- MGMT 1281 Introduction to Business Management
- ECON 1201 Principles of Economics: Micro
- ECON 1202 Principles of Economics: Macro
- Six (6) credit hours in Science (not CSCI)

**Year 2:**

- CSCI 2327 Digital Logic and Computer Architecture
- CSCI 2355 Internet Technologies and Web Programming
- CSCI 2341 Data Structures and Algorithms I
- CISY 2320 Business Applications Programming
- ACCT 2241 Introductory Financial Accounting
- ACCT 2242 Introductory Managerial Accounting
- MKTG 2270 Introduction to Marketing
- MGMT 2383 Micro Organizational Behaviour
- MGMT 2384 Macro Organizational Behaviour
- Three (3) credit hours of electives

**Year 3:**

- Six (6) credit hours in CSCI numbered 2306 or above
- MATH 2301 Applied Linear Algebra
- ACCT 3332 Planning and Control
- FINA 2360 Business Finance I
- FINA 3361 Business Finance II
- Nine (9) credit hours in Science (not CSCI)
- Three (3) credit hours in Humanities

**Year 4:**

- Twelve (12) credit hours in CSCI numbered 3000 or above
- MGMT 4489 Strategic Management
- ACCT 3323 Management Information Systems
- CISY 4425 Systems Analysis and Design
- Six (6) credit hours in Arts
- Three (3) credit hours of electives

**Notes:**

(i) For students in the Computing Science and Business Administration program, MATH 1210 can replace MGSC 1205 or MGSC 1206 as a prerequisite for other business courses.

(ii) For students in the Computing Science and Business Administration program, CSCI 1226 can replace CISY 1225 as a prerequisite for other business courses. However, a knowledge of the topics covered in CISY 1225 will be assumed in other courses.

(iii) Students may not receive credit for CISY 1225 if taken concurrently with or subsequent to CSCI 1226

(iv) CISY 2320 may be acceptable as a CSCI elective above 2306 and below 3000 level with written permission of the Department.

(v) CISY 3327 may be acceptable in lieu of CSCI 2355 with written permission of the Department. Students cannot receive credits for both CISY 3327 and CSCI 2355.

(vi) CISY 4425 may be acceptable in lieu of CSCI 3428 with written permission of the Department. Students cannot receive credit for both CISY 4425 and CSCI 3428

(vii) CISY 3326 may be acceptable in lieu of CSCI 3461 with written permission of the Department. Students cannot receive credits for both CISY 3326 and CSCI 3461.

(viii) CISY 4436 may be acceptable in lieu of CSCI 3421 with written permission of the Department. Students cannot receive credits for both CISY 4436 and CSCI 3421.