Queen's School of Computing

The precise requirements for Computing degree plans are listed in the Arts and Science calendar plans document. 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 Computing degree program at Queen's, this course cannot be counted toward the graduate degree.

Bachelor of Computing (Honours) in Software Design (SODE-P-BCH)

Software Design is a 120-unit plan. Full year courses (indicated by /6.0) count as 6.0 units and half-year courses count as 3.0 units. See the SODE course page or the Arts and Science calendar plans document for complete details.

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.

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 110/6.0 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
One of the following courses:
   • STAT 263 Introduction to Statistics
   • STAT_Options See course page
CISC 324 Operating Systems
CISC 325 Human-Computer Interaction
CISC 327 Software Quality Assurance
CISC 365 Algorithms I
CISC 422 Formal Methods in Software Engineering
CISC 423 or SOFT 423 Software Requirements
CISC 497 Social, Ethical and Legal Issues in Computing
One of
 • WRIT 125 Effective Writing I
 • WRIT 175 Effective Writing II
 • PHIL 259 Critical Thinking
   or any course with a significant amount of graded writing.
One of
 • COMM 200 Introduction to Business
 • COMM 244 Project Management and Economics
 • COMM 251 Organizational Behaviour
 • APSC 221 Economics and Business Practices in Engineering
12.0 elective units.
One of the following two Options:
(i) Software Development
One of
 • CISC 271 Scientific Computing
 • CISC 340 Digital Systems
One of
 • CISC 322 Software Architecture
 • CISC 326 Game Architecture
CISC 498/6.0 Information Technology Project
Two of the following Applications courses:
  • CISC 226 Game Design
  • CISC 271 Scientific Computing
  • CISC 282 Web Development
  • CISC 332 Database Management Systems
  • CISC 333 Data Mining
  • CISC 340 Digital Systems
  • CISC 352 Artificial Intelligence
  • CISC 425 Advanced User Interface Design
  • CISC 426 Real-Time Systems
  • CISC 432 Advanced Database Systems
  • CISC 434 Distributed Systems
  • CISC 435 Computer Communications and Networks
  • CISC 437 Performance Analysis
  • CISC 452 Neural and Genetic Computing
  • CISC 453 Topics in Artificial Intelligence
  • CISC 454 Computer Graphics
  • CISC 458 Programming Language Processors
  • CISC 486 Game Engine Development
  • ELEC 470 Computer System Architecture
  • ELEC 471 Computer Networks I
  • ELEC 476 System Simulation
  • ELEC 478 Computer Networks II
with at least one at the 400 level or above
18.0 additional units in areas other than CISC, COCA, COGS, MATH, STAT, APSC, ELEC
3.0 additional units from ASC_Humanities_Languages_Social_Sciences
OR (ii) Game Development
CISC 226 Game Design
CISC 271 Scientific Computing
One of
 • CISC 322 Software Architecture
 • CISC 326 Game Architecture
CISC 454 Computer Graphics
CISC 486 Game Engine Development
CISC 496 Game Development Project
18.0 additional units in areas other than CISC, COCA, COGS, MATH, STAT, APSC, ELEC
3.0 additional units from ASC_Humanities_Languages_Social_Sciences