• • Teaching Assistant, Introduction to Computing II (Java Programming), University of Ottawa, Undergraduate Course, Winter term 2019.

    • Teaching Assistant, Data Structures and Algorithms, University of Ottawa, Undergraduate Course, Fall term 2018.

    • Teaching Assistant, Introduction to Computing II (Java Programming), University of Ottawa, Undergraduate Course, Winter term 2018.

    • Teaching Assistant, Distributed Computing, University of Ottawa, Graduate Course, Fall term 2017.

    • Teaching Assistant, Introduction to Computing II (Java Programming), University of Ottawa, Undergraduate Course, Winter term 2017.

    • Teaching Assistant, Data Structures and Algorithms, University of Ottawa, Undergraduate Course, Fall term 2016.

    • Instructor: “Artificial Intelligence”, University of Science and Culture, Undergraduate Course, Winter term 2016.

    • Instructor: “Expert Systems”, University of Science and Culture, Undergraduate Course, Fall term 2015.

    • Instructor: “Artificial Intelligence”, University of Science and Culture, Undergraduate Course, Fall term 2015.

    • Instructor: “Microprocessors”, Payam Noor University (PNU) of Rasht, Undergraduate Course, Winter term 2015

    • Teaching assistant, Machine Learning (M.Sc. course), Institute for advanced Studies in Basic Sciences, Spring semester 2014.

    • Teaching assistant, Multi-Agent Systems (M.Sc. course), Institute for advanced Studies in Basic Sciences, Winter semester 2014.

    • Four Years Membership in the Computer Engineering Scientific Association in the University of Guilan, from 2008 up to 2012.

    • Three years Chair of the Computer Engineering Scientific Association in the University of Guilan, from 2009 up to 2012.

    • The Editor in Chief of the Scientific Publication of 0&1, the Scientific Association of Computer Engineering, the University of Guilan, 2011.

    • Referee in the Competition of Game Theory in Rasht National Organization for Development of Exceptional Talents (NODET), Rasht, Guilan, Jan. 2011.