Ioanis Nikolaidis, PhD

Professor, Faculty of Science - Computing Science
Associate Chair (Research), Faculty of Science - Computing Science


Professor, Faculty of Science - Computing Science

Associate Chair (Research), Faculty of Science - Computing Science




  • B.Sc., Computer Engineering and Informatics, University of Patras (Greece), 1989
  • M.Sc., Computer Science, Georgia Institute of Technology, 1991
  • Ph.D., Computer Science, Georgia Institute of Technology, 1994



Communication Networks


Networked and Distributed Systems and Protocols, Performance Evaluation, Wireless Sensor Networks, Applications of Sensor Networks.


My research interests include the design and performance analysis of network protocols, and networked distributed systems in general with an emphasis on wireless sensor-based systems. In particular, I am conducting research related to 

  1. specialized medium access, scheduling and routing protocols, 
  2. efficient information extraction and aggregation of sensor data, 
  3. characterization and mitigation of interference in wireless communication environments, 
  4. applications of wireless sensors in localization and tracking, and 
  5. design approaches for energy harvesting to support self-sustaining operation of wireless sensor networks. 

As a side issue, I develop models and specialized simulation environments for the study of such systems. I use as the proof-of-concept environments the various deployments of the SmartCondo (of which I was a founding member) infrastructure, as well as deployments in building and building construction environments.


CMPUT 333 - Security in a Networked World

Authentication protocols, passwords, shared and public key cryptography, network protocol and network services security, firewalls, malicious code, vulnerability identification, intrusion detection, wireless security. Prerequisite: CMPUT 201 or 275.

Winter Term 2021
CMPUT 379 - Operating System Concepts

Processes: process state transitions; operations on processes; interrupt processing; multiprocessor considerations; resource allocation; synchronization; critical sections and events; semaphores; deadlock: avoidance, detection, and recovery; memory management; virtual memory; paging and segmentation; page replacement strategies; working sets; demand paging; process scheduling; scheduling algorithms; file system functions; file organization; space allocation; elements of operating systems security; virtual machines. Prerequisites: CMPUT 201 and 204 or 275; one of CMPUT 229, E E 380 or ECE 212.

Winter Term 2021

Browse more courses taught by Ioanis Nikolaidis