My Projects

Explore the projects I've worked on during my studies and research.
Check out the section you're interested in by clicking the buttons below.

Course Projects

Deep Learning Projects

April 2023

  • Developed and implemented Long Short-Term Memory (LSTM) and Gated Recurrent Unit (GRU) networks to predict stock market trends, optimizing performance through advanced time-series analysis and predictive modeling techniques.
  • Designed an autoencoder architecture (encoder & decoder) and successfully applied it to the MNIST dataset for dimensionality reduction and feature extraction.
  • Designed and implemented Generative Adversarial Networks (GAN) architecture, specifically focusing on both the Generator and Discriminator components, and applied it to the MNIST dataset using varied learning rates to enhance model performance.
  • Provided a comprehensive explanation and analysis of Wasserstein GANs (WGAN) to prevent mode collapsing and improve training stability and convergence.
  • Implemented the architecture of Transformer models, focusing on their capacity for sequence modeling and self-attention mechanisms, furthering their application in a range of deep learning tasks.

AI Deep Learning LSTM, GRU, Encoders, Decoders, GAN, WGAN Transformers, Self-attention mechanisms Graduate Project

Technologies Used:

Python PyTorch TensorFlow Sklearn Pandas

View on GitHub

Machine Learning Projects

January 2023

  • Implemented Logistic Regression on imbalanced Cifar10, Mnist, and Iris datasets in both two-class and multi-class contexts. Explored strategies, including class weighting, minority class oversampling, and ensemble methods, to address data imbalance. Provided concise explanations for each approach, highlighting their respective advantages and disadvantages.
  • Implemented Naive Bayes, GaussianNB, and SVM models on the MNIST dataset. Explored SVM with various kernels, along with multiclass approaches like one-vs-one and one-vs-all, reporting the final accuracy achieved for each of the approaches.
  • Applied weighted logistic regression for data classification, including parameter tuning for improved accuracy.
  • Implemented the Gradient Descent algorithm and validated its efficacy by optimizing parameters on sinusoidal data
  • Applied linear regression to data extracted from a sinusoidal function, effectively modeling the underlying pattern for insightful analysis and pattern recognition.

AI Machine Learning Naive Bayes, GaussianNB, SVM, DesionTree, RandomForest Graduate Project

Technologies Used:

Python Sklearn Pandas

View on GitHub

Artificial Neurak Networks Projects

November 2022

  • Developed various Artificial Neural Networks using different algorithms, like Perceptron Learning Rule, Delta Learning Rule, Multilayer Perceptron, Backpropagation Learning, Radial Basis Function Networks (RBFN), and Self-Organizing Maps (SOMs), to solve tasks like classification and clustering.

AI Artificial Neurak Networks MLP, Backpropagation, RBFN, SOMs Graduate Project

Technologies Used:

MATLAB

View on GitHub

Probabilistic Graphical Models

November 2022

  • Developed a probabilistic graphical model to identify optimal gene interaction networks.
  • Applied the Metropolis-Hastings algorithm to explore graph structures and maximize likelihood.
  • Evaluated model convergence using maximum likelihood.

AI Probabilistic Graphical Models Metropolis-Hastings algorithm, Graph structures, maximum likelihood Graduate Project

Technologies Used:

Probabilistic graphs Sklearn Pandas Python

View on GitHub

Advanced Data Mining Projects

November 2022

  • Calculated similarities of two dataset features to see their dependency on each other.
  • Predicted values of a feature in a dataset by using decision tree, random forest models in the sklearn library as the course’s final project.

AI Advanced Data Mining PCA, Features Similarities Decision tree, Random forest Graduate Project

Technologies Used:

Pandas Sklearn Python

View on GitHub

Advanced Python Projects

November 2022

  • Analysed data from Iran’s Electricity Industry Company (IGMC) to calculate how much the share of governmental companies’ usage of electricity is and then plotted the graph of that usage in a figure.
  • Solved python questions in Quera (a website like Leet code which provides algorithm questions).

Advanced Python Data Analysis, Algorithms Graduate Project

Technologies Used:

Pandas Python Matplotlib

View on GitHub

Rooznegar, an online news survey (NLP)

October 2022

  • Developed a News survey of multiple Iranian news websites using Django and Vue.js.
  • Used SVM classifier as our news classifier, which has been developed in the Google Colab platform.
  • Used Scrapy and beautiful soup as the web data extractor.

AI Machine Learning Classifying News SVMs Data scraping Web App Undergraduate Project

Technologies Used:

Sklearn Django Python Vue.js Scrapy

View on GitHub

Task manager

December 2021

  • Developed a simple task manager in PHP for the Internet engineering course.
  • Implemented to search through tasks Asynchronously.

Internet Engineering Asynchronization Web Development Undergraduate Project

Technologies Used:

PHP Ajax JavaScript HTML CSS

View on GitHub

Micro controller project

November 2021

  • Developed projects in C, working with microcontrollers for the microcontrollers course.
  • Implemented a calculator, flashing LEDs, and created communication of two chips to display the temperature and potential of some sensors.
  • Implemented in Code vision and Proteus environments.

Micro controllers Virtualization Hardware Programming Simulation Hardware Communication Sensor Data Handling Undergraduate Project

Technologies Used:

C Code vision Proteus

View on GitHub

Game theory projects

January 2022

  • Calculated confusion of MNIST dataset with CNN (convolutional neural network).
  • Implemented neural networks for forecasting ETH (Ethereum) price and LSTM (Long Short Term Memory) implementation.

AI Game theory Deep Learning Classification Stock Price prediction CNN, LSTM Undergraduate Project

Technologies Used:

Sklearn Tensorflow Python Pandas Matplotlib

View on GitHub

Traffic Sign Detection

April 2021

  • Implemented a network using YOLO V5 in Python Language.
  • Collected images for creating a dataset and annotated the images by LabelImg to detect ten various traffic signs.

AI Object Detection YOLO V5 Image Labeling Group Work Undergraduate Project

Technologies Used:

YOLO V5 LabelImg Python

View on GitHub

Comparison of Different Local Search Algorithms

December 2020

  • Solved Timing Interval Units Recovery problem in a group of two, using different local search algorithms involved: Hill Climbing, Simulated Annealing, Genetic Algorithm.
  • Compared mentioned algorithms’ performance through a plot.

AI Local Search Algorithms Hill Climbing Simulated Annealing Genetic Algorithm Group Work Undergraduate Project

Technologies Used:

Python Matplotlib

View on GitHub

Compiler for Small-Lang

December 2020

  • Developed a compiler for small-lang language in a group of 3, which can operate three stages of lexical analysis(with and without using tools), syntactic analysis, and generating middle code.
  • Used PLY library for implementing Lexer(lexical analysis) and Yacc(syntactic analysis).

Compiler Design Lexical Analysis Syntactic Analysis Generating Middle Code Lexer & Yacc Group Work Undergraduate Project

Technologies Used:

Python PLY

View on GitHub

MIPS Cache-Simulator

June 2020

  • MIPS cache simulator, which supports different structures and replacement policies.
  • Used python to implement the MIPS cache simulator and support structures.

Hardware Design Cache Simulation Undergraduate Project

Technologies Used:

Python

View on GitHub

Huffman and Traveling Salesman

May 2020

  • Implemented Huffman and Traveling salesman algorithm.
  • Used python to implement algorithms and support structures.

Algorithm Design Huffman Algorithm Traveling salesman algorithm Undergraduate Project

Technologies Used:

Python

View on GitHub

View on GitHub

Managing University Project

July 2019

  • Developed an app to manage taking courses by students, creating courses by professors, and managing staff by manager of the university.
  • Used Java for the core logic of the project.
  • Used JavaFX and scene builder for the UI of the project.

Software Development Java Undergraduate Project

Technologies Used:

Java JavaFx Scene builder

View on GitHub

Download Manager

June 2019

  • Developed a custom download manager which can download a webpage and webpages whose URLs of them are in previous webpage in any depth that the user wants.
  • Used Java for the core logic of the project.
  • Developed with parallel multi-core processing technology.
  • Used thread-safe queuing named RabitMQ for handling multi-task issue

Software Development Java Multi-Core Processing Thread Safe Queuing URL Extractor Undergraduate Project

Technologies Used:

Java RabitMQ

View on GitHub

Lab Experience Projects

Wireless Communication Networks Laboratory Projects

Improving Access Control for implantable medical devices using deep learning approaches.

December 2022 - Now

Implantable medical devices (IMDs) have revolutionized healthcare by supporting or replacing dysfunctional organs, but they also pose significant increased security risks. It proposes a new protocol designed to increase the accuracy and security of IMD while minimizing the power consumption overhead, if possible. We use programs to accurately report the similarity between measurements and physiological results, with the aim of ensuring robust control and the probability of successful replication and target falsification. We draw a comprehensive performance evaluation in terms of authentication attention, security acceptance and energy consumption (possible). The aim of this research is to significantly improve the security and efficiency of IMD by integrating advanced neural network techniques and performing detailed comparative analysis, thereby contributing to safer and more reliable patient care.

AI Deep Learning Healthcare IMDs ECG signals Pan Tompkins Algorithm IoT Devices Authentication Distance Bounding Protocol Energy Efficiency of IoT Devices WCN Lab Master's Thesis

Technologies Used:

Python TensorFlow Keras Physionet Toolkits

The link below will be public soon!

View on GitHub

ElectroKardioMatrix (EKM)

December 2022 - Now

The ElectroKardioMatrix (EKM) is a methodology that involves converting ECG signals into heatmaps by aligning R-peaks, which are then used to form a matrix known as the EKM. This matrix is plotted as a heatmap, allowing for detailed visualization of the ECG data and revealing important cardiovascular patterns.

I have developed Second-Based EKMs (SBF), constructed by one-second segments of the ECG signals and stacking them to create different length frames. Additionally, I have created a combination of second-based EKMs and Beat-Per-Frame (BPF) based EKMs, enabling a more comprehensive analysis that captures both time based and R-peak based patterns in the data.

EKM
BPF-based ElectroKardioMatrix (EKM)
Healthcare Electrocardiogram Data presentation Heatmap WCN Lab

Technologies Used:

Python Physinet Toolkits

View on GitHub

Assessing Minimum Amount of EKMs For Efficient Authentication

February 2024 - June 2024

The goal of this project is to create a one-against-all system where the model can accurately identify users based on their electrocardiomatrices (ECMs). We implemented four different deep-learning methods for identification systems that utilize ECMs. We tested the robustness of these models across various datasets, including MIT-BIH, NSRDB, and PTBDB, to ensure their applicability in different scenarios. This effort aims to revolutionize user identification by minimizing the number of ECMs required, reducing the burden on users and the system. In essence, we explored different scenarios with various learning models and heartbeat counts to understand their impact on ECM generation, which is crucial for efficient user identification. Additionally, we tested the identification models with different beats per frame (bpfs) rates, and the results confirm that fewer bpfs and ECMs lead to more efficient identification.

AI Deep Learning Healthcare Authentication ECG signals MITDB, NSRDB, PTBDB WCN Lab

Technologies Used:

Python TensorFlow Physionet Toolkits

The link below will be public soon!

View on GitHub

Data Deduplication of IoT Devices

December 2022 - March 2023

Deduplication is a data optimization technique used to eliminate redundant copies of data, reducing storage and transmission overhead. In my project, I implemented deduplication on text data by converting each text into its base form and identifying its deviations using lemmatization, a technique in NLP. After this process, we applied 128-bit AES encryption to the deduplicated data, calculated the Base64 encoding of the encrypted content, and finally transmitted the optimized, encrypted data securely through the MQTT protocol to the server. This approach not only reduces data size but also ensures efficient and secure data transmission.

Data Dedupolication IoT Devices Protocol NLP Base and Deviation by Lemma MQTT Protocol AES Encryption WCN Lab

Technologies Used:

Python Soket Programming

View on GitHub

Bridge Failure Detection Based on Analysis of Sensors Data in Three Stages of Construstion _ Before, During and After Construction_ Using Deep Learning methods.

October 2024 - now

In this project, we are focusing on monitoring the structural health of Karun’s Bridge throughout its reconstruction phases. The Karun’s Bridge, located in Iran, spans the Karun River, which is the country’s largest and only navigable river. This iconic bridge plays a crucial role in connecting regions and facilitating transportation. By leveraging sensor data collected during the pre-construction, construction, and post-construction periods, we trained deep learning models to analyze the bridge's condition in real time. The objective was to identify the optimal time to detect potential failures or weaknesses in the bridge structure, ensuring timely interventions and enhancing the overall safety and longevity of the bridge. This innovative approach integrates advanced data analysis with deep learning to provide a robust solution for bridge failure detection.

AI Deep Learning Sensors Signal Processing Bridge Failure Detection CWT Convertion WCN Lab

Technologies Used:

Python TensorFlow Keras Sklearn

The link below will be public soon!

View on GitHub

Security Analysis of ”Ultra-Lightweight Blockchainenabled RFID Authentication Protocol for Supply Chain in the domain of 5G Mobile Edge Computing".

January 2023 - June 2024

An IoT-based supply chain system integrates components such as RFID tags, readers, sensors, and communication networks to streamline operations and enhance visibility. The system includes tagged products, RFID readers at key points, a central IoT platform, and data analytics tools for real-time tracking and inventory management. RFID tags store unique identification data, which is wirelessly transmitted to readers, facilitating efficient data collection and management throughout the supply chain. As RFID technology adoption grows in the intelligence era, security concerns, such as brute force attacks, remain significant. In response, our research focuses on the security analysis of an "Ultra-Lightweight Blockchain-enabled RFID Authentication Protocol for Supply Chain in the domain of 5G Mobile Edge Computing." This protocol aims to enhance the security and reliability of RFID systems in modern supply chain operations.

IoT Devices Privacy RFID Authentication Protocol Traceability Practical implementation of Vulneability 5G Communication Networks WCN Lab

Technologies Used:

Python Socket Programming Hash Functions

The link below will be public soon!

View on GitHub

Database Laboratory Project

Rooznegar, an online news survey

July 2022 - October 2022

In today's world, Due to the huge volume of news in different news sources, tracking news from these sources is a time-consuming task and due to the difference in the way news is displayed on different news websites, it causes the user to be slow or confused in following the news. It should also be mentioned that users are usually interested in checking and comparing news from several sources; Therefore, it is important to have a platform for presenting news from different news sources at once and a display format.

Rosnegar program is an online Farsi newsletter that was created to solve this problem. This program collects news from several Irianian online news outlets, including including Islamic Republic of Iran Radio and Television, Tasnim, Rasa, Rozno, and Students of Iran (ISNA) and then categorizes these news using artificial intelligence technology into appropriate topics for each news item. It has tried to make it easier for users to follow the news.

AI Machine Learning News Analysis SVMs Web Development Database Lab

Technologies Used:

Python Sklearn Django Beautiful Soup Scrapy Pandas Vue JS JavaScript HTML CSS

View on GitHub

Other Projects

React Task Manager

February 2021

  • Developed a task manager in which one can get, add, and delete tasks using React.

Web Development React Task Manager Learning Project

Technologies Used:

React JavaScript HTML CSS

View on GitHub

Twitter App

December 2020

  • Developed a Twitter-like social network website, in which a user can make and edit his posts, following users and like/unlike posts, using Django and Javascript.

Web Development Social Network App Twitter Learning Project

Technologies Used:

Python Django JavaScript HTML CSS

View on GitHub

Email App

December 2020

  • Developed an Email app that a user can send, view, reply to, and archive/unarchive emails in his mailbox using Django and Javascript.

Web Development Email Messenger Learning Project

Technologies Used:

Python Django JavaScript HTML CSS

View on GitHub

Ecommerce Website

November 2020

  • Developed an e-commerce website in which users can make an auction to sell goods, bid on that stuff, and win by offering the highest bid (the owner of the auction can close the auction), using Django and Javascript.

Web Development E-commerce Auction Learning Project

Technologies Used:

Python Django JavaScript HTML CSS

View on GitHub

10 projects of React Bootcamp

October 2020

  • Developed ten projects of Complete React JS web developer with ES6 Bootcamp course.
  • Developed projects using Google Firebase, Ath0.

Web Development React Learning Project

Technologies Used:

React JS Auth0 Firebase JavaScript HTML CSS

View on GitHub

Wikipedia

October 2020

  • Developed an encyclopedia, like Wikipedia, using Django.
  • Implemented pages of encyclopedia using Python-markdown2.

Web Development Wikipedia Encyclopedia Learning Project

Technologies Used:

Python Django Markdown2 HTML CSS

View on GitHub

Google Search Interface

April 2020

  • Developed interfaces of google search, google image, and advanced google search pages.

Web Development Google Search Interface Learning Project

Technologies Used:

HTML CSS

View on GitHub

Four-In-A-Row Game

September 2019

  • Developed a Four-In-A-Row game using ReactJS.

Web Development Four-In-A-Row Game Learning Project

Technologies Used:

React JS JavaScript HTML CSS

View on GitHub

Simple Car-Shopping-App

September 2019

  • Developed a simple car shopping app using ReactJS and Javascript.

Web Development Shopping App Cars Learning Project

Technologies Used:

React JS JavaScript HTML CSS

View on GitHub

Testing

October 2019

  • Designed a simple Django flight managing app using Travis which any time there is a push in the code on GitHub, some prebuild tests will be run automatically.

Web Development Flight Managing App Automatic Testing Learning Project

Technologies Used:

Travis Python Django HTML CSS

View on GitHub

Which Cafe?

October 2019

  • Developed a static website showing information about different cafes using Angular-CLI, Typescript, and SCSS.

Web Development Cafe Information App Cafe Learning Project

Technologies Used:

Angular-CLI Typescript HTML SCSS

View on GitHub

Tesla’s Rodster Website

August 2019

  • Developed a responsive website showing information about the Tesla Roadster car using Bulma.

Web Development Shopping App Responsive Website Learning Project

Technologies Used:

Bulma HTML CSS

View on GitHub