Here are a few of the course projects I've done during my B.Sc. and M.Sc. degrees. Some of the related materials are linked for each project but a few of them are not in English. Please let me know if you are interested in any of them and I will provide more details.

Machine Vision


Simulation and implementation of basic robotic applications such as forward and inverse kinematics and calibration in MATLAB environment and using Bioloid educational robot kit

Advanced Robotics

Distributed Artificial Intelligence

Machine Learning

Implementation of an adaptive tile coding for value function approximation, materials available here.

Pattern Recognition

Implementation of different classifiers for classification of Persian hand-written letters including Bayes optimal classifier with parametric and non-parametric pdf estimates, K-nearest neighbor classifier, linear classifier, SVM classifier, MLP classifier, and RBF classifier, including the use of optimization methods to find the optimal parameters and also using feature conditioning methodologies.

Bio-inspired Computing

A survey on Self-Reproduction, available here.

Asynchronous System Design

History-Based Dynamic Voltage Scaling for Globally Asynchronous Locally Synchronous (GALS) Network On Chip (NoC):

A key concern in modern embedded systems is power consumption. Increasing demands for longer battery life and heating issues associated with power have led researchers to develop new ways to reduce power and energy consumption in embedded systems. Dynamic voltage and frequency scaling techniques are used to dynamically alter the voltage and frequency levels of the circuit to the lowest possible level to still yield high performance. In this research, we develop a History-Base Dynamic Voltage Scaling (DVS) scheme for a GALS NOC in 45nm technology. This DVS architecture exploits the link utilization and adjusts the router voltages among a few voltage modes.

The summary is available here.

VLSI System Design

Computer Architecture Lab

Design and implementation of a SRAM controller, USART, and a pipelined MIPS processor in Verilog on FPGA

Computer Network

Implementation of a peer-to-peer network in Java

Computer Aided Design

Hardware implementation of an image decompressor on Altera DE2 board

General Workshop

Design and Implementation of a line tracking robot


Hardware Implementation of Proposed Architectures for Designing Systems in Electronic System Level | Supervisor: Prof. Z. Navabi

Download the full report here.



Wireless control of servo and DC motors of a robot using RF modules

Operating System

Design and Implementation of a queue manager

Logic Design Lab

Design and Implementation of a CPU on FPGA using Quartus

Design and Implementation of Compilers

Design and implementation of a simple compiler using YACC

Computer Architecture

Design and implementation of Single Cycle, Multi Cycle and Pipeline processor using ModelSim

Advanced Programming

Design and implementation of a small strategic network game in C++

Fundamentals of Computers and Programming

Design and implementation of a simple text editor (SMTE)