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 innovative OS, or tomorrow’s fleet of autonomous vehicles, 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 within one of the best universities in the world for software engineering (ranked 19th in the world for research performance, EduRank 2023).

Then, during your co-op, you’ll put those skills to work at leading companies 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 Canada and 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 computer 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!


Co-op = relevant paid work experience

Waterloo's co-op program, the largest in North America, is an amazing way to explore potential careers, learn to interview for jobs, graduate with up to two years of valuable experience – and make money!

Sample co-op job titles

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

Co-op work-study sequence

Starting in first year, you'll normally alternate between school and work every four months, integrating your classroom learning with real-world experience. You can return to the same employer for a couple of work terms to gain greater knowledge and responsibility or work for different employers to get a broad range of experience.

Year September to December (Fall) January to April (Winter) May to August (Spring)
First Study Study Co-op
Second Study Co-op Study
Third Co-op Study Co-op
Fourth Study Co-op Study
Fifth Co-op Study -

Your first work term will be at the end of first year (May to August 2025).

Learn more about co-op →


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)

Experience in developing well-structured, modular programs 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 low to mid-90s

Not studying in Ontario? Search our admission requirements.

Complete the Admission Information Form (AIF) once you've applied.

Participation in a programming contest, such as the Canadian Computing Competition, is helpful to include on your AIF.

You’re also encouraged to write the Euclid Mathematics Contest as good background; however, this will not affect your application to Software Engineering.


How to apply

Apply directly to this program on your application.

Learn more