**Graduate courses:****Fall 2016:**- Computer Arithmetic.

**Previously taught**:**Shahid Beheshti University (SBU):**- Advanced Compiler Construction.
- Computer Arithmetic.
- Advanced Computer Arithmetic.
- Division algorithms and hardware.
- Fault Tolerant Systems.
- GPU Programming.
- Decimal Computer Arithmetic.
- Residue Number Systems.

**Sharif University of Technology (SUT):**- Computational Complexity.
- Computer Arithmetic.

**School of Computer Sciences, University of Tehran:**- Advanced Compiler Construction.

**Undergraduate courses:****Fall 2016:**- Compiler Construction
- Automata Theory and Languages
- Compilers and Automata

**Previously taught:****Shahid Beheshti University (SBU):**- Compiler Construction (ECE, CS).
- Design, and Implementation of Programming Languages (ECE, CS).
- Automata Theory, and Languages (ECE, CS).
- Operating Systems (ECE).
- Logical Circuits (ECE).
- Data Structures (ECE).

**Sharif University of Technology (SUT):**- Introduction to Computer Arithmetic.
- Compiler Construction.
- Design, and Implementation of Programming Languages.
- Automata Theory, and Languages.
- Compilers and Automata.

**Engineering School, University of Tehran**- Compiler Construction.
- Design, and Implementation of Programming Languages.
- Automata Theory, and Languages.