I am a Computer Engineering Ph.D. candidate at Polytechnique Montréal with a strong background in Machine Learning, Compiler Design, Software Engineering, and Computer Networks. I have expertise in various programming and hardware description languages, including C, C++, C#, SQL, Python, VHDL, and Verilog. My research is focused on enhancing P4 programming language and compiler.
Education
PhD Candidate in Computer Engineering
Polytechnique Montréal, Canada
May 2022 - PresentMSc in Computer Engineering
Shahid Beheshti University (SBU), Iran
Sept 2018 - Sept 2021BSc in Computer Engineering
Iran University of Science and Technology (IUST) and Semnan University, Iran
Sept 2012 - Jan 2017
Work Experience
- Research Assistant
Polytechnique Montréal, Canada
Apr 2021 - Present- Enhanced P4 language constructs for network devices using LEX, YACC, and IR classes in C/C++ and Python.
- Developed a complete object-oriented compiler with lexer, parser, symbol table, semantic analyzer, AST, and code generation.
- Designed and implemented P4 codes and control planes for network applications (Firewall and Load Balancer) in Software Switch, FPGA, and ASIC.
- Research Engineer
System Negar Sayna, Iran
Sept 2017 – May 2022- Developed and tested intelligent software for data analysis using C++, Python, NumPy, and Pandas.
- Worked on software to analyze news and select articles according to user preferences using ML techniques with Scikit-learn, TensorFlow, and Keras.
- Research Assistant
Karlsruhe Institute of Technology (KIT), Germany
May 2020 – Sep 2020- Optimized multi-core processor performance under temperature constraints and improved ML-based models for application performance prediction.
- Improved and debugged the HotSniper simulator for Splash-2 benchmarks using C/C++.
- Analyzed power, IPS, and CPI, and visualized data with Python (Pandas, NumPy, Matplotlib).
Projects
- Created a Mutex and condition variables for the producer-consumer problem using C and Pthreads.
- Detected P2P botnets by discovering flow dependency in C&C traffic using Python and Scapy.
- Developed a WAV player in C for ARM Keil and implemented it on the STM32F4 Discovery board.
- Installed and configured dependencies for specific packages and modified GCC for compiling in Scientific Linux.
- Compared the performance of NoSQL data models for Big Data and analyzed different software architectures like REST and SOAP.
Volunteer Experience
- Instructor
Iran University of Science and Technology- Taught programming languages, English, and mathematics to students.
Contact
Feel free to reach out to me via academic email or personal email.