SHAHROKH SHAHI

PhD in Computer Science, Postdoctoral Researcher
College of Computing, Georgia Institute of Technology.


Coda Building

756 W Peachtree St NW, 13th Floor, S1320H

Atlanta, GA 30332, USA

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 graduate in Computer Science (CS) / Computational Science and Engineering (CSE), and a postdoctoral researcher in the College of Computing at Georgia Institute of Technology, advised by Elizabeth Cherry. Prior to accomplishing 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.


More details about my experience are available in projects and publications sections. A growing set of codes and computational packages that I developed is also available for download.

Currently, I'm also teaching Design and Analysis of Algorithms in the college of computing at Georgia Tech. My teaching material including the lecture notes, videos, demo codes, assignments, and exams are available on the course website.

🎓 PhD in Computer Science, Computational Science and Engineering (CSE) Georgia Institute of Technology, US.

🎓 MSc in Computational Science and Engineering (CSE) Georgia Institute of Technology, US.

🎓 MSc in Computer Science Imperial College London, UK.

🎓 MSc in Structural Engineering University of Tehran, Iran.

🎓 BS in EngineeringUniversity of Tehran, Iran.



How it started ...

I have always maintained a life-long passion in Computer Science concepts, including participating in various programming and robotic contests and Informatic Olympiads since high school. Later, this passion motivated me to apply these concepts in real world applications during my studies in Engineering, where I developed several software and computational packages helping experts and researchers in engineering fields, such as computational mechanics and structural engineering. For instance, during my first master's degree, I developed a computational package, with a user-friendly graphical user interface, for simulating biomechanical systems in different length scales at High Performing Computing Lab (HPC Lab) at University of Tehran.


Aside from all interesting projects that I've accomplished and the software I developed and released during my studies in Engineering, I finally responded to my true passion calls and started my journey, this time entirely focused on the areas I have always liked in Computer Science. Therefore, I started my second master's degree in Computer Science at Imperial College London, where I graduated with distinction (First Class Honours), and followed by starting my PhD at Georgia Tech. Moreover, during my PhD, I have accomplished my third master's degree in Computational Science and Engineering (CSE) which bridged the gap that I have always been feeling between the Engineering and Computer Science concepts and finally brought me the inner peace after years of study in both area!

How it's going ...

During my PhD at Georgia Tech, I have mainly worked on developing Machine Learning and Deep learning techniques to address real-world problems. My research interests mainly include, but not limited to Deep Learning and Data visual and Analytics, and their applications in sequence modeling, time series forecasting and analyzing dynamical systems, and computer vision problems. For instance, I have recently developed a set of robust and yet efficient recurrent neural network architectures for long-term prediction of complex time series by integrating LSTM autoencoders into echo state networks. More recently, I'm working on a novel convolutional echo state models to capture the dynamics of the highly nonlinear systems using spatiotemporal data represented by raw images. These techniques have successfully been applied to a couple of real-world datasets and can be employed to a wide range of applications.


Apart from research and also working in tech industry as a software engineer and machine learning engineer, I also enjoy teaching the concepts that I love (details in the teaching section). Particularly, in Computer Science, I'm interested in Algorithm Design and Analysis, and Machine Learning and Deep Learning. Accordingly, I have been a TA, head TA, and instructor in several courses, such as Advanced Algorithms, Machine Learning, and multiple programming languages. To me, teaching has always been just another level of learning, where I could learn and improve my own understanding in the areas that fascinate me the most, and I have always been very fortunate to meet and work with many great and talented colleagues and mentors along my journey. Currently, I'm teaching Design and Analysis of Algorithms in the College of Computing at Georgia Tech.