1.3. Program objectives and plans
Outline the objectives and the future plans of the program being evaluated in the context of the engineering unit and the institution as a whole. It is recommended that you limit your response to one-page or 500 words.
Overview and Objectives
The Software Engineering Program is collaboratively administered by the Faculty of Engineering, primarily through the Department of Electrical & Computer Engineering, and by the Faculty of Mathematics, primarily through the School of Computer Science. The program is officially supported on a 50/50 basis by the two faculties, but with the Faculty of Engineering taking leadership on matters related to the Engineering profession. The program admitted its first students in the fall of 2001, and approximately 1200 students have graduated from the program since then, receiving the Bachelor of Software Engineering (BSE) degree. For most purposes, students in the program are students in both academic units and both faculties. The program’s technical requirements include a solid foundation in engineering, mathematics, computer science, and natural science. Software engineering courses build on this foundation and introduce disciplined development processes, technical documentation, software design principles, project management, and quantitative analysis. Non-technical requirements include teamwork and up to two years of co-op work experience. The program combines Computer Science software expertise with Engineering philosophies, principles, and practices, to form a systematic and disciplined approach to the creation, operation, and maintenance of software systems.
[omitted description of SE Board]
Future Plans
The fifteenth Waterloo Software Engineering class will graduate in the spring of 2020. The program has now reached a mature state, and no major changes are planned for the near future. The program continues to show sustained high demand, allowing us to select from a pool of excellent applicants. The Software Engineering Board and Curriculum Committee continue their ongoing work to improve the quality of the curriculum and its delivery. Since the previous accreditation, we have implemented the Graduate Attributes and Continual Improvement processes for the assessment of program outcomes. As documented in Section 3.5, the program continues to receive strong support from both faculties, including the hiring of new faculty members in areas central to the program.
Briefly describe the current strengths and opportunities for improvement for the program. It is recommended that you limit your response to one-page or 500 words.
Co-operation between Electrical & Computer Engineering and Computer Science
A major strength of the program stems from the close co-operation between Electrical & Computer Engineering and Computer Science. The program originally evolved from a successful Software Engineering Option, started in the fall of 1995, which was jointly developed and delivered by the two units. At the same time, the software engineering research groups in the two units supported each others' infrastructure grants, shared graduate labs, and attended each others' research seminars. Because of this history of working together, the two units developed a solid relationship that spans all levels (undergraduate, graduate, research, and administration). Both units continue to have a healthy and cooperative relationship, which helps to keep morale high among faculty, staff, and students. To prevent problems that might arise in a program supported 50/50 by different units in different faculties, the relationship must be actively managed. Managing this relationship on a day-to-day basis provides a major task for the Director of Software Engineering. The Director regularly attends faculty-level and unit-level meetings in both faculties, and routinely interfaces with undergraduate administrators in both units.
Co-operative education
Co-operative education is a major strength of all engineering programs offered by the University of Waterloo. During the course of their degree students spend at least five (and typically six) four-month terms working in the Software Engineering field, providing up to two years of employment experience prior to graduation. Students often work on challenging software development problems, providing substantial requirements analysis and software design experience. Employers have included organizations across the spectrum of software development activities, including on-line services, finance, and mobile. Other employment comes from research and teaching opportunities within the university itself. Opportunities for co-op employment are good. At the first-year level, co-op placement rates for Software Engineering have been over 99% for three of the last four years (97.6% in 2017). By second year, co-op placement rates are close to or at 100%.
Women in Software Engineering
The number of women in Software Engineering classes is approximately 21%. Both the Faculty of Engineering and the Faculty of Mathematics have programs in place that are intended to increase the number of women at all levels, including scholarships and mentoring programs for current and future undergraduates. In addition, the Software Engineering program provides funding for events organized by women in Software Engineering and travel support for women attending networking events external to the university. Details on Waterloo's Women in Engineering program can be found at https://uwaterloo.ca/women-in-engineering. Details on Waterloo's Women in Computer Science program can be found at https://cs.uwaterloo.ca/wics.