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 Faculty Options, Engineering section. 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 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 442 Principles of Programming Languages
CS 444 Compiler Construction
CS 448 Database Systems Implementation
CS 449 Human-Computer Interaction
CS 450 Computer Architecture or ECE 429 Computer Architecture
CS 452 Real-time Programming
CS 454 Distributed Systems or ECE 454 Distributed Computing
CS 456 Computer Networks or ECE 428 Computer Networks and Security
CS 457 System Performance Evaluation
CS 458 Computer Security and Privacy
CS 473 Medical Image Processing
CS 484 Computational Vision
CS 485 Machine Learning: Statistical and Computational Foundations
CS 486 Introduction to Artificial Intelligence or ECE 457A Cooperative and Adaptive Algorithms or ECE 457B Fundamentals of Computational Intelligence
CS 488 Introduction to Computer Graphics
The following constraints apply to the non-math and free-choice courses:
Societal Issues
One of
ARBUS 202/PHIL 215 Professional and Business Ethics
CS 492 The Social Implications of Computing
GENE 411 Engineering Law and Ethics
GENE 412/PHIL 315 Ethics and The Engineering Profession
ME 401 Law for the Professional Engineer
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 (see Laurier calendar)
BUS 121W Functional Areas of the Organization (see Laurier calendar)
COMM 400 Entrepreneurship, Technology and the Emerging Information Economy
HRM 200 Basic Human Resources Management
MSCI 211 Organizational Behaviour
MSCI 311 Organizational Design and Technology
MSCI 454 Technical Entrepreneurship
Note: Courses labelled BUS are offered by the School of Business and Economics at Wilfrid Laurier University.
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 210E Genres of Technical Communication
ENGL 210F Genres of Business Communication
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.