Projects

Real-time Systems (Real-time display of multiple time zones):

Teammate(s): Sara Khosravi, and Matina Mehdizadeh

Description: In this project, we have 4 threads that each thread displays a different time zone. The threads have different priorities and are scheduled using FIFO.

Language(s): Java

GitHub

Principals of Image Processing:

Description: This course had multiple projects that are available on GitHub. I selected two of my favorites to discuss here.
1. Active Contours: Active contour model, also called snakes, is a framework in computer vision for delineating an object outline from a possibly noisy 2D image. The snakes model is popular in computer vision, and snakes are widely used in applications like object tracking, shape recognition, segmentation, edge detection, and stereo matching.

2. Morphing: Morphing is a special effect in motion pictures and animations that changes (or morphs) one image or shape into another through a seamless transition. 

Language(s): Python (Numpy, and CV2)

GitHub

contour.mp4
morph.mp4

Systems Analysis and Design (Fuel App):

Teammate(s): Matina Mehdizadeh, Sara Khosravi, and Sepehr Amini Afshar

Description: In this project, we developed a website for fuel delivery. The customer requests a delivery and the fuel man comes to the destination and delivers the fuel.

Language(s): Python, Django, CSS, HTML, and JavaScript

GitHub

Bioinformatics (Acute Myeloid Leukemia Microarray Analysis):

Description: For this project, I used the GSE48558 dataset. I did some preprocessing on the data and dimension reduction, and I selected genes with high and low expressions in AML. I then analyzed the pathways and gene anthologies.

Language(s): R

Notebook

bio.pdf

Machine Learning:

Teammate(s): Reza Amini Majd, and Alireza Shaterian

Description: This project consisted of two phases. Phase 1 was about determining whether a patient needs to be kept in ICU or not. Phase 2 was about sarcasm detection on twitter's data.

Language(s): Python (Sklearn, Numpy, Pandas, and Pytorch)

Phase 1: Notebook

Phase 2: Notebook 1 - Notebook 2

Numerical Computation (Paper implementation - NLP):

Teammate(s): Sepehr Amini Afshar

Description: In this project, we implemented the method described in "Application of Doc2vec and Stochastic Gradient Descent algorithms for Text Categorization".

Language(s): Python (Numpy, Sklearn, and NLTK)

Notebook

Application_of_Doc2vec_and_Stochastic_Gradient_Descent_algorithms.pdf

Embedded Systems (Smart Door Lock using QR Code):

Teammate(s): Seyede Saba Hashemi, and Parham Saremi

Description: In this project, we developed and designed a smart door lock that authenticates the entrance of users. The door opens by scanning the QR code shown on an OLED using the mobile app that we developed.

Language(s): C (Arduino)

GitHub

qr_code.mp4

Computer Architecture (Processor):

Teammate(s): Zahra Yousefi Jamarani, Kimia Noorbakhsh, and Tarlan Bahadori

Description: In this project, we implemented a processor that works with both integer and floating-point inputs. We used pipelining method to increase its efficiency.

Tool(s): Quartus

Download

Compiler (Decaf Compiler):

Teammate(s): Masih Eskandar, and Farzam Zohdi Nasab

Description: Compiler for Decaf Programming Language. Developed as a course project for the Compilers course. Decaf is a strongly-typed, object-oriented language with support for inheritance and encapsulation. By design, it has many similarities with C/C++/Java, so you should find it fairly easy to pick up. But it is not an exact match to any of those languages. The feature set has been trimmed down and simplified to keep the programming projects manageable.

Language(s): Python, and Assembly

GitHub

Computer Structure and Language (CFG for PTX):

Teammate(s): Mohammad Farahani

 Description: In this project, we created the control flow graph for the codes written in the PTX assembly language.

GitHub

Advanced Programming (Deulyst): 

Teammate(s): Zahra Yousefi Jamarani, and Seyede Saba Hashemi

Description: Duelyst is a free, fair, competitive tactics game. Inspired by this game, we developed a modified version of this game in our course project.  This project was awarded Best Project in Advanced Programming, in the year 2018, fall semester. 

Language(s): Java

GitHub

duelyst.mp4

Fundamental Programming (Alter Tank):

Description: Tank Trouble is an online tank game where you drive in a maze and shoot missiles at your enemies. Alter Tank is a modified version of this game. In this project, I developed a similar project with some differences in visualizations and agents' abilities.

Language(s): C

GitHub

alter_tank.mp4