Academic Projects
Database Implementation using MiniBASE - Supervisor: Prof. Boaxin Li
Implemented a binary SVM using Quadratic Program.Replaced Database algorithms with new techniques using MiniBASE in JAVA. First phase was to check LIFO, FIFO and LRU-K page replacement policies for the buffer management. LRU-K means replacing the least recently used page in last K references. Second phase was to create a Cartesian Join using Nested loop algorithm, IEJoin and IESelfJoin (Paper). Third phase was to implement cartesian join for multiple predicates using different selectivity techniques.
Binary SVM extended to Multiclass Classification - Supervisor: Prof. Boaxin Li
Implemented a binary SVM using Quadratic Program. Extended the Binary SVM to Multiclass cases using One-vs-all, One-vs-one (final classification using polling). Used a technique called error correction using coding matrices in which classes were grouped. Finally, Euclid distance was used for the classification.
Line Search Methods for Unconstrained Optimization - Supervisor: Prof. Hans D. Mittlemann
Implemented linear and non-linear (FR, PR, PR+ variants) conjugate gradient methods. Implemented BFGS and memoryless BFGS (applied it to 903 by 903 sized problem) Quasi Newton methods.
Learning & Decision Making in Artificial Intelligence - Supervisor: Prof. Subbarao Khambampati
Implemented Policy and Value iteration for a 4 cross 3 Robot environment. Implemented Q Learning for the same robot environment, that is without learning the model. Used Java Implementation of LDA on longer articles and twitter text corpus where each tweet was taken to be a separate document to analyse how the document size affects topic distribution.
Synchronization & Multithreading in Multiprocessor - Supervisor: Prof. Partha Dasgupta
Implemented synchronization of a Multi-threaded process using semaphores, and thread control blocks defined in ucontext library. Applied the synchronization on ”Producer Consumer” and ”Readers Writers” problems. Implemented a message passing system using multithreaded servers and clients.
MusicTutor - Intelligent tutor system - Supervisor: Prof. Kurt VanLehn
Designed a Music Tutor system to teach written form of music. Divided the course structure into Knowledge components. Created readable lectures followed by tests and hints for each question.
Smart Switcher app - Supervisor: Prof. Ayan Banerjee
Designed and developed a context aware Android app, which looks at user location and behavior to decide when to switch the mobile phone to silent mode.
Mobile graph monitoring app - Supervisor: Prof. Ayan Banerjee
Designed and developed an Android app, to render graph for a user and store its location data in a mobile SQLite database.
Software Engineering
Created a Library Management System in Java, and now working on creating an Air Gourmet System as well as Transport Management System in JSP.
Artificial Intelligence
Implemented algorithms for Neural Networks, Genetic Algorithms, Particle Swarm Optimization and Ant colony optimization as well as algorithms for graph search techniques in game playing.
Optimization Algorithms
Implemented the optimization Algorithms for Simplex algorithm with dual simplex and integer solution variants, Assignment Problem, Transportation Problem,Traveling Salesperson Problem using branch and bound method, Project Management using PERT/CPM.
Implementation of Network Protocols
Implemented data link layer, routing, and flow control protocols in Java.
Operating System
Implemented Process Scheduling algorithms and Memory Management algorithms.
Verilog
Verilog implementation and simulation of 32 bit carry look ahead adder, Moore and Mealy Machine for string matchingand JK, RS, D filp-flops.