Rishi Sharma

Rishi Sharma

Undergraduate Student

Indian Institute of Technology Mandi


Rishi Sharma is a Final year undergraduate student in the School of Computing and Electrical Engineering (SCEE) at Indian Institute of Technology Mandi, majoring in Computer Science and Engineering. His research interests include performance optimization of computer programs, algorithmic differentiation, machine learning & deep learning and satisfiability checking. He is the founder and coordinator of Heuristics IIT Mandi, which is a group of people collaborating and hosting sessions on research topics for the students of the institute.

Rishi has completed his winter semester 2019-2020 at RWTH Aachen University Germany as part of the Student Exchange Programme, where he indulged in Masters-level courses and Research Assistant jobs with IT-Security group and Theory of Hybrid Systems group.

Rishi is currently working with Dr. Manas Thakur in the Compilers and Programming Languages Group at IIT Mandi for his final-year Major Technical Project (September 2020 - June 2021) on Enabling Concurrency via Program Analysis.


  • Algorithmic Differentiation
  • High Performance Computing
  • Machine Learning
  • Programming Languages
  • Satisfiability Checking


  • Student Exchange, WS 2019-2020

    RWTH Aachen University, Germany

  • B.Tech. in Computer Science and Engineering, 2021

    Indian Institute of Technology Mandi



C/C++, Python

Machine Learning




Associate Developer Intern

D. E. Shaw India Private Limited

Apr 2020 – May 2020 Hyderabad (Work from Home)

Refactored Fixed Data Table 2 Resize and Reorder functionalities into plugins to make the React-JS based library modular, more customizable and maintainable.

Received PPO for the Member-Technical profile on the basis of excellent performance during the internship.


Research Assistant

IT Security Group, RWTH Aachen University

Nov 2019 – Feb 2020 Aachen, Germany

Implemented methods to perform gradient-based attack and adversary transfer on character-based Deep Neural Networks for malicious DGA generated domain names by emulating and inverting the non-differentiable embedding layer.

Used Iterative adversarial training to improve the robustness of the classifier using adversaries generated from the gradient based attacks.


Research Assistant

Theory of Hybrid Systems, RWTH Aachen University

Nov 2019 – Feb 2020 Aachen, Germany

Formulated the scheduling of a freight train in the german railway network as a satisfiability problem in propositional logic and implemented the solution using Z3 Solver.

Optimized the various steps of the problem formulation to reduce the problem blow-up from quadratic to linear and improved the feasibility of the approach in real-life railway network.


Mentor - Google Summer of Code

Mentored a student to improve the EinsteinPy package in Google Summer of Code.

Foundation Day Award

Outstanding Academic Performance for the year 2018-2019.

What the Flag: Winner

Top performer in CTF event during Utkarsh 2019.

Foundation Day Award

Outstanding Academic Performance for the year 2017-2018.



Distributed Gaming

A Distributed Implementation of Pong using Go and Kafka


Apache Spark based Parallel Implementation of Tangent Mode Automatic Differentation


A C++ Implementation of SAT Solver