In this project we developed a single player game. The objective of the game was to make a cute little cube traverse through a map of hurdles using navigation keys to the winning points. The difficulty of the hurdles evolved with the level of the game. We aimed at developing a game with easily customizable gameplay and rich graphical effects. There were 2 important components of the game, first, the map on which the game was played and second, the cube. In order to make map easily customizable we created a strongly typed XML format for defining a custom map. Different Tags could be used to place different kind of objects in the map including wall, skip hurdle, abyss hurdle etc. This made it easier to design and use a custom map in the game. To give a more appealing feel to the whole playing field we utilized bloom effect. Bloom effect is a post processing effet which gives a glowy effect (Tron like) feel to whole field. Also the field could be huge which in turn would effect the rendering speed of the game. To solve this problem we made use of offline rederning (now a deprecated feature) and depth testing to greatly enhance the rednering speed of the game. Additional techniques such HDR anti aliasing were used to remove the jagged effects from the field. Most of the code was written in C++ and GSL utilizing libraries such as OpenGL, freeglut, xmlreader.
As part of Operating System course we were required to add some functionalities to a bare bones instructional operating system named Pintos. First we added system call functionality to the OS. The system calls implemented included fork, wait, kill, ls, exec etc. Then we added virtual memory management facility to the OS. This involved adding swap management facilities, implementing eviction policy and evaluating the tradeoffs of various eviction policies. Finally, we implementing the filesystem for the OS. Adding ls, cd, mkdir system calls. Since the basic source code is in C, most of the coding was done in C apart from some bash scripts.
This project was pursued as an independent project in the field of mathematics. We studied the problem of Alpha Table Summarization which is classified as NP Hard problem. The problem basically tries to summarize a given table into chunks where each chunk is a compressed form of exactly alpha rows in the original table. We analyzed various solutions to this problem and tried to come with some improvements over the present solutions. To improve upon the current solutions, we redefined the problem as Weak Alpha Table Summarization taking into account the field constraints. Essentially we weakened the exactly alpha constraint to on an average alpha. This relaxation allowed us to approach this problem as a clustering problem. Utilizing the domain knowledge and some heuristics we came up with a solution that allowed us to come with a seemingly faster way to summarize tables. The quality metric for summary evaluation was borrowed from Candan et. al..