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.
| 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 |
| 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 |
- ๐ง From-Scratch Implementations
- ๐ Applied Machine Learning and Comparative Studies
- ๐ค Deep Learning Projects
- ๐๏ธ Computer Vision Projects
- ๐ Independent Projects
- ๐ผ๏ธ Digital Image Processing and Neural Networks
- ๐งฌ Evolutionary Computation, Fuzzy Systems, and Robotics
- ๐ป Algorithms, Artificial Intelligence, and Compiler Design
- ๐ฅ๏ธ Digital Systems, Hardware, and Low-Level Design
- ๐ ๏ธ Tools and Technologies
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.
-
๐ 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.
-
๐ 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.
-
๐งฉ 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.
- ๐ง 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.
- ๐ 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.
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.
-
โ๏ธ 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 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.
-
๐ฅ 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 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.
-
๐ 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.
-
๐ 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 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.
-
๐งฎ 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.
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.