Link to the University of Waterloo home page
2020-2021

The Undergraduate Calendar

 

 

Computer Science

Specializations

Software Engineering Specialization

The Software Engineering Specialization is available for both the Bachelor of Computer Science (BCS) and the Bachelor of Mathematics (Computer Science) (BMath) plans. This Specialization is offered jointly by the David R. Cheriton School of Computer Science and the Department of Electrical and Computer Engineering. Given that the specialization involves two faculties, it has slightly different realizations in those faculties. Students who complete this Specialization do not qualify for the professional engineering designation. The course requirements are the same as for the BCS and BMath with the following constraints on upper-year CS courses:

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
CS 492 The Social Implications of Computing

Applications

Two of

CS 343 Concurrent and Parallel Programming
CS 348 Introduction to Database Management
CS 349 User Interfaces

Two of

CS 444 Compiler Construction
CS 448 Database Systems Implementation
CS 449 Human-Computer Interaction
CS 450 Computer Architecture
CS 452 Real-time Programming
CS 454 Distributed Systems
CS 456 Computer Networks
CS 457 System Performance Evaluation
CS 458 Computer Security and Privacy
CS 484 Computational Vision
CS 485 Statistical and Computational Foundations of Machine Learning
CS 486 Introduction to Artificial Intelligence
CS 488 Introduction to Computer Graphics

 


Office of the Registrar
University of Waterloo
Ira G. Needles Hall
200 University Avenue West
Waterloo, Ontario, Canada N2L 3G1
519-888-4567