Computer software

The following faculty members participate in research related to computer software:

Software systems are increasingly critical in today's civic infrastructure: software is responsible for a great number of recent technological advances, ranging from embedded systems up to Google-scale Internet infrastructure. Research in computer software aims to develop new techniques for designing and implementing software systems. Computer software makes up of part of information and communication technologies (ICT), which are widely acknowledged as an important area; Ontario's Innovation Agenda includes ICT, and ICT has consistently been a focus area for NSERC's Strategic Project Grants. Key sub-areas include operating systems, embedded systems, software engineering (particularly formal verification and static analysis), distributed systems, and computer security. The ECE department at the University of Waterloo has strength in all of these areas and continues to grow. Because of the ubiquity of computer software, visiting researchers and graduate students gain experience with cutting-edge techniques which are indispensable to today's industry.  Our graduate students develop skills that enable them to work on industrial codebases at places like Google and Microsoft.