My Skills

React

JavaScript

Git

Html

Css

Bootstrap

C#

C++

C

Python

Dotnet

Django

Linux

Azure Devops

Bash

Nodejs

Mysql

Selected Projects

NoWaste site

NoWaste site

This project has been developed as a 7-member team project with expertise in front-end and back-end development. In this project, restaurants offer their food with desired discounts for sale. Users can access the page of a restaurant by viewing the restaurants, add their desired food to the shopping cart by viewing its menu, and make online payments. They can then rate the restaurant, leave comments, and add the restaurant to their favorites list. Finally, users can use the chat page between themselves and the restaurant manager to address their questions.

Book site

Book site

Implementing this website was my first project with Django at university. This website has two features: adding books and viewing different books in four genres: historical, science fiction, fantasy, and crime. To add a book, you need to write the author's name, book title, book genre, and a short summary of the book, and after verifying the information, your book will be added to the corresponding genre.

Retrieving information
Retrieving information

Retrieving information from the victim device

I wrote a program in Bash on Linux to perform the following tasks:
The program should be able to take an IP class as input, and it focuses on that class, and then teste all available IP addresses in that IP class. It's worth mentioning that this program is executed at one or more specific points in the network.
To finding open ports numbers, I tried to familiarize myself with Linux commands in this area and use them, after that I find open port numbers and save them in a CSV file.
I cennect to discovered devices and test a list of common usernames and passwords, then I read this list from a CSV file located next to the program.
Once connected to the victim device, I attempted to place the second Bash script on it. For simplicity, I assumed that I have root access. The second program on the victim device retrieves various information, such as system information, memory information, and CPU model, at specified intervals and sends it to the server.
On the server, I also wrote a program to display the received information in a web-based application. For this task, I created a simple backend and frontend.

Anti-spoofing algorithm

Anti-spoofing algorithm

The goal of this project is to develop an anti-spoofing algorithm for detecting the liveness of a face in a video. The algorithm takes a frame from the video and determines whether the image is of a live person or not. For example, it checks if the image is a makeup or a printed photo of the person, if it is being displayed from another device, etc. These algorithms fall into two main categories:
Feature extraction-based methods (frequency, texture, depth information, vital signs)
Deep learning-based methods (domain-based, transfer learning, feature fusion)

Software quality measurement and its quantification

Software quality measurement and its quantification

By running this project, the quality of a software can be measured quantitatively. In the software quality article, factors are presented that depend on a number of criteria, but the criteria is qualitative, so we use a number of metrics to achieve a quantity.
The implemented metrics are:
Albrecht’s function points metrics
Metrics-Based estimation models (COCOMO Mode)
Ejiogu’s software metrics
Halstead’s software metrics
Henry and Kafura’s information metrics
McCabe’s Cyclomatic complexity metrics
Readability metrics
Reliability metrics

Categorize data using SVM

Categorize data using SVM

This project was related to the Artificial Intelligence course at the university. The goal of this project was to find a separator line between points on a plane, which was done using SVM. 80% of the data was used for training and 20% for testing. Finally, we see that the accuracy of separating the data is 100%.

Game padel

Padel game

In this game, there is a paddle that hits colored rectangles at the top, and each time a rectangle disappears, you earn 10 points. Also, your highest score is calculated until you finish the game. You can use your keyboard in this game. The colors of the rectangles change randomly each time you play.

Snake game

Snake game

Implementing this game was my first project at the university that I wrote using the Python language. I remember well that I had to spend 7 hours a day to write this project :)
This game features a snake that gains 10 points for each food (red circle) it eats and its length increases (gray rectangle). Your highest score is also calculated until you finish the game. You can use your keyboard to play this game.

Memory game for numbers

Memory game for numbers

In this project system shows you 5 4-digit numbers in BCD form. After showing the digits You must enter the numbers from memory. Then The system displays the numbers entered by you and gives you a score from 5.

Reading system

Reading system

A system will be designed and developed with the aim of increasing the trend of studying and interest in books and reading among the youth in the country. Users will be able to introduce their favorite books or purchase them in PDF or audio format. In the end, to encourage users further, monthly and annual rewards will be given to those who have read the most pages.

Pning pong game

Ping pong game

In this game, there are two paddles and a ball, and the ball starts moving with a predetermined speed and direction. Also, the pedals move up and down with a fixed and changeable speed. If the ball hits the paddles, the ball reflects and the game continues, but if it hits the right and left walls, the game ends.

Apply and remove noise in the photo

Apply and remove noise in the photo

The purpose of this project was to apply the concepts taught in the subject of signals in image processing. In this project, I imported a image file into MATLAB software, added noise to it, and then attempted to remove the noise.

Padel game

Music composition

Writing this program was an interesting experience because we could turn code into music. When writing this program, myself and many of the students had no knowledge of music, so two sessions were held with Mr. Amooyi and Ms. Khazaei. Ms. Khazaei talked about the basics of music and Mr. Amooyi talked about how to work with the Sonic Pi software. After these sessions, I searched for music notes on the internet.
I recommend that you take a look at this software to listen to the sound of the forest and the sea through implementing the code :)

Publications

Honors and certificates

  • Ranked within the Top 1% in Iranian University Entrance Exam (Konkur)
    • Among: About 155000 students
    • Major: Mathematics and physics
    • Exam date: Jul 2020
  • Programming for Everybody (Getting Started with Python)
    • Issuing organization: Coursera
    • Issue date: Oct 2023
    • Credential ID: VZ56WXQAE84U
  • Algorithms on Strings
    • Issuing organization: Coursera
    • Issue date: Jul 2022
    • Credential ID: AUH6AJLCNUDJ
  • Algorithms on Graphs
    • Issuing organization: Coursera
    • Issue date: Mar 2022
    • Credential ID: DG96Z2HFFP5V
  • Data Structures
    • Issuing organization: Coursera
    • Issue date: Dec 2021
    • Credential ID: 7RCF73D8KLM7
  • Algorithmic Toolbox
    • Issuing organization: Coursera
    • Issue date: Nov 2021
    • Credential ID: FEVXLG7EWV8Z

Professional Experience

Working

Internship

Academic Experience

Honorary Member

  • Oct 2023 - Present
    • Volunteer Experience: Computer Engineering Scientific Association at Iran University of Science and Technology (CESA IUST)

Teaching Assistant

  • Sep 2024 - Jan 2024 · 5 mos
  • Feb 2024 - Jul 2024 · 6 mos
  • Sep 2023 - Jan 2023 · 5 mos
    • Course: Artificial Intelligence
    • Instructor: Dr. Arash Abdi
    • Semester: Fall 2023
  • Feb 2023 - Jul 2023 · 6 mos
  • Feb 2022 - Jul 2022 · 6 mos
  • Sep 2021 - Jan 2022 · 5 mos
    • Course: Fundamentals of Computer Programming
    • Instructor: Dr. Sauleh Eetemadi
    • Semester: Fall 2021