Software Engineering degree

Two Software Engineering students work on a project together

Because today, even your fridge is full of software

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 22nd in the world for research performance, EduRank 2024).

Then, during your co-op terms, 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.

What courses will you take in Software Engineering?

First-year courses

You'll take courses in math, programming, digital logic, and software design— building a strong foundation in algorithms, problem-solving, and computer systems.

September to December

  • CS 137 – Programming Principles
  • CHE 102 – Chemistry for Engineers
  • 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 124 – Digital Circuits and Systems
  • ECE 140 – Linear Circuits
  • MATH 119 – Calculus 2 for Engineering
  • SE 102 – Seminar
  • ECE 192 – Engineering Economics and Impact on Society
  • Communication elective

This is a sample schedule. Courses are subject to change.

After first-year

  • Your upper-year courses will cover data structures, algorithms, operating systems, databases, user interfaces, and large-scale software engineering, with team projects that mirror real-world software development.

  • View all the courses required for your degree.

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

Customize your degree in Software Engineering

Explore specializations within your program to enhance your degree.

  • Artificial Intelligence – Build smart systems that learn, reason, and solve complex problems using AI and machine learning techniques.
  • Business – Combine software skills with business knowledge to create technology solutions that drive innovation and success.
  • Computational Fine Art – Explore the creative side of computing by blending art, design, and technology to make interactive digital experiences.
  • Human-Computer Interaction – Design user-friendly software and devices that make technology easy and enjoyable for everyone.

Or choose one of the options available to all engineering students.

Faculty:
Faculty of Engineering and Faculty of Mathematics

Degree:
Bachelor of Software Engineering

Available as a co-op program?
Co-op only

Available as a regular program?
No

Available as a minor?
No

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.

Co-op = relevant paid work experience

In the world's leading co-op program, you'll 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.

There are two options for co-op sequences. Your first work term will be at the end of first year (May to August 2027). You will automatically be placed in sequence one, but you can request to change your sequence in your upper years.

Sequence one

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 Co-op
Fifth Study Study -

Sequence two

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 Study Co-op
Fifth Co-op Study -

Cracking the code: Follow Joseph's journey of tackling real-world challenges, automating workflows, and mastering the art of communication through code.

Learn more about co-op →

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.

Common questions about the program

What's the difference between Computer Engineering, Software Engineering, and Computer Science?

Computer Engineering, Software Engineering, and Computer Science are all crucial fields in the realm of computing and technology. While they share some commonalities, each has its own distinct focus and applications.

  • Computer Engineering integrates electrical engineering and computer science to develop computer hardware and software. It focuses on the design, development, and testing of computer systems and components. The focus is on the design and development of computer hardware and the integration of hardware with software. This program is ideal if you're interested in electronics and computer systems.
  • Software Engineering is concerned with the design, development, testing, and maintenance of software systems. Topics include software design, software development methodologies, testing, quality assurance, project management, and user experience design. The focus is on applying engineering principles to software development. Software engineering is best if you're interested in creating reliable and efficient software solutions and managing software projects.
  • Computer Science is primarily concerned with the theoretical foundations of information and computation. It focuses on algorithms, data structures, software development, and the principles of computer operation. The focus is on the theoretical and mathematical foundations of computing. This area of study is ideal if you're interested in algorithms, programming, and the theoretical aspects of computer systems.

How is the software industry being impacted by AI? Will there still be jobs for software engineers?

AI is the latest in a long line of tools that have transformed how software is developed — from version control systems to automated testing and continuous integration. Today, many software engineers use AI tools to write, test, and debug code more efficiently. While some routine tasks are becoming automated, this evolution allows engineers to focus more on system design, architecture, and solving complex problems.

The demand for professionals who can build, integrate, and manage AI-powered systems is growing. At Waterloo, Software Engineering students are already learning to use AI tools, alongside established technologies like GitLab and relational databases, preparing them to thrive in a rapidly evolving industry where human insight and creativity remain essential.

Student life in Engineering

Waterloo Engineering goes far beyond lectures, with a vibrant community that works hard and plays even harder. Sing in an a cappella group, join a varsity or intramural team, compete in design challenges or hackathons, volunteer, or lead a student society! Whatever your interests, you’ll be in good company.

  • 96% employment rate within 6 months of graduating, compared to the Ontario average of 89% for Engineering students. 
  • 90% graduation rate, higher than the Ontario average of 82%.
  • 95% retention rate from first to second year.

Student design teams

Have fun and develop hands-on experience through one or more of our 35+ student-led design teams!

Design teams include rocketry, concrete canoe, small airplanes, robotics, solar car, submarine racing, autonomous vehicle, Engineers Without Borders, and more.

Engineering Society (EngSoc)

EngSoc is run by students and provides social and academic events and services to make your experience as a Waterloo Engineering student the best it can be.

Benefit from mentoring for first-year students or meet other students through an annual conference, semi-formal, career fair, charity events, community outreach, and much more!

Women in Engineering

Women in Engineering (WiE) supports women and non-binary engineering students and alumni, while encouraging the next generation to pursue a future career in engineering

Any student is also welcome to join Women in Science, Technology, Engineering, and Mathematics (WiSTEM), a student-run club that promotes equality in STEM through skills workshops, discussions, and guest speakers.

Campus-wide activities

Our campus is packed with opportunities to get involved – no matter how unique your interests.

Between our 200+ student-run clubs, sports and recreation opportunities, student government, and events, student life at Waterloo has something for everyone.

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)

You're required to have experience in a programming course (such as Grade 11 or 12 computing and/or information science or equivalent) or self-study and a demonstrated interest in solving open problems, debugging code, testing code, and learning new software languages.  

Admission average: Individual selection from the low to mid-90s

Not studying in Ontario?

Search our admission requirements.

How to apply

Apply directly to this program on your application.

There are supplementary information forms, including the Admission Information Form, which are required for admission. We'll email you detailed instructions once we receive your application. Online interviews are required for Software Engineering admission and for Faculty of Engineering scholarships.

Get information about programs, applying, and more!

Subscribe to our monthly newsletter

Get valuable updates and tips sent straight to your inbox!

Your date of birth is collected to confirm your identity and to match your details with a current or future application to Waterloo, if applicable. This information will be used solely for this purpose.
Optional newsletter content
I agree that the University of Waterloo may send me emails.
(You can change your preferences or unsubscribe at any time.)
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Learn more

Questions about courses, programs, requirements, or careers?

Please contact the Faculty of Engineering which can answer any questions you have.