Shahrokh Shahi

Coda Building . 756 W Peachtree St NW . 13th Floor . S1320H . Atlanta . GA 30332 . USA
shahi@gatech.edu

Hello there! Every person has their own unique story. Here is a glimpse into mine. My name is Shahrokh /ʃɑ:hroʊk/ but my friends also call me Shah and Sean and I really like, and used to be called, both of them!

I’m a PhD candidate in Computer Science/Computational Science and Engineering (CSE) in the College of Computing at Georgia Institute of Technology, supervised by Elizabeth Cherry. Prior to starting my PhD, I have been a postgrad student at Imperial College London where I earned my second Master’s degree in Computer Science supervised by Alessandra Russo and Mahdi Cheraghchi.

As a person who maintains a life-long passion in computer science and who is also interested in engineering topics and real-world applications of computer science concepts, Computational Science and Engineering (CSE) has been my first and only major to pursue my PhD in, immediately after earning two Master’s degrees, one in Structural Engineering and another in Computer Science.

Here at Georgia Tech, my research interests mainly include, but not limited to Deep Learning, Data Visual and Analytics, and their applications in addressing real-world problems. Particularly, I have been working on developing Interval Deep Neural Networks to account for uncertainty in the input imprecise data. Currently, I’m working on developing robust Reservoir Computing techniques, such as hybrid Deep Echo State Networks, to predict the dynamics of complex systems with partial observability and imprecise data, such as cardiac electrical waves, markets and finance data, etc. Apart from my research, I have also been working as a software developer and enjoying freelance consulting jobs.


Education and Experience


Skills

(1) Programming Languages:

    (+10 years)
  • Python
  • MATLAB

  • (5 to 10 years)
  • Java
  • C++
  • (1 to 5 years)
  • Bash
  • Fortran
  • VB
  • (Less than 1 year)
  • Julia
  • Perl
  • Prolog

(2) Machine Learning, Data Visual & Analytics:

    (1 to 5 years)
  • TensorFlow
  • Scikit-Learn
  • D3
  • AWS
  • (Less than 1 year)
  • Hadoop
  • Hive
  • Spark/Scala
  • Hbase
  • SQLite
  • OpenRefine
  • Tableau
  • Gephi
  • Microsoft Azure
  • Azure ML Studio
  • MMap
    (PageRank)

(3) Web Development:

    (1 to 5 years)
  • Html
  • CSS
  • Javascript
  • jQuery
  • (Less than 1 year)
  • django
  • Flask
  • Node.js
  • Ajax

(4) App Development:

    (Less than 1 year)
  • iOs/Swift
  • Android

(5) Programming Tools & IDEs:


  • Git
  • GitHub
  • GitLab
  • BitBucket
  • Sublime Text
  • Vim
  • IntelliJ IDEA
  • Eclipse
  • Xcode

(6) Engineering Softwares:


    (1 to 5 years)
  • Abaqus/CAE
  • SolidWorks
  • Comsol Multiphysics
  • HyperMesh
  • AutoCAD

(7) Others:




Portfolio

The following is a few examples of the projects I have accomplished. There are lots of other projects that I'm going to add them to this collection. So, as long as you can see this text, this section is not complete yet and will be evolving and updating! Click on to see more details.

symp

Feature Selection based on Information Theory

Finding the most informative dimensions (pixels) of face images, given a dataset of two classes of males and females images. The most informative pixels are demonstrated by a heatmap of informativeness scores

symp

Binary Classification: Naive Bayesian Classifier, K-Nearest Neighbors (KNN), and Logistic Regression

Employing three different classification algorithms to classify images into two male and female classes. It is shown that logistic regression works slightly better than the other two approaches

symp

Density Estimation with KDE and GMM

First, running PCA on 13-dimensional "Wine Quality" dataset to reduce the dimension to two and visualize the multi-modal behaviour. Then, using the Expectation-Maximization (EM) algorithm to fit a Gaussian Mixture Model (GMM) to the data and comparing the results with Kernel Density Estimation (KDE) and Histogram

symp

Principal Component Analysis (PCA)

Conducting Principal Component Analysis (PCA) on a dataset of face images to find the principal directions. The analysis shows that by keeping the top 50 dimensions, we can pretty much capture all the information in the dataset.

symp

K-Means Clustering

A Simple K-Means Clustering Test

symp

Traveling Salesman Problem (TSP)

Originally, it was a group project (group of four) in CSE Advance Algorithms course. Even though I was exempetd, I accomplished and submitted this project individually, and won one of the performance competitions. In this project, I developed multiple different algorithms (including Brute-Force, Branch-And-Bound, Approximation, and a variety of Local Search approaches) in Python. At the end, a comprehensive report is presented including algorithms details, empirical evaluations, accuracy tables and evaluation plots (QRTDs, SQDs, etc.).

symp

IFEM Computational Toolbox

An Interval Finite Element Toolbox to Study Uncertainties in Mechanical Structures

symp

IFSA - NAFIPS 2019

Best Student Paper Award

symp

Modeling and Simulation

Cellular Automota, Monte Carlo, Python, Jupyter Notebook

symp

Atlanta House Price Prediction

Machine learning-based interactive price estimation and visualization tool. In this project, I developed the front-end

symp

MapReduce on AWS and Azure HDInsight

Multiple analysis on Google n-grams dataset to obtain statistical information using Apache Pig. At first, the interactive PIG shell has been used to check the procedure step-by-step on a smaller dataset through SSH, then the associated PIG script with all commands has been uploaded on the Amazon Elastic MapReduce (EMR).

In a similar project, a MapReduce program to compute some metrics of a large social media (Friendster) graph has been implemented on Microsoft Azure HDInsight in which I developed a Hadoop code in Java.

symp

Data Visual and Analytics

Using Twitter REST API (through Tweepy library) to retrieve friends and followers information on Twitter. Then, Visualize the obtained network graph using Gephi and calculate the metrics of the graph, such as average node degree, diameter, path length, etc.

symp

Data Visual and Analytics

Using D3 to visualize a force-directed network graph (including visual considerations such as labels, scaling node sizes, etc.)

symp

Data Visual and Analytics

Using D3 to visualize a "wine quality" dataset by creating a set of scatter plots. The dataset provides the quality values based on eight red wine chemical features. The symbol properties, such as sizes and colors, are scaled to improve the visualization.

symp

Data Visual and Analytics

Using D3 to create a collapsible dendogram to visualize hierarchical data. The dataset is a json file.

symp

Data Visual and Analytics

Using D3 to create a heatmap to visualize the number of appearances of characters from each six of the houses in HBO’s Game of Thrones across episodes and seasons.

symp

Data Visual and Analytics

Using D3 to create an interactive bar chart to visualize a dataset decribing the total revenue of all the movies in the given franchise.

symp

Data Visual and Analytics

Using D3 to create a choropleth map of world population and displying a tooltip, on hovering over a country, showing the contry's name, population, etc.

symp

Structural Design Optimization

Developing a MATLAB toolbox implementing optimization approaches for engineering applications.

symp

Structural Design Optimization

Developing a MATLAB toolbox implementing optimization approaches for engineering applications.

symp

Structural Design Optimization

Developing a MATLAB toolbox implementing optimization approaches for engineering applications.

symp

Structural Design Optimization

Developing a MATLAB toolbox implementing optimization approaches for engineering applications.

symp

On-line Learning of User Privacy in Social Networks

Developing a web plugin implementing a Parametric Markov Chain (PMC) model to evaluate the privacy risk and social benefit of sharing information with friends in a social network. In this project, Facebook is considered as the main case study. Accordingly, the Facebook Graph API and related libraries have been employed in the developed Java code to create the back-end.

symp

Particle Simulation on Java

Implementing a Java event driven simulation of the movement of particles undergoing elastic collisions.

symp

Algorithms for Graph Partitioning: Theory and Practice

A systematic study of the major techniques and discoveries in the field of Graph Partitioning algorithms, with an emphasis on the Spectral Graph Theory. Application in clustering and community detection in social networks, and also load balancing in parallel computations. (Master's Thesis in Computer Science)

symp

Designing and Development of a Mobile Robot

Employing robotic kits and Raspberry Pi single board computers to implement robotics concepts, such as wheeled configuration and uncertainty in movement, using sensors to implement reactive behaviors and considering probabilistic localization filters and place recognition concepts,etc. Programming in Python.

symp

MSc Thesis in Structural Engineering

Developing a computational package (MATLAB and Java) for multiscale simulation of biomechanical systems: Human aortic heart valve


© 2020 Shahrokh Shahi. Atlanta, GA