Ehab Elmallah, PhD

Professor, Faculty of Science - Computing Science


Professor, Faculty of Science - Computing Science




  • B.Sc., Computer Science and Automatic Control, Alexandria Egypt, 1978
  • M.Sc., Computing Science, University of Saskatchewan, 1984
  • Ph.D., Computer Science, University of Waterloo, 1987



Communication Networks


Communication Networks, Combinatorial Algorithms.


My research interests lie in designing computational tools, protocols, mathematical models, and combinatorial algorithms with guaranteed performance measures for the design and analysis of computer networks. Recent projects include:

  • Path exposure and intrusion detection reliability problems in wireless sensor networks
  • Location uncertainty problems in underwater sensor networks
  • Mobility aspects in RFID systems
  • Policy analysis in the design of firewalls and software defined networks
  • Quality-of-service provisioning in wireless cellular networks
  • Resource management in multi-hop wireless mesh networks


  • ICA
  • IEEE (SM) 


  • The Institute of Combinatorics and its Applications (Foundation Fellow)


CMPUT 313 - Computer Networks

Introduction to computer communication networks; protocols for error and flow control; wired and wireless medium access protocols; routing and congestion control; internet architecture and protocols; multimedia transmission; recent advances in networking. Prerequisites: CMPUT 201 and 204 or 275; one of CMPUT 229, E E 380 or ECE 212; and STAT 252 or 266.

CMPUT 379 - Operating System Concepts

Introduction to the structure, components, and concepts behind modern general-purpose operating systems. 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; virtual machines. Prerequisites: CMPUT 201 and 204, or 275; one of CMPUT 229, E E 380 or ECE 212.

Browse more courses taught by Ehab Elmallah