SSP

The School of Computing’s Software Design program is for those determined to push the boundaries of computer systems beyond their current limits. Mentored in the art and science of computer software architecture, analysis, and evolution by experts, our graduates become the software architects, graphics and game developers, designers and entrepreneurs who drive the software revolution.

This Specialization is accredited by Canada's Association of IT Professionals (CIPS).

What follows is a list of the required unit credits for the Software Design program. This information is meant as a guide and is subject to change. The precise and up-to-date requirements for Computing degree plans can be found online in the Arts and Science Calendar. In case of discrepancies, the calendar should be considered as the official definition.

Typical 4-years honours programs consist of 120 unit credits. A one-term course is worth 3 units, while a full year (two-term) course is worth 6 units. All courses listed below are 3 units unless specified with a /6.0 after the course code.

- CISC 121 Introduction to Computing Science I
- CISC 124 Introduction to Computing Science II
*One of the following Linear Algebra options:*- MATH 112 Linear Algebra

*and*

CISC 102 Discrete Mathematics for Computing Science I - MATH 111/6.0 Linear Algebra

*and*

CISC 102 Discrete Mathematics for Computing Science I - MATH 110/6.0 Linear Algebra

- MATH 112 Linear Algebra
*One of the following Calculus options:*- MATH 120/6.0 Differential and Integral Calculus
- MATH 121/6.0 Differential and Integral Calculus
- MATH 123 Differential and Integral Calculus I

*and*

MATH 124 Differential and Integral Calculus II

- CISC 203 Discrete Mathematics for Computing Science II
- CISC 204 Logic for Computing Science
- CISC 220 System-Level Programming
- CISC 221 Computer Architecture
- CISC 223 Software Specifications
- CISC 235 Information Structures
- STAT 263 Introduction to Statistics

*or another Statistics course option (see calendar for complete list).*

- CISC 324 Operating Systems
- CISC 325 Human-Computer Interaction
- CISC 327 Software Quality Assurance
- CISC 360 Programming Paradigms
- CISC 365 Algorithms I
- CISC 422 Formal Methods in Software Engineering
- CISC/SOFT 423 Software Requirements
- CISC 497 Social, Ethical and Legal Issues in Computing
*One of the following courses:*- WRIT 125 Effective Writing I
- WRIT 175 Effective Writing II
- PHIL 259 Critical Thinking
- MECH 380 Effective Tech Communication

*One of the following courses:*- COMM 200 Business Fundamentals
- COMM 244 Project Management: An Engineering Economics Perspective
- COMM 251 Organizational Behaviour
- ASPC 221 Economics and Business Practices in Engineering

*One of the following courses:*- CISC 271 Linear Data Analytics
- CISC 340 Digital Systems

*One of the following courses:*- CISC 322 Software Architecture
- CISC 326 Game Architecture

*Two of the following Applications courses:*- CISC 226 Game Design
- CISC 271 Scientific Computing
- CISC 282 Fundamentals of Web Development
- CISC 332 Database Management Systems
- CISC 335 Computer Networks
- 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 437 Performance Analysis
- CISC 448 Software Reliability and Security
- 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.*- CISC 498/6.0 Information Technology Project
*18 units in areas other than Computing (CISC/COGS/COCA), Mathematics/Statistics (MATH/STAT), or Engineering (APSC/ELEC).**3 units from the humanities, languages, or social sciences (see calendar for complete list).*

Admission to a degree program in the Faculty of Arts and Science from an Ontario Secondary School is based on the completion of the Ontario Secondary School Diploma (OSSD). Please see Admissions for details.

Apply at the Ontario Universities Application Centre using the program code **QD (Queen's University, Computing)**.

Upon completion of first year, students must declare that they are entering the **Software Design** Subject of Specialization.

More information may be obtained by sending mail to undergrad@cs.queensu.ca or by contacting the Software Design advisor: