I am currently pursuing a bachelor's degree in Computer Science at the esteemed Indian Institute of Technology in Delhi. As a passionate programming enthusiast, I am constantly driven to explore and expand my knowledge in the field.
In addition to my love for coding, I find joy in engaging in various sports such as tennis, chess, and badminton. During my leisure time, I indulge in artistic pursuits and find solace in the pages of nonfiction books. Gaming holds a special place in my heart, particularly open world and action-adventure games. Not only do I enjoy playing games, but I also find immense pleasure in creating them.
Fun Fact: On the occasion of my 36th birthday, which falls on the 19th of January, 2038, computer systems utilizing signed 32-bit Unix time for critical computations may encounter catastrophic errors. This is due to the integer overflow that occurs after 03:14:07 UTC on the 19th of January, 2038, causing the time to be interpreted as 20:45:52 UTC on the 13th of December, 1901.
This project was a part of the COL331-Operating Systems course, under Prof. Smruti R Sarangi. Unlike other OS courses that focus on simpler operating systems like xv6, this practical course delved into the intricacies of the actual Linux kernel v6.1.6. Throughout the course, we engaged in modifying and exploring the complex Linux kernel codebase. Assignments required us to develop our own IPC mechanisms, design system calls, implement real-time process schedulers, and even create a device driver. With diligence and determination, I excelled in these assignments and had the honour to earn a place in the esteemed "Hall of Fame" for my performance.
A chess Bot made in python with the help of PyGame. This chess bot uses Min-Max search algorithm with alpha beta pruning and iterative deepening to find the best move to play against its opponent.The chess board supports moves like pawn-promotion, double pawn push, castling on king and queen side, and en passant from black's side.
It also uses a large data set of 1,80,000+ games played by GMs so that it can make the optimal opening moves.
Giving your computer a basic set of instructions and seeing it produce an intricate and mesmerising work of art is what generative art is all about. For a few months, painting this digital canvas became an addicting hobby because of its almost limitless potential. Here are a couple of my efforts using p5js to make generative art. These pieces investigate algorithms such as Breadth First Search, Depth First Search, Perlin Noise, and others. Most of these are bound to leave you mesmerised.
This was made as the course project for COL333- Introduction to Artificial Intelligence, under Prof. Rohan Paul. The three different assignments delve into three distinct problem domains and develop intelligent agents capable of tackling complex challenges using a variety of techniques. Each assignment focuses on a unique topic, including search-based algorithms, game playing, and probabilistic reasoning, offering a comprehensive exploration of different facets of AI.
We leveraged satellite data from sources like Landsat 7 and Sentinel 2 to classify and analyze water bodies in India. Building upon the existing India SAT project led by Prof. Aaditeshwar Seth, we extended the classification to include water bodies and their seasonal patterns.
Using a random forest classifier, we developed a robust model that accurately distinguishes water bodies from other land types, along with identifying the exact months for which water is present in these bodies. Additionally, we explored alternative models such as support vector machines for comparison.
The information we derived is to be used for government initiatives and schemes related to water resource management. It will decisions about the construction of wells, canals, and other infrastructure, optimizing resource utilization and addressing regional needs.
In this hardware project I embarked on an exciting journey of utilizing Vivado to simulate and synthesize programs on a Basys3 board as a part of COL215P-Digital Logic and System Design laboratory, under Prof. Preeti Ranjan Panda. We implemented machine vision through neural network hardware. We engineered a 3-layer Multi-layer Perceptron (MLP)operating on the Basys3 board, which could process input patterns from the MNIST dataset and accurately classify them into one of ten digit categories.We design and integrated memories, registers, comparator, shifter and multiplieraccumulator components (MAC) using VHDL.
We also synthesised a stopwatch on the Basys3 board, and wrote algorithms to reduce boolean functions using Quine McCluskey Method.
Trying to approximate the solution of the Hodgkin-Huxley model with the help of Physics-informed neural networks (PINNs) as a part of Machine Learning in Mechanics course under Prof. Sitikantha Roy
This project implements a cryptocurrency called DSCoin develped as a part of COL106- Data Structures Algorithm course under Prof. Amitabha Bagchi and Prof. Venkata Koppula.
In this nearly complete cryptocurrency based on the blockchain technology that suports proof-of-work and distributed consensus among it's nodes, any participant can either be a Buyer - someone who wishes to buy an item, and therefore send a coin or Seller - someone who wishes to sell an item, and therefore wishes to receive a coin from the buyer or Miner - someone who verifies and approves the transactions.
Implemented a deep neural network (DNN) inference for classifying across 12 audio keywords (silence, unknown, yes, no, up, down, left, right, on, off, stop, go) from 1 second audio clips where each clip is inputed as [1x250] input features , in C++ as a part of Design Practices course under Prof. Riju Rekha Sen
A muliplayer maze game based on the IIT Delhi map, built using SDL2 library and ENet in C++ as a part of Design Practices course under Prof. Riju Rekha Sen.
This 2 player game had two game modes. Game mode 1 was similar to geoguesser, where hints about various famous landmarks on campus are given and the objective is to place flags as close to them as possible. Game mode 2 involved completing 3 objectives as soon as possible.
This project involved designing hardware for implementing a processor that can execute a subset of ARM, implementing all Data Processing, Data Transfer, Branch, Multiplication and Interrupt instructions. The designs were expressed in VHDL and then simulated and synthesized. This was made as the course project for COL216-Computer Architecture course, under Prof. Anshul Kumar
As a part of the COL334-Computer Networks course, under Prof. Abhijnan Chakraborty, we covered a range of topics and tasks to enhance understanding and practical skills in networking concepts, which involved understanding packets using wireshark, building a Peer-to-Peer (P2P) file distribution framework, where a central server acts as a mediator for the peers connected to the server to facilitate data transfer among themselves and using NS-3 simulator to analyse existing network protocols, and creating new ones.
Built a lexer, parser and interpreter using SML,ML-Lex and ML-Yacc for a toy language named "While".This language supports all basic functionalities like, variable declaration, conditional statements, loops, arithmetic and logical operations and input-output operations. This was made as the course project for COL226-Programming Languages course, under Prof. S. Arun Kumar
Implemented the JPEG Compression and decompression algorithm in python that compresses an RGB image about upto 2-5 % of its original size, without much loss in quality visually, by simply getting rid of the high frequency components as a part of the ELL-205, Signals and Systems course, under Prof. Abhishek Dixit
We implemented Gomory cutting plane technique to solve an Integer Linear Programming (ILP) problem, which involves maximizing a linear objective function subject to linear constraints, with the additional requirement that the decision variables must be integers. We also implemented the general dual phase simplex and dual simplex methods for solving general linear equations as well as a part of the MTL103: Optimisation methods and applications course, under Prof. Minati De
Let's work together! Wanna colllaborate with me ? Just hit me up on any of my socials or drop an email.