Laxman824 / Projects-Assignments

All of these are some of the academic projects and assignments that have been done at IIT Delhi.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Projects-Assignments(General Briefing)

1.AI-Pacman heuristics :In Project Pacman 1, Pacman agent will search paths from maze to arrive at a certain destination and collect food efficiently. General search algorithms are implemented in order to fulfill different kinds of Pacman scenarios. We use this game as a model to understand how different search algorithms work. In this assignment, the Pacman agent will find paths through his maze world, both to reach a particular location and to collect food efficiently... Implemented this assignment in python3.

2.Bit-Torrent-Mechanism : The program downloads all different chunks of the file from different peers, combine them and save the file in our laptop/local directory.The purpose of this assignment is to understand the mechanism of BitTorrent. BitTorrent obtains a torrent file that contains a list of peers hosting the file, and downloads different chunks of the file from different peers. softwares used here are python3 and linux environment.

3.Client-server-Networks :The server listens on a port,server program is run with a port number as an input and client makes a TCP connection and server send a file to the client In addition to acting as a server ,the server can also act like a proxy. Both the client and server program are implemented in python3 and used socket programming ,multi threading to support concurrent connections in the server.

4.Dummy Airline management system Prototype:In this project we have developed a dummy airline management system .which stores and retrieves the data related to the airports, airlines and flights.basically the motivation behind to choose this idea was to develop a system that was visually appealing and easy to use . There are two types of users in this system :1)Customers and 2)Admin page and admin has given access to modify new flights etc. The primary source of data we used in this project is 2015 flights dataset only ,which can be found on kaggle softwares used in this project are MY SQL workbench for queries ,Python web framework that provides useful tools and features that make creating web applications and html for frontend web page

5.Traffic density Estimation-opencv: Mainly there are two parts in this code :The basic thing we need for monitoring traffic is camera feed which is placed on real road,but we cant ensure that it is placed in a good position such that road to be watched is in a perfect rectangle and camera receives a top view.There might be numerous other things in picture which has to be eliminated for efficient working of algorithm. The opencv works best for rectangular frames,so For jobs like traffic density estimate, it's vital to first fix the camera angle in software and crop the picture to eliminate extra items.One of the repository contains camera angle correction and frame cropping code.

subtask2 :The image extracted from the video which is used a background.In the further part the utility runtime trade off analysis has been done.

6.Cloud Computing project : Explaining in simple :The project was about creating a tool that helps people who use virtual machines. Virtual machines are like computers that run inside another computer. They are useful because they let people run different operating systems or software without needing a separate computer for each one.

The tool we created was called a snapshotting API. It's like a camera that takes a picture of a virtual machine at a certain point in time. This picture is called a snapshot. Snapshots are useful because they let people save the state of a virtual machine and come back to it later. For example, if someone is working on a project in a virtual machine and they want to take a break, they can take a snapshot and come back to it later without losing any progress.

We used a programming language called Rust to create the snapshotting API. Rust is a good language for this kind of project because it's safe and fast. This means that the API is less likely to have bugs or security problems, and it works quickly.

We divided the project into five main stages. The first stage was about creating a basic virtual machine that we could use for testing. The second stage was about adding a feature that lets people pause and resume a virtual machine. The third stage was about making the snapshotting API into a smaller, more efficient program. The fourth stage was about creating a web server that could run multiple virtual machines at once. The final stage was about making the snapshotting API more efficient by using a technique called deduplication. This means that if two snapshots are very similar, we only need to save the parts that are different.

The snapshotting API we created was used by different parts of the project. For example, a load balancer used it to move virtual machines around, a frontend used it to create new virtual machines from a base image, and an anti-cheating system used it to monitor who was using the virtual machines.

Overall, the project was successful. We finished all of our goals before the deadline, and we created a snapshotting API that was safe, fast, and efficient. For more information look into the repositories.

About

All of these are some of the academic projects and assignments that have been done at IIT Delhi.


Languages

Language:Python 73.8%Language:C++ 11.9%Language:HTML 11.8%Language:C 1.5%Language:Gnuplot 0.6%Language:Makefile 0.4%Language:Shell 0.1%