Posts by Collection

education

Vali-e-Asr University of Rafsanjan

  • Major: Bachelor of Science - B.S. Computer Engineering
  • Major Track: Software Engineering
  • Location: Rafsanjan, Iran
  • Date: 2018 – 2023
  • Last two years GPA without calculating summer semester(60 credits): 16.8/20
  • CGPA: 16.26/20
  • Bachelor’s Thesis: Community detection in complex network using evolutionary algorithems
  • Bachelor’s Thesis grade: 20/20
Bachelor Graduation Day - image 1, People in this picture:, Parsa KamaliPour, Mohammad Hosein(Cena) Ashoori, Alireza Pourkaveh, Hossein Ahmadi, Me Bachelor Graduation Day - image 2, People in this picture: Mohammad Hosein(Cena) Ashoori,Parsa KamaliPour, Hossein Ahmadi, Me
Bachelor Graduation Day pictures

extracurricular

Vali-e-Asr Video Games Association

  • position: Manager
  • Location: Rafsanjan, Iran
  • Date: Oct 2020 – Jun 2021
  • Video Games Association of Vali-e-Asr University is a student chapter that promotes games and raises consciousness about their positive effects on society. Board members of this association teach students game development and art design for free.

Member of Teaching Assistant Committee

  • Related to: Vali-e-Asr University Scientific Association of Computer Engineering
  • Location: Rafsanjan, Iran
  • Date: July 2022 – June 2023
  • My job was to evaluate and find eligible students to be TAs for each course and to give my experiences to them, prepare them to be accomplished teaching assistants.

industry

Team Co-Founder & Indie Game Developer

  • Team Name: Null References
  • Date: Feb 2020 – Present
  • Parsa Kamalipour and I Co-founded an Indie game development team.
  • We learned Design Patterns and SOLID together and developed A demo of a video game called “Uncertainty.”
  • Our game is an open-source game hosted on GitHub.
  • We left the game untouched for a while because we were busy, but I’m currently working on it.

portfolio

projects

Project ‘Uncertainty’: A video game & Software Engineering Lab project

  • In my spare time, I am currently porting the game to the Godot engine.
  • Uncertainty is an action-adventure space-shooter game, and currently, It’s under development.
  • We have utilized the beta version of this game as our ”Software Engineering Lab” course project.
  • Our game is an open-source game hosted on GitHub.
  • It’s made with Unity3D
  • Currently, our team isn’t at its peak since all its members are busy at university. Still, we’re looking forward to continuing the Uncertainty and eventually finishing it when we’re free.
  • This project consists of:
    • Carefully used design patterns
    • Followed the SOLID principles in codes
    • Project Requirements
    • Project Needs assessment
    • Project Scenario
    • Usecase Diagram
    • Activity Diagram
    • Class Diagram
    • Sequence Diagram
    • Eye-catching art and 3D models
    • Scalable and reusable codebase
Gameplay Screenshot
Gameplay Screenshot

Project Uncertainty Multiplayer(Demo)

About This Project:
For my network engineering course i tried to learn about different ascpects of a fast paced multiplayer game like server and client autoritative movements, lag compensation, server reconsilication, etc.

  • FishNet is our networking solution
  • The game is at a very early stage.
Gameplay
Movement Sync

Symmetry Game

Designing and implementation of:
A game to test our short-term memory for visual information
In the beginning, I designed this project to teach elementary students about symmetry, but then I added some more challenging levels

Symmetry
Symmetry

OpenGL Project

Designing and implementation of:
This is a game that I made for my graphics course using OpenGL

OpenGL
OpenGL

Maze & Mouse

Designing and implementation of:
DFS algorithm for my data structure course
I adjusted the algorithm to find all possible paths

Maze
Maze

Multiple projects regarding to Design and Analysis of Algorithms course

Designing and implementation of:

  • The Closest Pair of Points Problem (Divide & Conquer)
  • Convex Hull (Divide & Conquer)
  • Sudoku Solver (Backtracking)
  • Tournament Scheduler (Divide & Conquer)
  • Huffman Coding (Greedy)
  • Bellman–Ford (Dynamic Programming)
  • Matrix Chain Multiplication (Dynamic Programming)
  • N-Queens Solver (Backtracking)
  • Travelling Salesman Problem (Dynamic Programming)
Convex Hull
Convex Hull 2D

Multiple projects regarding to Artificial Intelligence course

Designing and implementation or Use of:

  • BFS, DFS, IDS, UCS (Uninformed Search Strategies)
  • 8 Puzzle solver using A* & IDA (Informed Heuristic Search Strategies)
  • genetic algorithms, simulated annealing (Local Search)
  • Min-Max, Alpha–Beta (Adversarial Search)
  • classification of a dataset (Basic Machine Learning)
  • knowledge representation using prolog (knowledge-based system)

Blender addons

Designing and implementation of:
Addons (plugins) for learning blender API

Multiple projects regarding to Data Structures course

Designing and implementation of:

  • the Red-Black Tree (self-balancing binary search tree)
  • the AVL Tree (self-balancing binary search tree)
  • the Trie Dictionary (k-ary search tree)
  • the Sparse Matrix via Linked List (Linked List)
sparce
Sparce Matrix Using LikedLists

publications

Solving community detection problem using evolutionary algorithm in social networks.

Published in (submited), 2023

  • We detected communities with high accuracy using Random Walks and a customized genetic algorithm on varied sizes of graphs

Recommended citation: Fahimeh Dabaghi-Zarandi, Mohammad Mehdi Afkhami, Mohammad Hosein Ashoori "Solving community detection problem using evolutionary algorithm in social networks." (submitted).

Extending Refactoring Detection to Kotlin: A Dataset and Comparative Study

Published in (accepted), 2023

  • Programmed and developed essential tools to support the refactoring detection tool, ensuring its functionality and efficiency.
  • Executed rigorous validation of refactoring operations to maintain data integrity and accuracy, contributing to tool improvement.
  • Contributed to the overall enhancement of the refactoring detection tool, leading to improved performance and reliability.

Recommended citation: Iman Hemati Moghadam, Mohammad Mehdi Afkhami, Parsa Kamalipour, Vadim Zaytsev "Extending Refactoring Detection to Kotlin: A Dataset and Comparative Study." (accepted).

research

Undergraduate Research Assistant

  • I have been working on Community Detection algorithms
  • Under the supervision of Dr. Fahimeh Dabaghi-Zarandi
  • Some related fields to my research: Algorithms, Graph Theory, Randomized Algorithms,Evolutionary Algorithms, Deep Learning, Data Mining, and Community Detection
  • Date: Apr 2022 – Jan 2023
  • My key role consisted of:
    1- Reading and reviewing related papers (Investigation)
    2- Implementing ideas in Python (Data curation, Software, Programming)
    3- Testing and improving the written code (Validation)
    4- Gathering information and writing the initial text for the paper (Writing primary draft preparation)
  • One paper submitted.

Remote Research Assistant

  • Working and collaborating with the “Electrical Engineering, Mathematics and Computer Science” department.
  • Field of Research: Software Refactoring
  • Research group: FMT group - Formal Methods and Tools
  • Date: Aug 2023 – Present
  • Supervisor: Dr. Iman Hemati Moghadam
  • I am engaged in software engineering research: developing tools critical to research outcomes.
  • One paper submitted.

talks

teaching

Teaching Assistant of Design and Analysis of Algorithms course

Undergraduate course, Vali-e-Asr University of Rafsanjan, Department of Computer Engineering, 2021

  • Course: Design and Analysis of Algorithms
  • Course instructor: Dr. Fahimeh Dabaghi-Zarandi
  • Semester: Spring 2021
  • Team size: 2 TAs
  • My key role consisted of:
    • Correcting students’ homeworks
    • Holding up recitation classes
    • Designing Assignments and Projects for students

Teaching Assistant of Data Structures course

Undergraduate course, Vali-e-Asr University of Rafsanjan, Department of Computer Engineering, 2021

  • Course: Data Structures
  • Course instructor: Dr. Fahimeh Dabaghi-Zarandi
  • Semester: Spring 2021
  • Team size: 2 TAs
  • My key role consisted of:
    • Correcting students’ homeworks
    • Holding up recitation classes
    • Designing Assignments and Projects for students

Teaching Assistant of Design and Analysis of Algorithms course

Undergraduate course, Vali-e-Asr University of Rafsanjan, Department of Computer Engineering, 2021

  • Course: Design and Analysis of Algorithms
  • Course instructor: Dr. Fahimeh Dabaghi-Zarandi
  • Semester: Fall 2021
  • Team size: 4 TAs
  • My key role consisted of:
    • Correcting students’ homeworks
    • Holding up recitation classes
    • Designing Assignments and Projects for students

Teaching Assistant of Discrete Mathematics course

Undergraduate course, Vali-e-Asr University of Rafsanjan, Department of Computer Engineering, 2021

  • Course: Discrete Mathematics
  • Course instructor: Dr. Fahimeh Dabaghi-Zarandi
  • Semester: Fall 2021
  • Team size: 4 TAs
  • My key role consisted of:
    • Correcting students’ homeworks
    • Holding up recitation classes
    • Designing Assignments and Projects for students

Teaching Assistant of Data Structures course

Undergraduate course, Vali-e-Asr University of Rafsanjan, Department of Computer Engineering, 2021

  • Course: Data Structures
  • Course instructor: Dr. Fahimeh Dabaghi-Zarandi
  • Semester: Fall 2021
  • Team size: 5 TAs
  • My key role consisted of:
    • Correcting students’ homeworks
    • Holding up recitation classes
    • Designing Assignments and Projects for students

Teaching Assistant of Design and Analysis of Algorithms course

Undergraduate course, Vali-e-Asr University of Rafsanjan, Department of Computer Engineering, 2022

  • Course: Design and Analysis of Algorithms
  • Course instructor: Dr. Fahimeh Dabaghi-Zarandi
  • Semester: Spring 2022
  • Team size: 6 TAs
  • My key role consisted of:
    • Correcting students’ homeworks
    • Holding up recitation classes
    • Designing Assignments and Projects for students
This was an extra credit project (Convex Hull) designed for the divide and conquer section. The base code was implemented so students could focus only on the algorithm.

Teaching Assistant of Discrete Mathematics course

Undergraduate course, Vali-e-Asr University of Rafsanjan, Department of Computer Engineering, 2022

  • Course: Discrete Mathematics
  • Course instructor: Dr. Fahimeh Dabaghi-Zarandi
  • Semester: Spring 2022
  • Team size: 5 TAs
  • My key role consisted of:
    • Correcting students’ homeworks
    • Holding up recitation classes
    • Designing Assignments and Projects for students

Teaching Assistant of Data Structures course

Undergraduate course, Vali-e-Asr University of Rafsanjan, Department of Computer Engineering, 2022

  • Course: Data Structures
  • Course instructor: Dr. Fahimeh Dabaghi-Zarandi
  • Semester: Spring 2022
  • Team size: 8 TAs
  • My key role consisted of:
    • Correcting students’ homeworks
    • Holding up recitation classes
    • Designing Assignments and Projects for students
    • Training other TAs .
In an extra credit project for students, I designed a Tetris game with the basic code complete, but the main functionality was the assignment

Teaching Assistant of Operating Systems course

Undergraduate course, Vali-e-Asr University of Rafsanjan, Department of Computer Engineering, 2022

  • Course: Operating Systems
  • Course instructor: Dr. Fahimeh Dabaghi-Zarandi
  • Semester: Spring 2022
  • Team size: 4 TAs
  • My key role consisted of:
    • Holding up recitation classes

Instructor for The Summer Coding Bootcamp

Coding Bootcamp, Vali-e-Asr University Scientific Association of Computer Engineering, 2022

Summer Coding Bootcamp, the most extensive online event held by the Vali-e-Asr University Scientific Association of Computer Engineering, took place in the summer of 2022. This coding Bootcamp is something I’m proud to be a part of, both as an instructor and as a part of the crew that made it happen. Unity and game development

Teaching Assistant of Artificial intelligence course

Undergraduate course, Vali-e-Asr University of Rafsanjan, Department of Computer Engineering, 2022

  • Course: Artificial intelligence
  • Course instructor: Dr. Amir Hossein Hadjahmadi
  • Semester: Fall 2022
  • Team size: 3
  • My key role consisted of:
    • Correcting students’ homeworks
    • Holding up recitation classes
    • Designing Assignments and Projects for students