At a glance
- Available as a co-op program only
- Starts in first year so apply directly to this program on your application
- Earn a Bachelor of Software Engineering
- Offered jointly by the Faculties of Engineering and Mathematics
About the program
The demand for software engineers has increased dramatically as computer systems have become so common in our everyday lives.
Software engineering is a systematic and disciplined approach to developing software. Your courses will not only include a solid foundation in math, engineering, and computer science, but will also cover the software development process, project management, and technical documentation.
Waterloo's co-op program gives you an edge in the software industry after graduation. You'll graduate with 2 years of paid co-op work experience and earn money to finance your education.
The program, which combines Waterloo's internationally-recognized strengths in Computer Science and Computer Engineering, is accredited by the Canadian Engineering Accreditation Board and the Computer Science Accreditation Council, giving you access to careers in both areas.
- Ontario students: 6 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)
- Recommended courses: Grade 11 U Introduction to Computer Science, Grade 12 U Computer Science
- Admission averages: Individual selection from the low 90s
- Not studying in Ontario? Search our admission requirements database
- Other requirements/recommendations:
- Experience in developing well-structured, modular programs is required. Applicants will be asked to explain programming experience on the Admission Information Form that is required for admission
- Strong performance in a programming contest, such as the Canadian Computing Competition, is helpful
- You're also strongly encouraged to write the Euclid Mathematics Contest
September to December
MATH 115 - Linear Algebra for Engineering
MATH 117 - Calculus 1 for Engineering
SE 101 - Introduction to Methods of Software Engineering
ECE 140 - Linear Circuits
ECE 105 - Physics of Electrical Engineering 1
CS 137 - Programming Principles
January to April
SE 102 - Seminar
MATH 119 - Calculus 2 for Engineering
MATH 135 - Algebra for Honours Mathematics
CS 138 - Introduction to Data Abstraction and Implementation
ECE 106 - Physics of Electrical Engineering 2
ECE 124 - Digital Circuits and Systems
What other courses will you take?
- See the range of courses available in Software Engineering. You can also view a list of the courses you’ll be required to take for your degree.
By alternating school terms and paid co-op work terms throughout your degree, you can explore new career areas and types of employers as your career interests evolve.
Sample co-op positions
- Tools and Automation Engineering Intern, Mozilla Corporation
- Software Developer, Tagged Inc
- Computer and Technical Support, Ontario Ministry of Education
- Fund Analyst, East Coast Fund Management
- Technical Product Manager - Software Design & Development, NexJ Systems Inc
- Software Developer - Member Services Information Technology, Ontario Teacher's Pension Plan Board
- Software Systems Development, Technical Solutions Company
Co-op work/study sequences
Fall = September to December, Winter = January to April, Spring = May to August
- Software Developer, IBM Canada
- Consultant, PureFacts Financial Solutions
- Software Manager, Arius Software Corporation
- Head of Technology and Engineering, Sydus
- Software Engineer, VistaPrint USA
- Implementation Consultant, Desire2Learn
- Software Engineer, Harris Corporation
- Software Developer, Accenture Inc.