Skip navigation


This is slightly out of date. Doesn't include projects done in second semester at UT Austin. These may be found on my github profile . Please also check projects listed under research heading above

Adaptive page replacement algorithm

Dr. Scott Niekum, UT Austin

Currently working on developing an adaptive page replacement algorithm which can perform well in a variety of situations using reinforcement learning and neural network function approximators

Fault tolerant distributed chat room

Dr. Lorenzo Alvisi, UT Austin

Developed a distributed chat room system which maintains consistent chat log between replicas of server even in the presence of faults in asynchronous environment. Implemented the Paxos protocol to achieve consensus in asynchronous enviornment for state machine replication of server. Development was done in C++ from scratch. Also involved multithreading and TCP socket communication

Machine learning approach to protein fold recognition

Dr. Ashish Anand, IITG

Compared learning techniques like SVM, Decision trees, Random forests for protein fold recognition. Modeled it as an information retrieval problem, to rank the proteins that have structure most similar to a given protein.


Implementing random forests variants

Dr. Amit Awekar, IITG

Implemented variants of random forests in serial memory, shared memory parallel and distributed memory using Map-Reduce for classification. Built each decision tree using ID3 algorithm. Analyzed the effect of randomness introduced through bootstrapping and selecting random subset of features for a split


Web Search Engine

Dr. Ranbir Singh, IITG

Indexed over 1.6 million webpages and built posting lists. Compared the ranking models TF, TF-IDF and BM25. Supported a query model with AND, OR, NOT operations. Displays relevant snippet from the webpage.


Mining sports data

Dr. Amit Awekar, IITG

Conducted a literature survey and presented a seminar on how data mining and machine learning techniques are being used in the domain of sports for predictive analysis and event detection in videos

Paper Slides

Hidden markov model for speech recognition

Ongoing, Dr. Pradip K. Das, IITG

Building a isolated word recognition system using a Hidden Markov Model for each codebook word and identifying the word based on the highest model likelihood


Classifying tweets using Naive bayesian classifier


Built a bag of words model using a naive bayes classifier for classifying tweets into categories for the contest Twitminer and achieved around 93% accuracy. Was 26th position across India

Code, Report

Reinforcement learning to play Snake


This was built as an exercise in exploring reinforcement learning. Implemented an agent which learns to play the game Snake by self-playing using Q-learning


Human vs Computer game - Kalaha

Dr. Saswata Shannigrahi, IITG

Built a single player Java version of the ancient board game Kalaha. Devised an algorithm for the AI which was based on the minimax algorithm and alpha beta pruning.

Code, Screenshots, Details

Handwritten digit recognition


Employed k-nearest neighbours classifiers and later neural networks accurate upto 97% to classify handwritten digits for Kaggle's contest


Sentiment analysis of movie reviews


Extracted features based on mutual information and chi-square test. Classified reviews by polarity using Support vector machines with accuracy around 70% accuracy on Kaggle’s dataset

Compiler for a c-style language

Dr. Arnab Sarkar, IITG

As part of compilers lab, developed different aspects of a compiler for a c-like language. Built a Lexical Analyzer and LL1 Parser in CPP. Built system for 3 address code generation and MIPS assembly code generation for a 1-register stack machine in CPP. Also used the utilities yacc and lex.


HTTP server and client

Dr. Venkatesh, IITG

Built simple HTTP server and client which support GET and POST operations. Even binary files were supported. Involved C++ and socket level programming.


Assembler linker loader

Dr. Santosh Biswas, IITG

Developed a 2 pass 8085 assembler, linker and loader in Python. It supports various new instructions (not in 8085 instruction set), looping capability and macros, which are converted to the 8085 assembly language accepted by GNUSim8085. It also detects various kinds of errors in syntax and semantics.


Enhancement of PintOS Kernel

Dr. Sajith Gopalan, IITG

As part of operating systems lab, augmented the basic PintOS kernel (developed at Stanford, USA) by adding various advanced OS constructs like Process Synchronisation primitives, schemes to run programs in user and kernel mode, file system management and virtual memory with demand paging etc.

Open Course - A course management system

Dr. Ranbir Singh, IITG

Developed a course management system with social elements. This was final project for Databases lab. Due care was taken to ensure that the underlying databases were of optimal structure, and in 3nf form. Proper MVC architecture was followed. Features supported include course registration; lectures, assignments, exams upload and download; evaluation of assignments, answerscripts, forums, messages, course faculty allotment, TA allotment, Project allocation and an admin interface. This is currently being used for a course CH101 in IIT Guwahati. Technologies used: PHP, MySQL


Snip Dock


Developed a windows app to snip a part of the screen and dock it to an edge of the screen for quick reference while working. Built on .NET framework in Visual C#. Has been reviewed and featured by many websites and has seen more than 6000 downloads.

SnipDock Homepage

SyncBox - File hosting & synchronization service

Dr. PK Das, IITG

Led a group of 19 to develop a file hosting service which supports automatic 2 way synchronization of files across various computers (Linux) similar to Dropbox. It also supports features like a fully features web based file browser, sharing of files uploaded (via email or private messaging on the website) and groups. It involved Django framework(Python), SSH and few linux utilities

Code, Report, User manual

Contact management system

Dr. PK Das, IITG

A GUI application written in Visual C++. Features include: Multiple extendable fields for contact details, Picture for contacts, Import and Export using csv files and Appointment reminders


Secure virtual diary


A GUI application written in Visual Basic. It supports encryption of entries


Virtual Breadboard simulator

Dr. Santosh Biswas, IITG

Developed a GUI for a Breadboard Simulator in Java. Features include: Drag and Drop GUI, Automatic positioning, Error warnings and customization, Customizing components, converting the circuit to a simple matrix representation for further processing

Code,Screenshot, Documentation

Android app to track time

Independent, Hackathon

Developed an app to help user track and analyse time spent on various activities


Website development


Developed various websites for contests, IIT Guwahati Entrepreneurial Summit 2013, this one, the old version, etc ;)