Software Engineering

Program | Software Engineering or Computer Science? | Co-opSoftware Engineering Portal | Graduate Studies

Program

The Software Engineering program combines computer science expertise with engineering processes, practices, and design patterns that aim to improve both the productivity of software developers and the quality of the software product. This knowledge and skillset is necessary for developing safety-critical software (e.g., medical devices, automotive, aeronautical, telecommunications) and is useful in traditional software industries.

You will explore the full gamut of software development activities, from determining what software should be built, to considering design trade-offs and rationale, to assessing the finished product. Along the way, you’ll gain experience thinking about not just whether software works, but whether it is efficient, maintainable, and ready for real-world use.

Differences between Computer Science and Software Engineering

If you are considering enrolling in Software Engineering, Computer Science, or both, chances are you've stopped to wonder about what makes these programs different or the same. To determine which program is right for you, you need to consider your fit.

  Software Engineering Computer Science
Similarities

Graduates will have similar career outcomes as they will have many of the same core competencies from their program.

Differences
  • Focuses on software and hardware including software-controlled systems (Control Theory) that read inputs from sensors and compute outputs that control a machine (e.g., robots, autonomous vehicles)
  • Requires prior programming experience
  • Offers a structured program with few choices of electives that leads to a professional designation
  • Co-op only — graduate in five years
  • Larger emphasis on team work for assignments
  • Camaraderie of a cohort that progresses through the program together
  • Focuses on software systems that input, output, and process data (Computer Science)
  • No prior programming experience required
  • Many more choices in courses, electives and minors
  • Regular or co-op - graduate in four or five years
  • More choice on individual or team work for assignments
  • No cohort system - Larger community from which to build your network and friend groups

Co-op

You will be required to satisfy five to six work terms over the course of your studies if doing Software Engineering or Computer Science co-op. The co-op sequences available to Software Engineering students and Computer Science students are different with computer science's sequencing being more flexible and more interchangeable than the Software Engineering sequences due to the nature of the frequency and offering of when required courses are scheduled.

Year 1 Year 2 Year 3 Year 4 Year 5
F W S F W S F W S F W S F W
1A 1B * 2A * 2B * 3A * 3B * 4A * 4B

Software Engineering Portal

Visit our Software Engineering Portal for more information on the Software Engineering program.

Graduate studies

Following your undergraduate degree, you can continue your studies in  graduate school or pursue your professional designation.

At Waterloo, you can pursue a Master of Mathematics (MMath) with a specialization in Computer Science with the option to fast track your studies in fourth year with our accelerated master's program.

You can also work towards your Professional Engineering designation (PEng). You can use 12 months of your co-op experience to count towards your hours.