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

  • CE Lab

    Computer Engineering Lab

    Fall 2011, Spring 2012, Fall 2013, Spring 2014

  • SE Lab

    Software Engineering Lab

    Fall 2012, Spring 2014

Teaching Assistant, Iran University of Science and Technology

  • CE-SE1

    Software Engineering 1

    Spring 2011, Spring 2012, Spring 2013

  • CE-SE2

    Software Engineering 2

    Fall 2012, Fall 2013

  • CE-CD

    Compiler Design

    Fall 2012, Fall 2013

  • CE-ACD

    Advanced Compiler Design

    Fall 2012, Fall 2013

  • CE-SR

    Software Re-Engineering

    Spring 2013