Skip to content
View mehdi-moha's full-sized avatar

Block or report mehdi-moha

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please donโ€™t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
mehdi-moha/README.md

๐ŸŽ“ Academic Portfolio

A structured academic portfolio by Mehdi Mohammadi, documenting projects, assignments, simulations, reports, notebooks, and independent implementations across multiple areas of computer science and engineering.

This repository includes work in software engineering, digital systems, computer architecture, machine learning, statistical pattern recognition, data mining, deep learning, computer vision, robotics, fuzzy systems, evolutionary computation, and digital image processing.

The portfolio intentionally separates from-scratch algorithmic implementations from applied projects that use standard scientific computing, machine learning, simulation, or deep learning tools.


๐Ÿ“Œ Repository Structure

Folder Academic Stage Main Topics
AAS AAS in Computer Software Digital logic circuits and PSpice-based simulation
BSc BSc in Software Engineering Algorithms, AI, compiler design, VHDL CPU design, computer architecture, electronics, and microprocessors
1st MSc MSc in Computer Systems Architecture Digital image processing and neural networks
2nd MSc MSc in Artificial Intelligence and Robotics Machine learning, deep learning, computer vision, data mining, robotics, fuzzy systems, evolutionary computation, and statistical pattern recognition

โญ Selected Highlights

Functional Area Highlighted Projects
From-Scratch Machine Learning Bayesian Classification, K-Means, EM/GMM
From-Scratch Pattern Recognition Parametric Classification, KNN/MED/MMD, Linear Discriminant Functions, MLP Backpropagation
Data Mining from Scratch ChiMerge, DBSCAN, AdaBoost
Visual Recognition and Image Classification Persian Handwritten Digit Recognition - HODA, Flower Species Classification, German Traffic Sign Recognition
Generative Deep Learning DCGAN for Persian Digit Generation, VAE for Persian Digit Reconstruction and Generation
Vision-Language Modeling Image Captioning on Flickr8k
Medical AI and Health Data Analysis Chest X-Ray Pneumonia Detection, Diabetes Prediction Analysis
Semantic Segmentation Pet Segmentation with U-Net
Image Processing and Restoration Digital Image Processing in MATLAB, Image Denoising Methods Comparison
Digital Systems and Embedded Design Manoโ€™s Basic Computer CPU in VHDL, 8051 Digital Clock, LED Matrix Controller
Optimization, Fuzzy Control, and Robotics Artificial Bee Colony, Multiobjective GA, Fuzzy HVAC Control, Grid Wall Following, Robotic Arm Kinematics

๐Ÿงญ Contents


๐Ÿง  From-Scratch Implementations

Projects in this section were implemented from first principles.
The From Scratch label is used only for projects where the core algorithmic logic was manually implemented without relying on machine learning or deep learning libraries.


๐Ÿ“Œ Machine Learning from Scratch

  • ๐Ÿ“Œ Bayesian Classification from Scratch
    Multivariate Gaussian classification implemented from first principles, including manual maximum likelihood parameter estimation, covariance matrix computation, discriminant function implementation, decision-boundary analysis, and interactive point classification.

  • ๐Ÿ”ต K-Means and EM/GMM from Scratch
    Manual implementation of K-Means clustering and Expectation-Maximization for Gaussian mixture modeling. Includes Euclidean distance computation, centroid updates, posterior probability estimation, covariance updates, animated convergence visualization, and contour-based analysis.


๐Ÿ“Š Statistical Pattern Recognition from Scratch

  • ๐Ÿ“Š Parametric Classification from Scratch
    Bayesian classifiers with manual maximum likelihood estimation, discriminant functions, leave-one-out cross-validation, confusion matrices, and misclassification analysis on Iris and Liquid datasets, plus empirical/theoretical error evaluation on the Normal dataset.

  • ๐Ÿ” KNN, MED, and MMD from Scratch
    Non-parametric and distance-based classification using manually implemented KNN, Parzen window volume, Euclidean distance, Mahalanobis distance, minimum mean distance, and class-centroid-based decision rules.

  • ๐Ÿ“ Linear Discriminant Functions from Scratch
    Implementation of perceptron learning, least-squares classification, and multi-category logistic discrimination. Includes one-vs-rest and one-vs-one classifiers, spatial visualization, and ambiguous decision-region analysis.

  • ๐Ÿง  MLP Backpropagation from Scratch
    Manual 3-4-2 multilayer perceptron implementation with sigmoid activations, adaptive learning rate, normalized inputs, trained weights, confusion matrix, and misclassification analysis.


๐Ÿงฉ Data Mining from Scratch

  • ๐Ÿงฉ ChiMerge Discretization from Scratch
    Chi-square-based continuous attribute discretization implemented from first principles. Includes manual chi-square statistics, interval merging based on statistical significance, and automated binning across Iris dataset features.

  • ๐ŸŒ€ DBSCAN Clustering with Animated Visualization from Scratch
    Density-based clustering implemented from scratch with epsilon-neighborhood computation, core/border/noise labeling, cluster expansion using a seed list, and animated visualization on smiley-face and two-spiral datasets.

  • ๐Ÿš€ AdaBoost Classifier from Scratch
    AdaBoost ensemble learning implemented from scratch for nonlinear binary classification. Uses weak single-layer linear classifiers, manual weighted resampling, sample-weight updates, weak learner weighting, and final classification visualization.


๐Ÿง  Deep Learning from Scratch

  • ๐Ÿง  Dynamic MLP from Scratch
    Manual implementation of forward propagation, backpropagation, gradient descent, cross-entropy loss, sigmoid activation, and configurable multilayer neural-network architectures in MATLAB. Includes both Cell-based and Eval-based implementations for cardiovascular disease prediction and XOR learning.

๐Ÿ” Neural Networks from Scratch

  • ๐Ÿ” Hopfield Shapes: Pattern Recovery from Scratch
    Discrete Hopfield neural network implemented from scratch in MATLAB for associative memory and binary pattern recovery. The model stores 11ร—11 geometric patterns and reconstructs corrupted circle, square, and triangle inputs using Hebbian learning and synchronous neuron updates.

๐Ÿ“Š Applied Machine Learning and Comparative Studies

Projects in this section use standard machine learning libraries, built-in classifiers, or comparative workflows.
They are intentionally separated from From-Scratch implementations.

  • ๐Ÿ“ˆ Dimensionality Reduction and Multi-Classifier Comparison
    Comparative machine learning workflow using PCA, Kernel PCA, and multiple classifiers in MATLAB and Python. The MATLAB version uses built-in classifiers, while the Python version uses scikit-learn classifiers including LDA, Naive Bayes, SVM, neural network, and decision tree models.

  • ๐Ÿฉบ Diabetes Prediction Analysis
    Comparative diabetes prediction study using supervised machine learning models in scikit-learn. Includes dataset cleaning, categorical encoding, numerical feature standardization, SMOTENC class-imbalance handling, ExtraTrees-based feature selection, and evaluation using accuracy, precision, recall, F1-score, confusion matrices, and classification reports.


๐Ÿค– Deep Learning Projects

  • โœ๏ธ Persian Handwritten Digit Recognition - HODA
    Fully-connected neural network for 10-class Persian handwritten digit classification using the HODA dataset. Includes image padding, resizing, normalization, dropout, regularization, Comet ML Bayesian hyperparameter optimization, ModelCheckpoint, training/validation curves, and held-out test evaluation.

  • ๐ŸŒธ Flower Species Classification
    CNN-based TensorFlow/Keras classifier for five flower species: daisy, dandelion, roses, sunflowers, and tulips. Includes stratified train/validation/test splitting, data augmentation, optimizer comparison, EarlyStopping, ReduceLROnPlateau, and held-out test evaluation.

  • ๐ŸŽจ DCGAN for Persian Digit Generation
    Deep Convolutional GAN for generating Persian handwritten digits using the HODA dataset. Includes convolutional generator and discriminator networks, adversarial training, label smoothing, fixed-noise sample visualization, and generator export.

  • ๐Ÿงฌ VAE for Persian Digit Reconstruction and Generation
    Variational Autoencoder for Persian digit reconstruction and generation using a 16-dimensional latent space, reparameterization trick, reconstruction loss, KL-divergence regularization, latent sampling, and separate encoder/decoder export.

  • ๐Ÿ–ผ๏ธ Image Captioning on Flickr8k
    Encoder-decoder image captioning model using Xception visual features and LSTM-based text modeling. Includes caption cleaning, tokenizer-based vocabulary construction, beam search decoding, repetition control, and sample caption generation.


๐Ÿ‘๏ธ Computer Vision Projects

  • ๐Ÿ‘๏ธ Computer Vision Assignments
    Collection of computer vision assignments covering color-space conversion, Gaussian noise injection, spatial filtering, Canny edge detection, histogram equalization, K-means color quantization, thresholding, affine and perspective transformations, contour detection, Hough Circle Transform, and object counting.

  • ๐Ÿšฆ German Traffic Sign Recognition
    TensorFlow/Keras CNN classifier for the GTSRB traffic sign dataset with 43 classes. Includes CLAHE illumination enhancement, normalization, convolutional blocks, Batch Normalization, Dropout, Global Average Pooling, EarlyStopping, ReduceLROnPlateau, and official test-set evaluation.


๐Ÿš€ Independent Projects

  • ๐Ÿฅ Chest X-Ray Pneumonia Detection
    PyTorch deep CNN for binary classification of chest radiographs into Normal and Pneumonia classes. The project uses a leakage-aware patient/group-level split, grayscale preprocessing, weighted cross-entropy, threshold optimization with Youdenโ€™s J statistic, ROC/PR analysis, calibration evaluation, confusion matrix, training curves, and prediction visualization.

  • ๐ŸŒซ๏ธ Image Denoising Methods Comparison (From Scratch with Research Report)
    Independent research-style image processing project with a complete report and from-scratch implementation of Gaussian smoothing, linear diffusion, and Perona-Malik anisotropic diffusion. The study compares denoising performance using PSNR, SSIM, edge preservation index, diffusivity analysis, contour visualization, and metric sensitivity analysis.

  • ๐Ÿพ Pet Segmentation with U-Net
    PyTorch U-Net for binary semantic segmentation of pet images from the Oxford-IIIT Pet dataset. Includes breed-stratified splitting, Albumentations preprocessing, Group Normalization, combined Cross-Entropy and Focal Tversky loss, mixed precision training, validation-based threshold tuning, connected-component post-processing, and official test-set evaluation.


๐Ÿ–ผ๏ธ Digital Image Processing and Neural Networks

๐Ÿ–ผ๏ธ Digital Image Processing

  • ๐Ÿ–ผ๏ธ Digital Image Processing in MATLAB
    MATLAB implementations of fundamental digital image processing techniques, including gamma correction, JPEG compression quality analysis, RGB channel manipulation, color quantization, histogram equalization, piecewise linear transformations, bit-plane slicing, spatial filtering, noise reduction, edge detection, morphological operations, Laplacian sharpening, and image quality metrics such as MSE and PSNR.

๐Ÿง  Neural Networks

  • ๐Ÿ“ˆ SineNet: Function Approximation
    Feedforward neural network for noisy sine-function approximation with train/validation/test splitting, regression visualization, and predicted-versus-actual comparison.

  • ๐Ÿ“Š FFNN Regression: Multi-Input Prediction
    Feedforward neural network for regression analysis on a tabular dataset with four input features and one target output using tansig/purelin activations and MSE-based performance evaluation.

  • ๐Ÿ”ข Hopfield Digits: Pattern Recognition
    Hopfield recurrent neural network for handwritten digit recognition and associative recall under varying salt-and-pepper noise levels, with iterative convergence visualization across multiple time steps.


๐Ÿงฌ Evolutionary Computation, Fuzzy Systems, and Robotics

  • ๐Ÿ Artificial Bee Colony Optimization
    Swarm intelligence optimization for Rastrigin function minimization using employed bees, onlooker bees, scout bees, roulette-wheel selection, stagnation handling, exploration-exploitation balancing, convergence visualization, and contour analysis.

  • ๐ŸŽฏ Multiobjective Genetic Algorithm
    NSGA-II-based constrained bi-objective optimization with non-dominated sorting, Pareto-front generation, linear and nonlinear constraint handling, and visualization of Pareto-optimal solutions.

  • ๐ŸŒก๏ธ Thermal Comfort Control System
    Mamdani fuzzy inference system for HVAC power dissipation control using temperature and relative humidity inputs, Gaussian, triangular, and trapezoidal membership functions, 15 fuzzy rules, min-max inference, centroid defuzzification, and surface visualization.

  • ๐Ÿงญ Grid Wall Following
    Grid-based maze navigation using right-hand and left-hand wall-following strategies, directional priority rules, visited-cell tracking, maximum-iteration termination, animated path visualization, and performance metrics including success rate, path length, and mean steps.

  • ๐Ÿฆพ Robotic Arm Kinematics and Workspace Analysis
    Analytical and simulation-based study of robotic arm kinematics using MATLAB. Includes forward and inverse kinematics derivation for a custom 3-DOF RRP robotic arm with transformation matrices, workspace reachability conditions, and elbow-up/elbow-down configurations. Also includes PUMA 560 workspace simulation using Denavit-Hartenberg parameters, cumulative transformation matrices, real-time 3D animation, and end-effector trajectory visualization.


๐Ÿ’ป Algorithms, Artificial Intelligence, and Compiler Design

  • ๐Ÿ”— Algorithms Design Projects
    Dynamic programming projects including Matrix Chain Multiplication, Subset Sum with state tracking, and space-optimized Binomial Coefficient calculation using Pascalโ€™s Triangle.

  • ๐Ÿงญ Maze Solver with BFS and A*
    Pathfinding implementation using Breadth-First Search and A* Search with Manhattan-distance heuristic. Includes route optimization comparison, node expansion analysis, and queue-operation metrics.

  • ๐Ÿ”ฃ Simple Parser
    Stack-based operator-precedence parser for arithmetic-expression syntax analysis using shift/reduce operations, grammar validation, and error detection.


๐Ÿ–ฅ๏ธ Digital Systems, Hardware, and Low-Level Design

  • ๐Ÿงฎ Manoโ€™s Basic Computer CPU Implementation in VHDL
    Complete hardware implementation of Manoโ€™s Basic Computer CPU architecture in structural VHDL. Includes control unit, 16-bit ALU, registers, memory unit, data bus, control flags, Fetch-Decode-Execute cycle, interrupt mechanism, and memory-reference, register-reference, and I/O instruction support.

  • ๐Ÿงฑ Computer Architecture Lab - Processor Design
    8-bit ALU and datapath implementation using Proteus simulation, 74LS181 ALU chips, 74-series registers, and control-signal management for multi-bit calculations.

  • ๐Ÿ”Œ Electronic Circuit Designs
    Electronic circuit design, simulation, verification, component testing, and performance measurement using Multisim-based laboratory experiments.

  • โฑ๏ธ 8051 Digital Clock in Assembly
    Real-time digital clock using 8051 Assembly Language with Timer0 interrupts, external interrupt handling, BCD conversion, hour/minute adjustment, and automatic 24-hour reset functionality in a Multisim simulation environment.

  • ๐Ÿ’ก 8ร—8 LED Matrix Display Controller
    LED scrolling display controller using BASCOM-AVR with timer interrupts, dynamic scanning, speed control, pause/resume functionality, pattern animation, and lookup-table design in Proteus.

  • ๐Ÿงฉ Digital Logic Circuits Lab
    Implementation and verification of digital logic circuits using PSpice software. Includes gate-level circuit design, simulation, and analysis for combinational and sequential logic experiments.


๐Ÿ› ๏ธ Tools and Technologies


๐Ÿ“„ Notes

This repository is intended as a structured academic archive and portfolio.

It includes source code, notebooks, simulation files, reports, presentations, datasets where applicable, and project documentation from multiple academic stages.

Some projects are implemented from scratch, while others use standard scientific computing, simulation, machine learning, or deep learning tools. These categories are intentionally separated throughout this README.

Pinned Loading

  1. Academic-Portfolio Academic-Portfolio Public

    An academic repository offering a coherent view of a trajectory connecting software engineering, computer architecture, and artificial intelligence.

    Jupyter Notebook