Course Developer and Instructor, University of Pennsylvania

  • MCIT 582: Blockchain and Cryptography
    ■ Spring 2021, Summer 2021, Fall 2021, Spring 2022, Summer 2022

Teaching Assistant, University of California Santa Barbara

  • • CS 8: Introduction to Computer Science
    ■ Summer 2019

    • CS 16: Problem Solving with Computers I
    ■ Summer 2016

    • CS 24: Problem Solving with Computers II
    ■ Winter 2017, Fall 2017, Fall 2018

    • CS 32: Object-oriented Design and Implementation
    ■ Fall 2014

    • CS 40: Foundations of Computer Science
    ■ Summer 2016, Summer 2017

    • CS 48: Computer Science Project
    ■ Winter 2015, Winter 2016, Spring 2016, Spring 2017, Spring 2018

    • CS 130A: Data Structures and Algorithms I
    ■ Fall 2015, Winter 2018

    • CS 138: Automata and Formal Languages
    ■ Spring 2015, Summer 2018

    • CS 174A: Database Design
    ■ Fall 2016

    • CS 174B: Design and Implementation Techniques of Database Systems
    ■ Spring 2019

Instructor, Iran University of Science and Technology

  • • Computer Engineering Lab
    ■ Fall 2011, Spring 2012, Fall 2013, Spring 2014

    • Software Engineering Lab
    ■ Fall 2012, Spring 2014

Teaching Assistant, Iran University of Science and Technology

  • • Software Engineering 1
    ■ Spring 2011, Spring 2012, Spring 2013

    • Software Engineering 2
    ■ Fall 2012, Fall 2013

    • Compiler Design
    ■ Fall 2012, Fall 2013

    • Advanced Compiler Design
    ■ Fall 2012, Fall 2013

    • Software Re-Engineering
    ■ Spring 2013

Student Mentoring