PROJECTS:



  1. Web-based Event Management System (TAs: Veeranna and Srinivas)

This project should maintain a database of all the venues that can be used for events. It should maintain a database of people – the roles for people are student, staff, admin. Students and Staff can make a booking of a venue whereas the admin for each venue (there is probably one admin/venue) approves or disapproves the booking of a venue. The admin may also cancel the reservations – in which case, the user needs to be informed of the same. You can also examine alternate booking automatically. Each venue has a capacity. When booking a venue, the capacity should be taken into account. The date(s) and time(s) are needed to book a venue. Email IDs of the people should be maintained and emails should be sent to the respective people. For e.g., when a student or staff books a venue, the admin of that venue should get an email about the booking. When approval (or disapproval) is given, the email should be sent to the person booking it. If there is a cancelation, again the emails have to be sent to the respective people. This should be done for the university. If this is usable at the end of the semester, you may demo it to the VC and see if it can be used by the university and this will help ease many activities.




  1. Bin-packing VM consolidation algorithm (TA: Geetasowjanya)

In this project, you will be given a set of physical machines with CPU and memory capacities. You will also be given information such as memory and CPU requirement of virtual machines and which VM resides on which physical machine. You need to calculate the residual capacity on each of the physical machines from this information. Then, sort the physical machines in ascending order of residual capacity – i.e., those with high residual capacity (in other words, lightly loaded physical machines) are at the end. You need to find which physical machines can be shut down by migrating the VMs on those machines to other physical machines using the greedy bin packing algorithm. Your GUI should display the physical machines which are on in a different color from those that are off. It should also show the IDs of the VMs that are in each PM. It should also allow a user to add a new VM, delete a VM or shut down a PM to migrate the VMs on it to other PMs and so on.




  1. GUI Mail Reader (TA: Deepthi)

In this project, we would like to do a UI similar to Squirrel Mail. However, unlike in Squirrel Mail, we will have only reading text mail facility. This involves understanding the mailbox format, parsing it and extracting the From, Date, Subject fields and displaying them in a form that shows these as columns. The subject field is clickable and when it is clicked, it should open another form that shows the contents of the mail along with all the other headers of the mail such as CC, etc. The mail box can be on a different system and has to be contacted using a client-server program.




  1. Skiplist-based Index Engine (TA: Chaitanya)

Skiplist is an advanced data structure that achieves time complexity for search of an item as in a binary search. The purpose of this project is to implement an ordered skiplist for add, delete and search operations. The content of each node of a skiplist is a word and the order is lexicographic order. The words and the frequency of occurrence are to be read from a file and added into the skiplist. A GUI to be built to search for words in the skiplist. We can process a query like the top commonly occurring words in terms of frequency of occurrence and return the words in a form.




  1. Switching off Nodes in Network Topologies using Betweenness (Antar)

This project involves reading a network topology, in other words, a graph from a file. Using Dijkstra's shortest path algorithm, calculate all-pairs shortest paths. For each node in the graph, calculate how many shortest paths pass through that node. Sort the nodes in increasing order of this count. Start removing the nodes with the least such count from the graph until either a maximum threshold percentage of nodes are removed or the graph gets disconnected. The output should be a connected graph with the nodes that participate in the least number of shortest paths removed. Display the percentage of nodes that could be removed without affecting the connectivity of the graph if this is lower than the maximum percentage that is given as input. Display the original and modified graphs for small graphs – possibly upto 10-20 nodes in size.




Lab No.

DATE

PLANNED SCHEDULE

ACTUAL SCHEDULE

1

January 8



2

January 15



3

January 22

Specification Due


4

January 29



5

February 5



6

February 12



7

February 19



8

February 26

Design Document Due


9

March 5



10

March 12



11

March 19



12

March 26

Test Plan Due


13

April 2



14

April 9




DEMOS : April 12th 2014