Software Engineering at the University of Waterloo

Software engineering is a systematic and disciplined approach to developing software. It applies both computer science and engineering principles and practices to the creation, operation, and maintenance of software systems.

At the University of Waterloo, Software Engineering is an independent, interdisciplinary program supported by both the Faculty of Mathematics and the Faculty of Engineering. Graduates of this program will earn a Bachelor of Software Engineering (BSE) degree.

Faculty of Engineering

Courses provided by the Faculty of Engineering show students how to design and how to solve problems in digital hardware and software.
 

Faculty of Math

Courses provided by the Faculty of Math give students the background they need to understand computing fundamentals and to model and reason about software behaviour.

News

WATORACE, including SE's own Kyle Anderson, won 4th place in the Indy Autonomous Challenge (IAC) virtual race #3, also capturing the Rising Star Award. The IAC brings together 18 university teams from 11 countries on 4 continents in the world’s first head-to-head, high-speed autonomous race at the famous Indianapolis Motor Speedway (IMS).

SE2023 student Vikram Subramanian won first place in the ACM undergraduate student research competition at ICSE 2020 for his work titled An empirical study of first-time open source contributors on Github, which was supervised by Prof Mei Naggapan. Great work!