As someone who deals with a lot of layered architecture in software engineering, I often like to interpret SE curriculum in 3 layers — Lower years, Middle years, and Upper years, corresponding to Foundation, Transition, and Specialization Being the best and the most competitive tech program in Canada, Waterloo SE…