Information for

Software Engineering at Waterloo

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.

Female student working on laptop

Through co-op, Software Engineering students work at leading software design firms even before they graduate.

Admission requirements

  • 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:

First-year courses

September to December

CS 137 - Programming Principles
ECE 105 - Physics of Electrical Engineering 1
MATH 115 - Linear Algebra for Engineering
MATH 117 - Calculus 1 for Engineering
MATH 135 - Algebra for Honours Mathematics
SE 101 - Introduction to Methods of Software Engineering

January to April

CS 138 - Introduction to Data Abstraction and Implementation
ECE 106 - Physics of Electrical Engineering 2
ECE 124 - Digital Circuits and Systems
ECE 140 - Linear Circuits
MATH 119 - Calculus 2 for Engineering
SE 102 - Seminar

What other courses will you take?


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 Winter Spring
First year School School Co-op
Second year School Co-op School
Third year Co-op School Co-op
Fourth year School Co-op School
Final year Co-op School  

Fall = September to December, Winter = January to April, Spring = May to August
School = 4-month school term
Co-op = 4-month co-op work term


Recent graduates

  • 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.

Possible professional designation

Learn more about Software Engineering