Derek Rayside

Associate Professor, Director for Software Engineering
Derek Rayside

Contact information

Phone: 519-888-4567 x40248
Location: E7 5426


Derek Rayside

Biography summary

Derek Rayside is an Associate Professor in the Department of Electrical and Computer Engineering, the Director of Software Engineering and is cross-appointed to the School of Computer Science at the University of Waterloo. He is the Faculty Advisor for Watonomous, the autonomous vehicle student design team in the SAE AutoDrive Challenge, and the Software Engineering (SE) Capstone Coordinator. Professor Rayside also taught the inaugural SE Ideas Clinic Activity in the Fall 2018 term.

His research interests include software engineering, lightweight formal methods, visualization, verification, specification, programming languages, static and dynamic program analysis, and software design extraction or reverse engineering. Additionally, Professor Rayside’s interests also include: engineering design – comprised of decision support, design evolution and multi-objective optimization, autonomous vehicles, and blockchain, specifically verification of Smart Contracts.

He has published in venues such as the ACM/IEEE International Conference on Software Engineering (ICSE), the ACM/IEEE International Conference on Automated Software Engineering (ASE), the International Conference on Abstract State Machines, Alloy, B, TLA, VDM, and Z (ABZ), and the ACM International Conference on Generative Programming: Concepts & Experience (GPCE).

Research interests

  • Software engineering
  • debugging
  • lightweight formal methods
  • visualization
  • verification
  • specification
  • programming languages
  • static and dynamic program analysis
  • software design
  • extraction/reverse engineering
  • Engineering Design
  • decision support
  • design evolution
  • multi-objective optimization
  • Cybersecurity
  • Infrastructure integrity
  • autonomous vehicles
  • blockchain, specifically verification of Smart Contracts


  • 2010, Doctorate, Electrical Engineering and Computer Science, Massachusetts Institute of Technology
  • 2001, Master of Applied Science, Electrical and Computer Engineering, University of Waterloo
  • 1999, Bachelor of Applied Science, Systems Design Engineering, University of Waterloo


  • CS 138 - Introduction to Data Abstraction and Implementation
    • Taught in 2022
  • CS 493 - Team Project 1
    • Taught in 2020, 2021
  • CS 494 - Team Project 2
    • Taught in 2021, 2022
  • ECE 351 - Compilers
    • Taught in 2019
  • SE 463 - Software Requirements Specification and Analysis
    • Taught in 2022
  • SE 490 - Design Project 1
    • Taught in 2020, 2021, 2022
  • SE 491 - Design Project 2
    • Taught in 2019, 2020, 2021, 2022, 2023

* Only courses taught in the past 5 years are displayed.

Selected/recent publications

  • Golzarpoor, Behrooz and Haas, Carl T and Rayside, Derek, Improving process conformance with Industry Foundation Processes (IFP), Advanced Engineering Informatics, 30(2), 2016, 143 - 156
  • Safa, Mahdi and Yee, Ming-Ho and Rayside, Derek and Haas, Carl T, Optimizing Contractor Selection for Construction Packages in Capital Projects, Journal of Computing in Civil Engineering, 2016
  • Safa, M and Sabet, A and MacGillivray, S and Davidson, M and Kaczmarczyk, K and Haas, CT and Gibson, GE and Rayside, D, Classification of Construction Projects, World Academy of Science, Engineering and Technology, International Journal of Civil, Environmental, Structural, Construction and Architectural Engineering, 9(6), 2015, 706 - 714
  • RAYSIDE, DEREK and STAFF, ECE351, ECE351 NOTES, , 2014

Graduate studies