SHAHROKH SHAHI

Ph.D. in Computer Science • Computational Science and Engineering
Software EngineerAI/ML Research ScientistAdjunct Lecturer
, San Francisco Bay Area, California, USA.


Hello there! Everyone has a unique story, and I'm excited to share a glimpse into mine. I'm Shahrokh /ʃɑ:hroʊk/, but you can also call me Shah or Sean—I've grown fond of both names!


On this website, you'll find more details about my experience, including projects, publications, and a growing collection of codes and computational packages I've developed, which is available for download. Teaching is a strong passion of mine, and you can explore my teaching experiences, materials, and even access the latest Algorithms course ( Design and Analysis of Algorithms) website I taught at Georgia Tech's College of Computing. The course website includes lecture notes, recorded videos, demo codes, assignments, and exams.

  • Disclaimer: Views expressed on this website are my own and not representative of my employers or affiliated organizations. Information provided is for general purposes only and should not be considered professional advice. Reliance on the content is at your own risk.

  • Code, Projects, and Blog: Content shared on this website is for educational and informational purposes. It reflects my personal work, experiences, and opinions. While efforts are made to ensure accuracy, no guarantees are made regarding code functionality or content accuracy. Use at your discretion and risk.

  • Citations: Material from other sources is cited to the best of my knowledge. But hey, if you happen to spot any missing citations, please feel free to give me a heads-up so I can make it right.

  • Cheers!


🎓 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.