The Software Engineering Option is available only for the Bachelor of Computer Science plan. This option is offered jointly by the David R. Cheriton School of Computer Science and the Department of Electrical and Computer Engineering. The rationale for the plan is described in the "Faculty Options" section of the Engineering chapter. Given that the option involves two faculties, it has slightly different realizations in those faculties. Students who complete this option within the Faculty of Mathematics do not qualify for the professional engineering designation. The course requirements are the same as for the Bachelor of Computer Science (honours) with the following constraints on upper-year CS courses:
All of
CS 348 Introduction to Database Management
Foundations
All of
CS 445/ECE 451 Software Requirements Specification and Analysis
CS 446/ECE 452 Software Design and Architectures
CS 447/ECE 453 Software Testing, Quality Assurance and Maintenance
Applications
Two of
CS 343 Concurrent and Parallel Programming
CS 349 User Interfaces
CS 444 Compiler Construction
CS 448 Database Systems Implementation
CS 450 Computer Architecture or ECE 429 Computer Structures
CS 452 Real-time Programming
CS 454 Distributed Systems or ECE 454 Distributed and Network Computing
CS 456 Computer Networks or ECE 428 Computer Networks and Security
CS 457 System Performance Evaluation
CS 486 Introduction to Artificial Intelligence or ECE 457 Applied Artificial Intelligence
CS 488 Introduction to Computer Graphics
The following constraints apply to the non-math and free-choice courses:
Societal Issues
One of
CS 492 The Social Implications of Computing
GENE 412/PHIL 315 Ethics and the Engineering Profession
GENE 411 Engineering Law and Ethics
ME 401 Law for the Professional Engineer
PHIL 215 Professional and Business Ethics
STV 100 Society, Technology and Values: Introduction
STV 202 Design and Society
STV 302 Information Technology and Society
Note: Choosing CS 492 (a math course) from this list does not reduce the overall requirement to take 5.0 non-math units.
Business Issues
One of
BUS 111W Introduction to Business Organization
BUS 121W Functional Areas of the Organization
HRM 200 Basic Human Resources Management
MSCI 211 Organizational Behaviour
MSCI 311 Organizational Design and Technology
MSCI 454 Technical Entrepreneurship
MTHEL 400 Entrepreneurship, Technology and the Emerging Information Economy
Note: Courses labelled BUS are offered by Wilfrid Laurier's School of Business and Economics. See "Business-Related Plans."
Communication
May be replaced with an additional course from the societal or business lists.
One of
ENGL 109 Introduction to Academic Writing
ENGL 119 Communications in Mathematics & Computer Science
ENGL 140R The Use of English 1
ENGL 209 Writing Strategies
ENGL 210E Genres of Technical Communication
ENGL 210F Genres of Business Communication
ENGL 219 Contemporary Usage
ENGL 309E/SPCOM 323 Speech Writing
ENGL 376R Applied English Grammar 1
ENGL 392A Information Design
ENGL 392B Visual Rhetoric
SPCOM 100 Interpersonal Communication
SPCOM 223 Public Speaking
SPCOM 225 Interviewing
SPCOM 324 Small Group Communication
Note: Non-math courses may have enrolment limits or may not easily fit schedules.