The precise requirements for Computing degree plans are listed in the Arts and Science Calendar. In case of discrepancies, the calendar should be considered as the official definition of the Computing degree plans.

Electives can be any course in the Arts and Science Calendar, including CISC courses. That is, you can take more CISC courses than the minimum required number. Special permission is needed for an Arts and Science student to take courses from other faculties (Applied Science, Business, etc) as electives, unless those courses are already listed in the Arts and Science Calendar. A student in fourth year with a first class average may apply to take a CISC graduate course in place of a 400 level CISC course. The student must obtain approval from the department and from the course instructor. If the student later enters a graduate CISC program at Queen's, this course can not count toward the graduate degree.

All Computing plans start with CISC-121.
Students without any programming
experience should take *either*
CISC-101 (Elements of Computing Science)
*or* CISC-110 (Elementary Computer Animation) as an elective half-credit before
CISC-121.
With the exception of CISC-498/6.0, all CISC-courses are 3-unit (half) courses.

This is a 120 unit (4 year) program. A full year course (indicated by /6.0) is worth 6 units and a half-course counts as 3.0 units. Consult the Arts and Science calendar for complete details.

CISC-121 | Introduction to Computing Science I |

CISC-124 | Introduction to Computing Science II |

CISC-102 | Discrete Math I |

One of the following 2 courses: | |

• MATH-111/6.0 | Linear Algebra |

• MATH-112 | Linear Algebra |

MATH-121/6.0 | Differential and Integral Calculus |

CISC-203 | Discrete Mathematics for Computing Science |

CISC-204 | Logic for Computing Science |

CISC-220 | System-Level Programming |

CISC-221 | Computer Architecture |

CISC-223 | Software Specifications |

CISC-235 | Information Structures |

CISC-260 | Programming Paradigms |

STAT-263 | Introduction to Statistics |

One of the following 2 courses: | |

• CISC-322 | Software Architecture |

• CISC-326 | Game Architecture |

CISC-324 | Operating Systems |

CISC-340 | Digital Systems |

CISC-365 | Algorithms I |

CISC-497 | Social, Ethical and Legal Issues in Computing |

CISC-499 | Advanced Undergraduate Project |

One of the following courses: | |

• CISC-422 | Formal Methods in Software Engineering |

• CISC-462 | Computability and Complexity |

• CISC-465 | Foundations of Programming Languages |

• CISC-466 | Algorithms II |

12.0 additional units in CISC, in one of two possible combinations: | |

Option i: 9.0 units in CISC at the 400 level, plus one of: | |

• CISC-332 | Database Management Systems |

• CISC-333 | Introduction to Data Mining |

• CISC-352 | Artificial Intelligence |

Option ii: 3.0 units at the 200 level or above, 6.0 at the 400 level, plus one of: | |

• CISC-454 | Computer Graphics |

• CISC-457 | Image Processing and Computer Vision |

30.0 units in disciplines other than Computing or Mathematics/Statistics with at least 9.0 credits in the humanities, languages or social sciences. | |

15.0 elective units. |

This plan is identical to the CSCI plan described
above except that
CISC-340 (Digital Systems) is *not* required and the 30 unit
complementary-courses requirement is replaced by 30 elective units
(making 48 elective units in total). This program cannot be accredited by CIPS but has been retained
primarily to allow students to do Major-Minor combination degrees if they wish.

This is a 90 unit (3 year) program. A full year course is worth 6.0 units (indicated with /6.0) and a half-course counts as 3.0 units. Consult the Arts and Science calendar for complete details.

CISC-121 | Introduction to Computing Science I |

CISC-124 | Introduction to Computing Science II |

CISC-102 | Discrete Math I |

One of the following 2 courses: | |

• MATH-111/6.0 | Linear Algebra |

• MATH-112 | Linear Algebra |

MATH-121/6.0 | Differential and Integral Calculus |

CISC-203 | Discrete Mathematics for Computing Science |

CISC-204 | Logic for Computing Science |

CISC-220 | System-Level Programming |

CISC-221 | Computer Architecture |

CISC-223 | Software Specifications |

CISC-235 | Information Structures |

CISC-260 | Programming Paradigms |

9.0 additional units in CISC or SOFT at the 200 level or above, including at least 3.0 units at the 300 level. | |

42.0 elective units. | |

In 2008, a requirement of 1st-year Calculus (MATH-121/6.0 or 122/6.0 or 120/6.0) replaced a requirement
of 6 units in *any* Math or Science subject. If you were registered in this
program before 2008, you will be allowed to use the earlier requirement.