**Graduate courses:****Spring 2018:**- Advanced 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:****Spring 2018:**- Compiler Construction

**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.