Software Engineering degree
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.
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.
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.
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!
Learn more
Questions about courses, programs, requirements, or careers?
Please contact the Faculty of Engineering which can answer any questions you have.