Course Projects

A short description of Course Projects I did in B.Tech. CSE curriculum at IIT-H

I did several projects in the B.Tech. Curriculum of CSE@IITH. I will describe a few here. Most of them are open-sourced on my Github page.

COOL-Compiler

Course: Compilers-II

COOL stands for Classroom-Object-Oriented-Language. As the name shows, it is object orientied and is especially made for classroom learning activities.

We were given some base code of the backend and had to complete its parts to form a full fledged compilers.

We also created its front end in the Compilers-I, but this was not incorporated into the project of Compilers-II.

link

NodeRunner

Course: PoPL-II

Node runner is a multi-player version of the classic LodeRunner game. We used the channels and locks in Golang to process the backend of game in a safe and secure way. Multithreading was the main focus of this project.

link

FELIX Interpreter

FELIX logo

Haskell is quite different from languages like C/C++/Python/Java/Javascript.

Haskell belongs to the domain of functional programming. If you are new to it, you will feel it a lot difficult unless you are clear with its basic constructs.

FELIX (yeah we created that logo with GIMP 🤣!) is a dummy javascript like programming language, and we implemented an interpreter for it in Haskell. We used several frontend compiler libraries and used simple logic for backend.

link

playAtKey

It is a simple tkinter python app that can be used to play keyboard, guitar and drums on your laptop. We found that drums were the best to play with.

link

Quode-IDE

It was a simple text editor in python and tkinter. Apart from standard code editor features, it supported almost 50+ programming languages.

link

Conference Management System

We also implemented a Conference Management System using Django. It belonged to course: Software Engineering. We had quite big code base, with features of a standard conference-management-system. However, with the rise of 2nd COVID wave in India, our semester was quickly wrapped up and the project could not be purused later. We were near to completion and testing was remaining.

Since corona subdued the project, we named it Kerona.

Many other projects

There are many other projects that are not being mentioned here. For example, we created played with several networking softwares like Software Defined Networks in our Networks course.