Computer Science Projects

SimpleRisc Emulator and Processor (July, 2013 - Dec, 2013):                                                                (Prof. S R Sarangi)

  • Programmed Assembly Language Emulator in Java which supported 21 SimpleRisc instructions with -u and -h modifiers in ALU instruction sets.  SimpleRisc I Representataion                          SimpleRisc II Encoding 
  • Implemented and programmed assembly macro code for Karatsuba Algorithm in SimpleRisc instruction set
  • Modelled and assembled a fully functional Processor for SimpleRisc instruction set with all features in Logisim using basic and/or/not gates and multiplexers

SimpleRisc Assembly Language Emulator

SimpleRisc         SimpleRisc Emulator       Test Cases 

Kasturba Algorithm in SimpleRisc Lang

Karatsuba     Karatsuba.java     Karatsuba SimpleRisc

SimpleRisc Processor in Logisim

SimpleRisc Processor          Machine Codes 


Artificial Intelligent Bots (January, 2014 - May, 2014):                                                                (Prof. Mausam Mausam)

  • Programmed strategy for Blackjack in C/C++ using sequential decision making under uncertainty (Probabilistic Approach) for a given probability of face-card entered by the user.
  • Programmed playing bot for K-Connect games in C/C++ of varying rows, columns and connects using Mini-Max search with Alpha-Beta pruning
  • Successfully solved Graph Subset matching problem using Minisat sat-solver How to use Minisat (SAT Solver) 

Blackjack Strategy Program

BlackJack       BlackJackStrategy      BlackJack Code

K-Connect Bot

K-Connect I      K-Connect II   

SAT Graph Subset Matching Problem

ReadmeFirst Graph Subset mapping       SAT Encoding Code

 Travel & Go Planner ( (Jan, 2013 - May, 2013):                                                (Prof. Maya Ramanath)

  • Worked in a team of three and developed an intelligence based Itinerary generation system for Indian cities
  • Crawled data of over 11,000 cities & 125,000 tourist destinations, hotels in India using Google API in java
  • Parsed and refined the raw data collected and optimized query processing time below 0.0002 sec in PG-SQL

Project Files and Other Details
  • Reverse Engineering of Database of Hindustan Times at 
  • Optimization of run-time queries   
  • Stage-wise Project Description 
    • Milestone 1              Milestone 2     
    • Milestone 3            Milestone 4  
  • Hostel Database  
  • Tourist Attraction Database   


Computer Programming Language Development (Jan, 2013 - May, 2013):                                        (Prof. Sanjiva Prasad)

  • Used Lex tool to generate a scanner and Yacc tool to generate parser for a simple language of a symbolic calculator
  • Programmed in Ocaml to represent data types, their signatures and implemented substitution and unification MGU
  • Programmed a toy Prolog interpreter with stacks and queues and implemented backtracking and cut with subgoals
  • Implemented lambda calculus, SECD and KRIVINE machine and big-step closure semantics for both call-by-value and call-by-name parameter passing in Ocaml

Simple language of Symbolic Calculator

Lexer      Lexer Code        Parser         Parser Code

Substitution and Unification (MGU)

Toy Prolog Interpreter

Toy Prolog Semantics               Toy Prolog Interpreter  

Stack Machine & SECD and KRIVINE machine

Stack machine   Secd/Krivine   SECD/KRIVINE Code   


Advance Data Structure Algorithms (July, 2012 - Dec, 2012):                                                         (Prof. Amitabh Bagchi)

  • Programmed Inverted Index data structure used in Google and yahoo searches for their matching of queries to the documents and give users the relevant documents according to their rank
  • Integrated complex searches of words, phrases and sentences in documents based on their importance ranking with Inverted Index by implementing a string data structure Tries
  • Programmed hash based data structure called Bloom filter in java which is used to answer set-membership queries with high probability of success.
  • Programmed Binary Tree, Heap and Treap (Binary + Heap) database structures in Java

Document Searching using Inverted Index

Inverted Index                          Inverted Index Code

Complex Search of Phrases in Documents

Complex Query Searching            Query Seaching Code

Bloom Filter

Bloom filter                     Bloom Filter Code

Binary Tree, Heap and Treap

Binary Tree     Binary Code  Treap    Treap Code


Term Paper on photonic switches/gates (July, 2013 - Dec, 2013): Term paper Report                         (Prof. G S Visweswaran)

Analysis of Socio-economic employee life in unorganized sectors (July, 2011 - Dec, 2011): Report        (Prof.J J Thomas)

  • Surveyed and outreached 100 peoples covering different unorganized sectors in Delhi in a group of three
  • Integrated, filtered and analyzed raw data to get a representative, qualitative and quantitative sample data
  • Performed econometric analysis for savings-income behavior & its effect on education, health & investment