Projects

Minimum-Cost Flow Algorithms on Randomized Source–Sink Networks

Experimental Study of Network Flow Optimization Algorithms - Graduate Course Project, Concordia University, Montreal, Quebec, [November, 01, 2024]

  • Implemented the Successive Shortest Path algorithm from scratch, including residual graph construction, Bellman–Ford based minimum-cost path extraction, and flow augmentation logic.
  • Designed and executed large-scale experimental evaluation on randomized Euclidean directed graphs across 28 configurations with varying density (š‘Ÿ), capacity bounds, and cost regimes.
  • Compared SSP, Capacity Scaling, Scaling-SSP, and Primal–Dual algorithms using metrics including total cost, flow value, number of augmenting paths, mean path length, and proportional path length.
  • Demonstrated that the Primal–Dual algorithm consistently achieves optimal minimum cost, while SSP achieves competitive performance in sparse regimes and degrades in dense graphs.
  • Project Report Click here
  • Codes and GitHub Repository: Click here
Report Screenshot
Report Screenshot

Optimizing Graph Neural Networks for Scalable Community Detection

Evaluation of Scalable Training Strategies for Graph Neural Networks - Graduate Course Project, Concordia University, Montreal, Quebec, [November, 01, 2024]

  • Designed and implemented scalable GNN-based community detection pipelines using GCN and GraphSAGE architectures with full-batch training, neighbor sampling, and graph partitioning strategies.
  • Conducted extensive experiments on SBM (1K, 10K), CORA, and Reddit datasets, demonstrating that neighbor sampling and graph partitioning enable training on large graphs where full-batch methods fail due to memory constraints.
  • Achieved up to 90% accuracy on SBM (10K nodes) with graph partitioning while reducing memory footprint, and enabled scalable training on Reddit where full-batch methods resulted in out-of-memory failures.
  • Analyzed trade-offs between accuracy, training time, and memory usage, providing practical guidelines for scalable GNN deployment in real-world large-scale social networks.
  • Presentation Slides Click here
  • Project Proposal Click here
  • Project Report Click here
  • Codes and GitHub Repository: Click here
Report Screenshot
Report Screenshot

Multiple assignments regarding to the Intro to Data Mining course

Undergraduate Course Project, Vali-e-Asr University of Rafsanjan, Department of Computer Engineering, Rafsanjān, Kerman, Iran, [February, 01, 2022]

Working with the following topics:

  • Pandas, Numpy (basic Libraries)
  • Standard Scaler, MinMax Scaler, Robust Scaler, OneHot Encoder, LabelEncoder, PCA (Data Pre Processing)
  • Apriori Algorithm (Association Rule Mining)
  • Matplotlib, Seaborn (Data Visualization)
  • K-Means, Agglomerative Clustering, DBSCAN (Clustering)
  • K-Nearest Neighbors Algorithm (Classifier)
  • Decision Tree, Support Vector Machines, Multi-Layer Perceptron (Machine Learning)
AI logo
DTM logo

SYMPHONYC: The database of a music streaming service similar to Spotify.

Undergraduate Course Project, Vali-e-Asr University of Rafsanjan, Department of Computer Engineering, Rafsanjān, Kerman, Iran, [September, 01, 2021]

A project regarding the Database course. This project consists of:

  • Initial Information Gathering for building a database
  • Enhanced entity-relationship model
  • Relational Model
  • SQL codes for implementing and setting up this database
  • Admin and Model codes for setting up and connecting the database to Django
  • Python codes to analyze, gather helpful information out of the database, and plot them via matplotlib
  • some extra SQL codes to learn and master the SQL itself
SYMPHONYC DB Screenshot
SYMPHONYC DB Screenshot

Some codes and projects related to the Compiler Design, Digital System Design, Assembly and microprocessor, Operating Systems courses, Digital Logic Circuit Design, Programming Language Design

Undergraduate Course Project, Vali-e-Asr University of Rafsanjan, Department of Computer Engineering, Rafsanjān, Kerman, Iran, [September, 01, 2021]

Designing and implementation of:

  • A Simple Python-based compiler (The principles of Compiler Design)
  • Round Robin time scheduling algorithm (Operating Systems)
  • The assembly language implementation of a banking system (Microprocessors and Assembly language)
  • VHDL codes of diffrent parts of a basic computer (Digital Systems Design)
  • A BCD to 7 Segment Decoder (Digital Logic Circuit Design)
  • A comparison among Python, Cython, and the C languages (Programming Language Design)
CE logo
CE logo

Multiple projects regarding to Artificial Intelligence course

Undergraduate Course Project, Vali-e-Asr University of Rafsanjan, Department of Computer Engineering, Rafsanjān, Kerman, Iran, [September, 01, 2021]

Designing and implementation 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)
AI logo
AI logo

Project ā€˜Uncertainty’: A video game & Software Engineering Lab project

Undergraduate Course Project & For Fun!, Vali-e-Asr University of Rafsanjan, Department of Computer Engineering & Null References: Game Development Team, Rafsanjān & Kerman & Yazd, Iran, [February, 01, 2021]

  • 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

Multiple projects regarding to Design and Analysis of Algorithms course

Undergraduate Course Project, Vali-e-Asr University of Rafsanjan, Department of Computer Engineering, Rafsanjān, Kerman, Iran, [September, 01, 2020]

Designing and implementation of:

  • The Closest Pair of Points Problem (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)
DA logo
DA logo

Two projects regarding to when I was learning the Unity

Just for fun!, Null References: Game Development Team, Kerman, Iran, [July, 01, 2020]

Projects that I worked on:

  • Mad-Birds (A Angry Birds clone made using Unity)
  • 3rd-person-playground (A 3D third-person Demo made in Unity3D)
unity logo
Unity logo

Multiple projects regarding to Data Structures and Algorithms course

Undergraduate Course Project, Vali-e-Asr University of Rafsanjan, Department of Computer Engineering, Rafsanjān, Kerman, Iran, [September, 01, 2019]

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)
  • the Rat in the maze problem (Backtracking & Stacks)
DS logo
DS logo