Software Engineering

Because today, even your fridge is full of software

Whether you want to create a VR training program for surgeons, the next "swipe right" dating app, or an autonomous car, software engineers have endless career options in today’s tech-enabled world.

At Waterloo, you won’t just write code. You’ll also analyze software architecture, apply algorithms, understand digital hardware systems, and design human/ computer interfaces. Plus, you’ll learn how to work in teams and manage projects, all while being taught by one of the best universities on the planet for software engineering (Shanghai World University Rankings 2020).

Then, during your co-op, you’ll put those skills to work at leading companies like Snapchat, Facebook, or hot new startups. When you graduate, you’ll be ready to create reliable, affordable, and faster software for all kinds of different purposes.

Study in a high-tech hub

Waterloo Region is home to Google, Blackberry, and more than 1,000 other technology companies, providing lots of co-op and career opportunities.

Calling all hackers

Bring your ideas to life at Hack the North — Canada’s biggest hackathon — which attracts more than 1,000 students from around the world each year.


Why Waterloo Engineering?

With its renowned co-op program and a supportive entrepreneurial ecosystem, Waterloo Engineering is one of the world’s top engineering schools. You'll have access to emerging technologies, innovative professors, and world-class facilities.

"2nd" icon purplein Canada for engineering (US News & World Report 2019)
briefcaseGain two years of experience in the co-op program
Money flowerStudents earn $13,300 on average per co-op term

Software Engineering admission requirements

Ontario students: 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)

Grade 11 U Introduction to Computer Science and Grade 12 U Computer Science are recommended as helpful background for the program.

Admission averages: Individual selection from the mid-90s

Complete the Admission Information Form once you've applied. You will be asked to explain your programming experience.

Experience in developing well-structured, modular programs is required.

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.

Not studying in Ontario? Search our admission requirements.


Get tips from Waterloo students

Sign up for insider advice that can help you now and in the future. Topics include

  • tips for a successful senior year of high school,
  • how to choose a university program,
  • differences between high school and university, and more.

First-year courses

September to December

  • CS 137 - Programming Principles
  • ECE 105 - Classical Mechanics
  • 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

January to April

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

After first year

Sample upper-year courses

SE 212 – Logic and Computation
SE 464 – Software Design and Architectures
SE 350 – Operating Systems
SE 465 – Software Testing and Quality Assurance


GearsOffered through the Faculty of Engineering and the Faculty of Mathematics

clickApply directly to this program on your application

grad capEarn a Bachelor of Applied Science degree


Co-op = relevant paid work experience

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 job titles

  • Tools and automation engineering intern
  • Data scientist
  • Mobile developer
  • Software developer
  • iOS developer
  • Production engineering
  • Algorithims engineering

Sample co-op employers

  • Mozilla Corporation
  • Bloomberg
  • LinkedIn
  • Waterloo Regional Police Service
  • Element AI
  • ContextLogic

What can you do with a Software Engineering degree?

Graduates often pursue careers in software engineering and development, consulting, and more. They commonly work for financial institutions, technology companies, and software corporations.

Recent graduates

  • Software Engineer – Microsoft
  • Software Development Engineer – Amazon
  • Software Developer – Electronic Arts (Canada) 
  • Software Engineer – Google 
  • Innovation Specialist – Telus
  • Web Development Engineer – Amazon
  • Senior Software Engineer – Uber Technologies 

Possible professional designation

Learn about the future of careers in engineering.

Ready to learn more?