Program Overview
Software Engineering Degree
The Software Engineering degree at the University of Waterloo is designed to provide students with a comprehensive education in software engineering, including the design, development, testing, and maintenance of software systems. The program is offered as a co-op program, which allows students to gain relevant paid work experience in the field.
Program Overview
The Software Engineering program at the University of Waterloo is a five-year program that includes both academic and co-op terms. The program is designed to provide students with a strong foundation in software engineering principles, as well as hands-on experience in the field. Students will take courses in areas such as software design, software development methodologies, testing, quality assurance, project management, and user experience design.
First-Year Courses
In the first year, students will take courses in math, programming, digital logic, and software design. The courses include:
- CS 137 – Programming Principles
- CHE 102 – Chemistry for Engineers
- MATH 115 – Linear Algebra for Engineering
- MATH 117 – Calculus 1 for Engineering
- MATH 135 – Algebra for Honours Mathematics
- SE 101 – Introductions to Methods of Software Engineering
Upper-Year Courses
In the upper years, students will take courses in areas such as data structures, algorithms, operating systems, databases, user interfaces, and large-scale software engineering. Some sample upper-year courses include:
- SE 212 – Logic and Computation
- SE 464 – Software Design and Architectures
- SE 350 – Operating Systems
- SE 465 – Software Testing and Quality Assurance
Specializations
The Software Engineering program at the University of Waterloo offers several specializations, including:
- Artificial Intelligence – Build smart systems that learn, reason, and solve complex problems using AI and machine learning techniques.
- Business – Combine software skills with business knowledge to create technology solutions that drive innovation and success.
- Computational Fine Art – Explore the creative side of computing by blending art, design, and technology to make interactive digital experiences.
- Human-Computer Interaction – Design user-friendly software and devices that make technology easy and enjoyable for everyone.
Co-op Program
The co-op program at the University of Waterloo is designed to provide students with relevant paid work experience in the field. Students will alternate between academic and co-op terms, with the first co-op term typically taking place at the end of the first year. The co-op program is designed to provide students with hands-on experience in the field, as well as the opportunity to network with professionals and build their resume.
Admission Requirements
The admission requirements for the Software Engineering program at the University of Waterloo include:
- Six Grade 12 U and/or M courses, including:
- Advanced Functions (minimum final grade of 70% is required)
- Calculus and Vectors (minimum final grade of 70% is required)
- Chemistry (minimum final grade of 70% is required)
- Physics (minimum final grade of 70% is required)
- English (ENG4U) (minimum final grade of 70% is required)
- Experience in a programming course (such as Grade 11 or 12 computing and/or information science or equivalent) or self-study and a demonstrated interest in solving open problems, debugging code, testing code, and learning new software languages.
- Admission average: Individual selection from the low to mid-90s
Career Opportunities
Graduates of the Software Engineering program at the University of Waterloo have a wide range of career opportunities available to them. Some possible career paths include:
- Software Engineer
- Software Development Engineer
- Software Developer
- Innovation Specialist
- Web Development Engineer
- Senior Software Engineer
Student Life
The University of Waterloo has a vibrant community of students, with a wide range of extracurricular activities and clubs available. Some examples include:
- Student design teams
- Engineering Society (EngSoc)
- Women in Engineering
- Campus-wide activities
Faculty and Research
The Faculty of Engineering at the University of Waterloo is home to a diverse range of research areas, including:
- Artificial Intelligence
- Human-Computer Interaction
- Software Engineering
- Computer Science
The faculty is committed to providing students with a comprehensive education in software engineering, as well as hands-on experience in the field. The university is also home to a number of research centers and institutes, including the Waterloo Artificial Intelligence Institute and the Centre for Computational Mathematics in Industry and Science.
