Experience - Teaching

University of Western Ontario, Computer Science Department:
  • CS2211: Software Tools and Systems Programming, undergraduate level:
    • Fall 2016, 178 students
    • Fall 2015, 168 students
    • Fall 2014, 141 students
    • Fall 2013, 100 students
    • Fall 2012, 64 students
    • Fall 2011, 52 students
    • Fall 2010, 61 students
    • Fall 2009, 46 students
    • Fall 2008, 50 students

  • CS2208: Introduction to Computer Organization and Architecture
    • Winter 2017, 177 students
    • Winter 2016, 174 students
    • Winter 2015, 153 students
    • Fall 2013, 120 students

  • CS4481/CS9628: Image Compression, graduate/undergraduate level:
    • Winter 2017, 25+6 students
    • Winter 2016, 20+1 students
    • Winter 2015, 20+2 students
    • Winter 2014, 12+5 students
    • Fall 2012, 4+7 students
    • Fall 2011, 7+2 students
    • Fall 2010, 11+3 students
    • Fall 2009, 11+3 students
    • Winter 2009, 2+2 students
    • Fall 2006, 7+5 students
    • Fall 2005, 11+3 students
    • Fall 2004, 24+11 students
    • Fall 2003, 32+11 students
    • Fall 2002, 28+4 students
    • Winter 2002, 25+3 students
    • Winter 2001, 28+5 students
    • Winter 2000, 25+0 students

  • CS357: Computer Networks I, Undergraduate Level:
    • Summer 2002, 52 students
    • Summer 2001, 60 students
    • Winter 2001, 151 students
    • Summer 2000, 77 students
    • Fall 1999, 134 students

  • CS9857: Advanced Image Compression, graduate level:
    • Winter 2012, 3 students
    • Winter 2011, 4 students
    • Winter 2010, 3 students
    • Winter 2009, 2 students
    • Winter 2004, 3 students
    • Fall 2002, 3 students
    • Winter 2002, 3 students

  • CS9844: Advanced Topics in Medical Imaging, graduate level:
    • Winter 2007, 2 students
    • Winter 2006, 6 students


University of Waterloo, Systems Design Engineering Department:
  • Teaching assistant a 100-level: Calculus 1, Fall 1992

Alexandria University, Computer Science and Automatic Control Department:
  • Lectured a graduate-level: Computer Networks,1990-1991
  • Lectured a third-year: Switching Theory and Finite Automata,1990-1992
  • Lectured a second-year: Application Programming, 1988-1990
  • Lectured a third-year: Numerical Analysis,1987-1988
  • Lectured a fourth-year: Optimization Theory, 1987-1992
  • Lectured a fourth-year: Design and Analysis of Computer Algorithms, 1985-1986