Difficult Decisions

All admission decisions have been made for Fall 2019 for Waterloo Engineering.  By now, all applicants should know if they have been offered admission to Waterloo Engineering and they should know if they are receiving scholarships.  If you are an applicant, hopefully you have received very good news.  We are currently preparing for You@Waterloo Day being held this Saturday.  Our welcome banner has already been hung on South Campus Hall to welcome our future warriors.


The process of selecting students is incredibly difficult.  This is especially true for Waterloo Engineering since we do not simply use a cut-off system where top averages are selected for admission without consideration of other factors.  Much time was spent reviewing Admission Information Forms and online video interviews in an effort to find exceptional future students.

By February 20th, we had received over 11,289 applications to just 1,699 available spaces.  In other words, we had 6.6 applications per available space.  For high demand programs such as Software Engineering, the competition was fierce.  As an example, we had 9.4 applications per available domestic space in Software Engineering and 30.4 applications per available visa space in Software Engineering.  We had 124 available spaces in Software Engineering and 198 applicants with averages in excess of 97.0% this year.  For Software Engineering, programming experience was an important consideration for admission this year.  Successful Software Engineering applicants often had several years of practical programming experience, knowledge of several programming languages, and a track record of success in programming.

The final round selection process took about two weeks from start to finish.  This time was necessary to perform individual selection in highly competitive programs such as Software Engineering, Biomedical Engineering, and Mechatronics Engineering.  The total time was slightly longer than it was supposed to take but quite reasonable given the large number of applications to consider for each program.  I recognize that delays increase the stress of applicants, their families, and the many staff members working in admission roles.  It is certainly not our intention to induce stress.  I would like to thank everyone for their patience throughout the admission process.

Now that our difficult decisions have been made, applicants face a June 3rd deadline for making their difficult decisions.  I am sure that some applicants and their families are very concerned about making the right decision.  The important thing to remember is that you can’t really make a terrible decision with respect to attending university for engineering programs.  All engineering schools in the Province of Ontario have accredited programs.  Regardless of which engineering school you attend, you will get a great education.  Regardless of which engineering program you choose, you will have great career prospects.  There really is no wrong decision to make in most cases with one possible exception…

If you already know that the program you have been offered is not a good fit for you, don’t accept the offer!  Accepting an offer to a program you are unhappy taking will only lead to a year of misery and likely very few options at the end of the year.  If accepting an offer of admission to a program does not excite you in any way, don’t accept the offer.  You need to be motivated to succeed in a university program, particularly an engineering program.  The workload is much higher in university and there are many demands on your time.  If you do not enjoy some portion of the work you will be doing, you will not do well.

If you are undecided on whether you will like the program you have been offered, don’t worry!  Choosing the wrong university or the wrong university program is a mistake that can be fixed with some hard work.  The consequences are reversible so you should not fear making a poor decision.  At most, you might spend one year of your life realizing that another path is a better one for you.  In fact, you might even learn some valuable skills along the way.  A few of our future warriors initially chose a different path but they have been accepted (a year later) to pursue Waterloo Engineering starting in the Fall.  So relax, take some time to think about it, and know that whatever choice you make with respect to university programs, it will likely be okay.

One thing to keep in mind is that once you choose a university program, transferring into another university program is not always an easy process.  You will need to get good marks (80% or greater) in your current program and you will need to be willing to start over.  Transferring into engineering from another faculty can be a difficult challenge.  Some applicants mistakenly believe that they will be able to easily transfer into a different program if they make the “wrong” choice.  Transfers are difficult, but not impossible, to obtain.  Obviously, transfers into high demand programs such as Software Engineering, Biomedical Engineering, or Mechatronics Engineering are extremely rare.

Rather than transfer programs, a better approach is to customize your university program to your liking.  Most university programs offer access to elective courses, options, and minors that allow you to specialize in other areas while completing your major.  For example, you do not need to be a Software Engineer to study programming.  In fact, many of our engineering students have programming duties in their co-op jobs, regardless of their chosen discipline.  You do not need to be a Management Engineer to study management sciences.  You simply need to have a desire to learn the topic and a schedule that fits the classes you wish to take.  Before giving up on a program, think about ways you might be able to make it work.

In the media, you often read simplistic advice that suggests you should follow your passion.  While there is some truth to this message, it is important to realize that what people really mean is that you should choose a path that allows you to pursue your passion.  You do not need to be passionate about everything you do in life to be successful.  You just need to pursue a path that allows you to do the things you are passionate about and that the positives outweigh the negatives.  You won’t like every class you take in university.  You won’t like every aspect of your co-op job.  But if doing a few things you dislike will allow you to do the things you are passionate about, you will always find a way to succeed.

Sometimes, students ask me why we don’t teach how to write computer games or mobile application development as a core part of Computer Engineering.  My response is always the same…

At university, we teach you the things you need to study that you wouldn’t otherwise study.  We need to teach you Calculus and Physics because these subjects are important and I know very few Computer Engineering students who would willingly rush home at night to study these subjects.  I do know many Computer Engineering students who willingly self-study writing computer games or mobile application development.  The role of a university program is to ensure that you receive the breadth and depth of education necessary to succeed in life.  We teach you the things you need to know that you don’t already know or can’t easily learn elsewhere.  It won’t always be fun but it will always be educational.

Tomorrow, I will be on campus for You@Waterloo Day to answer your questions.  For our future warriors, you might want to know that our W Store which sells university apparel will be open from Noon to 4:00 pm.  It will be a great opportunity to have your parents buy you a hoodie, a pair of track pants, and a backpack for the Fall term.  Also, don’t forget to check out our residences so that you can decide how to prioritize your residence selection.  I look forward to seeing some of you tomorrow.

17 thoughts on “Difficult Decisions”

  1. Hello Professor Bishop,

    I was wondering how many people got accepted into Biomedical Engineering and how many applicants there were this year?

    Thank you!


    1. The Biomedical Engineering program had a target of 80 domestic students and 10 visa students for a total of 90 students. At last count, 923 people applied to the program.


  2. Hey Professor,
    I know you are winding down from a busy day of excited high school students but was wondering if you could answer some questions.

    1. You mentioned Software, Biomedical, and Mechatronics Engineering as your chosen high demand programs. Does that mean that Mechatronics is now a tier 1 Engineering program at the university of Waterloo?

    2. How many applicants applied to Mechatronics Engineering this year, and for how many spots?

    3. If my average drops below 95% will my scholarship be dropped?


    1. 1. Mechatronics has always been a program that attracts a strong applicant pool. I would say that the competitiveness of the Mechatronics Engineering program is currently very similar to that of the Biomedical Engineering program. The Software Engineering program remains the most competitive program.

      2. Mechatronics had 1,122 applicants when last analyzed. This figure does not include University of Waterloo students requesting internal transfers so the actual figure is slightly larger. We had a target of 190 domestic students and 30 visa students for a total of 220 students.

      3. For our scholarship grid awards (President’s Scholarship of Distinction, President’s Scholarship, and Merit Scholarship), we use our decision average at the time of admission to award scholarships. If your average drops after we make a decision, you will not be penalized. However, if your average improves, we do top up your scholarship to the level you have earned. More information can be found on the following website.


    1. My spreadsheet shows 923 applicants to the Biomedical Engineering program when the application data was last analyzed. This figure does not include transfer applications from within the University of Waterloo so the actual number may be higher. The applicant pool was strong. Some highly-qualified applicants were refused admission to the program.


  3. Hello Mr. Bishop,

    First of all, thank you for sharing such an insightful post! I am currently in grade 11 and am very interested in Software Engineering at Waterloo. You mentioned that 194 applicants had over 97% – does this consider the adjustment factor? Also, do you think putting a link to our GitHub profile, to show additional programming experience, on our AIF is a good idea? And finally, how would an admissions officer verify the validity of a programming experience stated (since anyone could just simply say, “I have been programming in Java for 3 years”)?

    Thank you for your time


    1. The 97% figure represents the admission average from high school without any adjustment factor applied.

      Links to GitHub can sometimes be beneficial when applying. One applicant had an extensive GitHub repository with several years worth of commits to multiple projects. I briefly scanned the projects to get an idea of the coding that the applicant had performed. I could see the applicant’s progression from simple projects to much more involved ones. Based on what I observed, I was confident that the student would be a good fit for our program.

      A few applicants had links to apps that I tested out. Other applicants had YouTube videos of their programs executing. I tried to review all materials provided including any links to work provided. Many applicants were accepted without providing links to their work but those that provided links often made my task of selecting applicants easier.

      Obviously, we cannot validate every comment on an AIF but we can often validate significant claims. For example, competition results are publicly available and easy to validate. Participation in computer engineering and computer science courses can be validated easily as well. I did a fair amount of validation of significant claims. I also did some research into schools that were less familiar to our admissions team.


  4. Hey Professor Bishop,
    How many students applied to mechatronics this year and for how many available spots?


    1. Mechatronics had 1,122 applicants when last analyzed. This figure does not include University of Waterloo students requesting internal transfers so the actual figure is slightly larger. We had a target of 190 domestic students and 30 visa students for a total of 220 students.


  5. Hi Professor Bishop! I was wondering if you had any advice on choosing between computer science and engineering? Both can end up having the same software jobs in the end. I heard that engineers think fundamentally differently than computer scientists. Wanted to hear your thoughts on whether all the breadth requirements are worth it?


    1. First, let me say that the University of Waterloo’s computer science and software engineering programs are both outstanding. They often lead to similar career paths immediately after graduation. Some courses and course instructors are common to both programs. In general, you won’t make a bad mistake choosing either program.

      The software engineering program is a cohort program. This means that you will be in a classroom that seats your entire class of software engineering students. With the exception of elective courses, you will be with the same students all day long. The computer science program is not a cohort program. You take courses towards your degree requirement but there is no guarantee that you will take the same courses as your friends in computer science. Even if you take the same courses, you might be scheduled into different classrooms at different times due to the size of the computer science program.

      Speaking of the size of the program, our target for the software engineering program was 124 students. For computer science, the target was 335 students for the computer science co-op program and 10 students for the computer science regular program. Clearly the software engineering is a smaller program. If your goal is to establish a large network of friends, computer science may be a slightly better choice. If your goal is to establish a tight network of friends, software engineering might be a slightly better choice.

      The computer science program is clearly the more flexible program in terms of course selection. The software engineering program requires a solid foundation in engineering including an understanding of other engineering disciplines so there are more required courses in the software engineering program. For students who like flexibility, computer science may be a better choice. For students who struggle with making decisions about course selection, software engineering may be a better choice.

      There are some application domains that are slightly better suited to computer scientists and others that are slightly better suited to software engineers. I would say that computer science is clearly a better choice for anyone interested in developing videogames or working on next-generation algorithms for computer graphics. I would say that software engineering is clearly a better choice for anyone interested in engineering applications of software including computer-based control systems, autonomous vehicles, and embedded software systems. Companies that build software systems that control medical systems, avionics, our autonomous vehicles likely prefer to hire software engineers as they would likely have a slightly better understanding of the physical systems being controlled and they would like use a mindset that ensures the development of highly-reliable systems.

      I would agree with the statement that software engineers think about problems a bit differently than computer scientists. In our software engineering program, our students are taught to methodically approach the solution of problems. Our students are also taught to think about the ethics of their software and the potential hazards posed by their software. We also have our students pay significant attention to understanding customer requirements. Computer science students may be exposed to such thinking as well but it is not necessarily core to their program. For example, ethics is core to software engineering but it is an elective to computer science students.

      In theory, software engineers have access to all of the courses offered by both the School of Computer Science and the Electrical and Computer Engineering Department. In practice, schedules might prevent taking certain electives from either area. Computer science students might have slightly more flexibility for taking electives from the two areas. Software engineers will be able to easily access electives from other engineering disciplines that might be slightly less acceptable to a computer science student.

      In the past, the tuition fees for software engineering were much more than the fees for computer science but this is not true this year for visa students and I am not sure how it works out for domestic students. Computer science allows students to take extra courses in a term. If this is done with care, it may be possible to graduate a term earlier allowing a student to save on tuition fees.

      On the transfer side, in previous years, students have successfully transferred out of software engineering into computer science. The opposite is not true. A student transferring from computer science into software engineering must start in the 1A (first) academic term. Part of the reason for the difference is that software engineering is accredited by the Canadian Engineering Accreditation Board so students must be taught engineering by engineers. The computer science program is also accredited but not by the same body. A computer science student will not receive an iron ring in their final term of studies. A software engineering student receives an iron ring in recognition of their commitment to protecting the welfare of society. A software engineering student may also elect to become a registered professional engineer after graduation by fulfilling experience and testing requirements. The path for a computer scientist to become a registered professional engineer would be a very long and difficult path with many examination requirements.

      The choice of program is largely a personal preference. If you like understanding how engineering designs work and you like writing computer software, software engineering is a great choice. If you prefer to just write computer software, computer science is a better choice. Put another way, 3 times as many students choose computer science over software engineering at the University of Waterloo. The software engineering path is the path less travelled. If I were choosing, my preference would be software engineering but I am not representative of all applicants.


      1. How would you compare it with systems design engineering? Thank you so much for answering my question in such a detailed way 🙂


      2. The systems design engineering program is substantially different from both software engineering and computer science. Systems design engineering does not focus on software development. While programming is taught to systems design engineering students, it is just one of many skills a systems design engineer student may master. Some people have the mistaken impression that systems design engineering is another variation of a software engineering program but this simply is not the case. While it is true that some graduates of systems design engineering have gone on to found very large software companies, alumni of the program may work in a variety of industries. Systems design is probably best known for producing alumni such as William Tatham (founder and CEO of Janna Systems), John Baker (founder and CEO of Desire2Learn), and Eric Migicovsky (founder and CEO of Pebble Technology).

        In general, applicants considering systems design engineering should have a strong desire to learn how to design things well. Students will learn about the human machine interface, human factors, ergonomics, software development, hardware development, mechanical design, engineering ethics, and many other areas relevant to the design of modern day engineering systems. Artificial intelligence and machine learning are an active area of interest within the systems design engineering community. Students may also take courses in biomedical engineering from within the systems design engineering program. Completion of the systems design engineering program requires a strong knowledge of Calculus and Physics.

        Admission to systems design engineering is highly selective. The class size is intentionally one of the smallest in Waterloo Engineering to preserve the highly-specialized feel of the program. The admission information form plays a significant role in the selection of students for this highly-specialized program.


  6. What sort of skills do we have to learn to get Coop for Computer engineering. I know many programming languages but just don’t know how to apply it in real life. I am learning web development online as well as Android dev. How can I increase chance of getting coop at Waterloo?


    1. The first co-op job is the hardest to get since most students lack practical work experience in their field of study. There are a few things you can do to improve your chances of finding your first co-op job quickly. First, you should try to get some work experience (any job will do) in the summer prior to coming to university. Look for a job with transferrable skills (e.g., communication skills, leadership skills, team work, safety training, etc.). Second, you should spend some time developing your computing skills (e.g., programming knowledge, development tools, Word, Excel, Powerpoint, etc.). Most students think they know tools such as Word and Excel but they really only know the bare essentials of the tools. There are many good online videos on YouTube that will help you improve your computing skills. Knowledge of a programming language such as Python will be an asset. Third, spend some time working on your résumé. A good one page résumé takes quite a bit of time to develop. You will find some good information online at the careerhub.uwaterloo.ca website once you can access it.


Comments are closed.