About Software Engineering

Program overview

The University of Waterloo’s honours software engineering program is an independent, interdisciplinary program supported by both the Faculty of Mathematics and the Faculty of Engineering.

The program is collaboratively developed and administered by faculty in Computer Science and in Electrical and Computer Engineering. It is accredited by the CEAB.

The program’s technical requirements include a solid foundation in mathematics, computers and networks, computer science, and engineering. Software engineering courses build on this foundation and introduce disciplined development processes, technical documentation, software design principles, project management, and quantifiable analysis. Non-technical requirements include teamwork, technical presentations, reports, peer evaluations, and co-op work experience.

Artificial Intelligence is revolutionizing technology, and software engineering is at the heart of this transformation. Far from being replaced, software engineers are essential for designing, building, and maintaining the systems that power AI. These advancements open new opportunities for innovation, requiring expertise in software architecture, scalability, security, and ethical design.

AI tools enhance productivity by automating routine tasks, allowing engineers to focus on creative problem-solving, system optimization, and developing intelligent applications. The integration of AI into software systems is creating exciting new career paths, making software engineering one of the most dynamic and future-ready fields.

Software engineering student and computer.