Jonathan Shahen

PhD University of Waterloo


I am a very motivated person, who has high aspirations and a drive that will see them into fruition. I have a passion for learning and for teaching, which will lead to a career (in my later years) as a professor. I love research and development and plan to obtain my Ph.D. to help with future R&D work.


University of Waterloo

Doctor of Philosophy in Computer Engineering


University of Waterloo

Master of Applied Science in Computer Engineering


University of Waterloo

Bachelors of Applied Science in Computer Engineering



The Overhead from Combating Side-Channels in
Cloud Systems using VM-Scheduling

IEEE Transactions on Dependable and Secure Computing

January 2018

Authors: Nahid Juma, Jonathan Shahen , Khalid Bijon, and Mahesh Tripunitara

Mohawk+T: Efficient Analysis of Administrative
Temporal Role-Based Access Control (ATRBAC) Policies


June 2015

Authors: Jonathan Shahen , Jianwei Niu, and Mahesh Tripunitara
Companion Page:

Lab Instructor

ECE 254 - Operating Systems

University of Waterloo

Sep - Dec 2018

ECE 254 - Operating Systems

University of Waterloo

May - Aug 2018

Teaching Assistant

ECE 606 - Algorithm Design and Analysis
(Award Received)

University of Waterloo

Sep - Dec 2017

ECE 358 - Computer Networks

University of Waterloo

May - Aug 2017

ECE 458 - Computer Security

University of Waterloo

May - Aug 2016

ECE 254 - Operating Systems and Systems Programming
(Award Received)

University of Waterloo

Sep - Dec 2015


Thalmic Labs Inc.

Machine Learning

Sep - Dec 2013

Machine Learning research and development for the Myo gesture controlled device.

DemonWare Inc.

Software Engineer

Sep - Dec 2012

Call Of Duty Online marketplace development and design.

Department of National Defence

Machine Learning Researcher

Jan - Apr 2012

Machine Learning research applied to Multi-Criteria Decision Analysis (MCDA) problems.


Advance Compression Researcher

May - Aug 2011

Optimized JPEG Algorithm for small circuit design.


BlackBerry Prototype Mobile Applications Developer

Sep - Dec 2010

A very creative term where the co-ops created the application ideas and then built the prototypes.


Certification Project Coordinator

Jan - Aug 2010

Designed systems to convert human jobs into automated tasks.


  • C/C++
  • Java
  • C#
  • Node JS
  • PHP
  • R Lang
  • Python