Teaching
Courses taught across four institutions since 2001
University Mohammed VI Polytechnic (UM6P)
Benguerir, Morocco · 2021 – present
Graduate (M.Sc. & Ph.D.)
- 2122DNA: Advanced Network Programming — Fall 2022, Spring 2022
Undergraduate
- CSCI-M124: Operating Systems — Spring 2025, Spring 2024
- CPI-M244: Computer Architecture — Spring 2025, Spring 2023
Khalifa University of Science and Technology
Abu Dhabi, UAE · 2009 – 2021
Graduate (M.Sc. & Ph.D.)
- ECCE 708: Distributed Computing — Spring 2018, Fall 2016, Fall 2015, Spring 2014, Fall 2012, Fall 2010
- ECCE 706: Research Methods in Engineering II — Fall 2012
- ECCE 607: Advanced Operating Systems — Spring 2010
Undergraduate
- CMPE 422: Distributed Systems — Spring 2015, 2014, 2013, 2012, 2011, 2010
- CMPE 312: Operating Systems — Spring 2021, 2020, 2019, 2018, 2016, 2013, 2012; Fall 2011, 2010, 2009
- ENGR 112: Introduction to Computing using C++ — Fall 2020, 2019, 2018, 2017, 2016, 2015, 2014; Spring 2019, 2017, 2016, 2015
- CMPE 211: Object-Oriented Programming — Fall 2014
- E 403: Computer Network II (Network Management) — Fall 2009
- ECCE 395: Special Topics in ECCE — Fall 2020
- MATH 207: Discrete Mathematics — Spring 2011
- MATH 111: Calculus I — Fall 2013
Dhofar University
Salalah, Oman · 2005 – 2009
Undergraduate
- CMPS 250/CS 433: Computer Networks — Spring 2009, Fall 2008, Spring 2008, Fall 2007, Spring 2007, Fall 2006, Spring 2006, Fall 2005
- CMPS 260/CS 430: Operating Systems — Spring 2009, Fall 2008, Fall 2007, Fall 2006, Spring 2006, Fall 2005
- CMPS 440/CS 434: Selected Topics — Distributed Systems — Fall 2008, Fall 2006, Spring 2006
- CMPS 410/CS 460: Software Engineering — Spring 2006, Fall 2005
- CMPS 320: Introduction to Computer Security — Spring 2008
- CMPS 240: Analysis of Algorithms — Spring 2008, Fall 2007, Spring 2007
- CMPS 160: Data Abstraction — Spring 2009, Fall 2008, Spring 2008
- CMPS 100A: Introduction to Technical Computing for the Arts — Spring 2007, Fall 2006, Spring 2006
- MATH 370: Discrete Mathematics — Spring 2008, Fall 2007, Spring 2007
University of Waterloo
Waterloo, Canada · 2001 – 2005
Graduate
- CS 454/654: Distributed Systems — Spring 2005, Fall 2001
Teaching Assistant
- CS 456/656: Computer Networks — Winter 2002 (Chief Teaching Assistant)