Courses
- 2020
- CS 15-122: Principles of Imperative Programming, Carnegie Mellon University, Spring 2020.
- 2019
- CS 15-122: Principles of Imperative Programming, Carnegie Mellon University, Fall 2019.
- CS 15-122: Principles of Imperative Programming, Carnegie Mellon University, Spring 2019.
- 2018
- CS 15-122: Principles of Imperative Programming, Carnegie Mellon University, Fall 2018.
- CS 15-122: Principles of Imperative Programming, Carnegie Mellon University, Spring 2018.
- 2017
- CS 15-122: Principles of Imperative Programming, Carnegie Mellon University, Fall 2017.
- CS 15-122: Principles of Imperative Programming, Carnegie Mellon University, Spring 2017.
- 2016
- CS 15-122: Principles of Imperative Programming, Carnegie Mellon University, Fall 2016.
- 2015
- CS 15-199: Discovering Logic, Carnegie Mellon University (Qatar campus), Fall 2015.
- CS 15-150: Principles of Functional Programming, Carnegie Mellon University (Qatar campus), Fall 2015.
- CS 15-317: Constructive Logic, Carnegie Mellon University (Qatar campus), Fall 2015.
- CS 15-312: Foundations of Programming Languages, Carnegie Mellon University (Qatar Campus), Spring 2015.
- 2014
- CS 15-199: Discovering Logic, Carnegie Mellon University (Qatar campus), Fall 2014.
- CS 15-150: Principles of Functional Programming, Carnegie Mellon University (Qatar campus), Fall 2014.
- CS 15-349: Introduction to Computer and Network Security, Carnegie Mellon University (Qatar campus), Fall 2014.
- CS 15-199: Discovering Logic, Carnegie Mellon University (Qatar campus), Spring 2014.
- CS 15-317: Constructive Logic, Carnegie Mellon University (Qatar Campus), Spring 2014.
- 2013
- CS 15-150: Principles of Functional Programming, Carnegie Mellon University (Qatar campus), Fall 2013.
- CS 15-150: Principles of Functional Programming, Carnegie Mellon University (Pittsburgh and Qatar campus), Summer 2013.
- CS 15-312: Foundations of Programming Languages, Carnegie Mellon University (Qatar Campus), Spring 2013.
- CS 15-199: Discovering Logic, Carnegie Mellon University (Qatar Campus), Spring 2013.
- 2012
- CS 15-150: Principles of Functional Programming, Carnegie Mellon University (Qatar campus), Fall 2012.
- CS 15-349: Introduction to Computer and Network Security, Carnegie Mellon University (Qatar campus), Fall 2012.
- CS 15-317: Constructive Logic, Carnegie Mellon University (Qatar campus), Spring 2012.
- CS 15-212: Principles of Programming, Carnegie Mellon University (Qatar campus), Spring 2012.
- CS 80-211: Logic and Mathematical Inquiry, Carnegie Mellon University (Qatar campus), Spring 2012.
- 2011
- CS 15-221: Technical Writing for Computer Scientists, Carnegie Mellon University (Qatar Campus), Fall 2011.
- CS 15-312: Foundations of Programming Languages, Carnegie Mellon University (Qatar Campus), Spring 2011.
- CS 15-212: Principles of Programming, Carnegie Mellon University (Qatar Campus), Spring 2011.
- CS 15-199: Discovering Logic, Carnegie Mellon University (Qatar Campus), Spring 2011.
- 2010
- CS 15-349: Introduction to Computer and Network Security, Carnegie Mellon University (Qatar Campus), Fall 2010.
- CS 15-312: Foundations of Programming Languages, Carnegie Mellon University (Qatar Campus), Spring 2010.
- CS 15-212: Principles of Programming, Carnegie Mellon University (Qatar Campus), Spring 2010.
- CS 15-199: Discovering Logic, Carnegie Mellon University (Qatar Campus), Spring 2010.
- 2009
- CS 15-312: Foundations of Programming Languages, Carnegie Mellon University (Qatar Campus), Spring 2009.
- CS 15-212: Principles of Programming, Carnegie Mellon University (Qatar Campus), Spring 2009.
- 2008
- CS 15-349: Introduction to Computer and Network Security, Carnegie Mellon University (Qatar Campus), Fall 2008.
- CS 15-312: Foundations of Programming Languages, Carnegie Mellon University (Qatar Campus), Spring 2008.
- CS 15-212: Principles of Programming, Carnegie Mellon University (Qatar Campus), Spring 2008.
- 2007
- CS 15-502: Technology and Global Development, Carnegie Mellon University (Qatar Campus), Fall 2007.
- CS 15-312: Foundations of Programming Languages, Carnegie Mellon University (Qatar Campus), Spring 2007.
- CS 15-212: Principles of Programming, Carnegie Mellon University (Qatar Campus), Spring 2007.
- 2006
- CS 15-212: Principles of Programming, Carnegie Mellon University (Qatar Campus), Fall 2006.
- ISA 767/INFS 667: Secure Electronic Commerce, George Mason University, Spring 2006.
- 2005
- Internet Security Protocols, Department of Information and Software Engineering, George Mason University, Fairfax, VA, 6 December 2005. Invited lecture (3 hours) by Duminda Wijesekera.
- 2003
- Cryptography and Computer Security, Department of Computer Science, Chiang Mai University, Thailand, 13 July 2003. Graduate course by Philip Rogaway.Invited lecture on Computer Security (4 hours).
- Linear logic and security, Summer School on Foundations of Security, Eugene, OR — USA, 15-26 June 2003. Course(6 hours).
- 2001
- Computer Security, Dipartimento di Matematica e Informatica, Università di Udine, Udine, Italy, 3-7 December 2001. Graduate course (12 hours).
- Security Protocol Specification Languages, International School on Foundations of Security Analysis and Design — FOSAD'01, Bertinoro, Italy, September 20-21 2001. Course (4 hours).
- 1999
- CS 359: Linear Logic and Applications, Stanford University, Winter 1999. Seminar.
- 1998
- An Introduction to Logical Frameworks, Département d'Informatique, Université Laval, Quebec, Canada, 14-16 October 1998.
Wed 22 Jan 2020 January 22 2020
- Miscellaneous
- Fall 1996: Teaching assistant of Fundamental Principles of Computer Science II (instructor Frank Pfenning), Carnegie Mellon University
- Spring 1995: Co-organizer of the seminar on Linear Logic and Applications (instructor Frank Pfenning), Carnegie Mellon University
- Fall 1991: Teaching assistant of Supercompilers (instructor Luis P. Slothouber), University of Houston
- Summer 1991: Teaching assistant of Distributed Databases (instructor Marek Rusinkiewicz), University of Houston