Course Projects

Privacy Preserving Bayesian Network (Oct 08 – Nov 08)

Guide : Prof. Dr. Poonam Goyal

Personal : We were given the freedon to choose our own paper to code and I chose this paper specifically because it pertained slightly more to my area of interest. The paper was long and pretty abstruse in the sense that it involved exchange of keys and cryptography, a concept I knew very well theoretically, but did not know how exactly to code it, until Network Programming later. But we got around it and managed to code the BNN at least.

Technical : This is a Data mining project where a pseudo code has been developed in C to construct a Bayesian network on distributed heterogeneous data with requisite privacy and security features. The code has been tested successfully. The concept was given in the paper by Rebecca Wright and Zhiqiang Yang.

Multithreaded implementation of Copy command in Unix (Mar 09 – April 09)

Guide : Prof. Sundar B.

Personal : One of my favorite projects especially because it required a complete change in thinking to adapt to parallel programming and optimisation was of prime requirement. Many of the bugs due to the random nature of threads were solved by lovely tricks I employed in the code (loved it!). Moreover, this along with the next 4 projects were to be done simultaneously in a very small period of time (excluding the time period necessary to read and understand the specific concepts behind the implementations and implementation medium). 

Technical : This is a Parallel Computing project that required implementation of the UNIX Copy command using the pthread library of C. It allowed copy of files and folders from source to destination using static as well as dynamic spawning of threads. The copy could be done simultaneously alongside other processes operating on copied data.

Implementation of MM cubing algorithm (Mar 09 – April 09)

Guide : Prof. Navneet Goel 

Personal : We were assigned the project to implement any existing algorithm for the cube operation in SQL. The MM cubing algorithm seemed the easiest to understand and most simple to implement since explicit tree creation could be bypassed.

Technical : This is a Database Systems project involving an SQL command - cube, where C++ code has been developed for fast retrieval of particular attributes of relevant information using the algorithm of MM cubing by Z Shao et al.

Implementation of  MD5 Hash algorithm (Mar 09 – April 09)

Guide : Prof. TSB Sudarshan

Personal : A very interesting algorithm to read and understand though the implementation was pretty straightforward. Faced quite a few problems in converting the algo to HDL code owing to its inherent non-sequential nature. A number of smart hacks did the trick.

Technical : This is a project in the area of Advanced Computer Organization wherein a hardware computer design definition is simulated for correctness and effectiveness. This algorithm has been implemented using Verilog HDL on Veriwell and simulated on Xylinx.

NS2 simulation of protocols in mobile & static environment  (Feb 09 – April 09)

Guide : Prof. Rahul Bannerjee

Personal : This was simply one of the four course projects. Each one of them was illuminating in its own domain. Got a pretty good idea of how to create NS2 simulations. Adapting it to new algorithms was made slightly simpler.

Technical : Simulated DVMRP, AODV, DSDV & OSPF protocols in NS2 simulating a network involving mobile & static nodes. In another course project, modified source code of wireless physical layer to account for packet drop due to dopplers effect as nodes move away and recorded results to show the difference observed in mobile node networks.

Compiler Construction for OOP language Dolly  (Feb 09 – April 09)

Guide : Prof. Sundar B.

Personal : One of the biggest codes any undergraduate student writes. Learnt important lessons in proper coding etiquettes, version maintenance, taking multiple (in fact, more than multiple if possible) backups, elaborate design of structures and their relations taking into consideration all possible cases. However, it was not a very successful project right at the end, where we got stuck debugging some stupid memory overwriting, caused probably due to multiple pointers modifying the same memory location. But, it was not clear where exactly this was happening and we lost valuable time trying to fix this.

Technical : Constructed a compiler in C for an experimental Object Oriented language (Dolly) up to the abstract syntax tree stage.

Network Programming assignments (Sep 09 – Nov 09)

Guide : Prof. K Haribabu

Personal : Learnt and cleared a lot of concepts. Use of basic functions like fork(), execve() etc. and further functions as a part of the network programming, that is, in TCP/UDP programming became clear.

Technical : Created a command line interpreter, LAN chat client, HTTP based web server that handles static and dynamic web pages, DNS server and SMTP server in C.