Software Engineering

Because today, even your fridge is full of software

Software Engineering students at the University of Waterloo.

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.

Program highlights

  • Dream big. Use computer programming and engineering problem-solving to create usable, reliable, and efficient software. Apply your skills during co-op terms at some of the biggest tech companies in Silicon Valley or create your own tech start-up.
  • Study in a high-tech hub. The Waterloo region is home to Google, Shopify, and more than 1,500 other technology companies, providing lots of co-op and career opportunities.

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.

What will you learn?

During your first year, you'll take a mix of foundational courses in Software Engineering, Computer Science, and Math. In upper years, you'll mostly take Software Engineering courses. 

Learn more about the courses you'll take for your Software Engineering degree.

Get tips from Waterloo students

Join our monthly newsletter for tips such as choosing a university program, life at Waterloo, and finances.

Questions? Ask a student!

Ask a Faculty of Engineering student about their program, classes, getting involved on campus, and more!


megaphone icon"The biggest benefit of co-op is living in different environments and experiencing new things. I enjoy the change of pace and it serves as a nice break from school, while also teaching me about topics that cannot be taught but experienced."Danny, second-year Software Engineering student

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

Not studying in Ontario? Search our admission requirements.

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.