Project ideas for BTech, MS, MTech. Students


Programming Languages

1. Concurrent Data structures
Design, implementation and benchmarking of of concurrent data structures using the theory of Feedback control (Co-mentored by an current MS student.)
2. Implementing functional NLP parsers
Use functional programming to implement functional programming parsers. (Co-mentored by a 4th year Linguistics DD student.)
3. Implementation of Paninian Grammar in OCAML
Contribute to the implementation of the Paninian Grammar in OCAML being developed by the University of Hyderabad (Co-mentored by Prof. Amba Kulkarni, UoH).

Formal Methods

1. Implementation of Model Checking Algorithms
Distributed implementation of model checking algorithms (co-mentored with Prof. Suresh Purini).
2. Theorem Proving using F*
Using F* to prove properties of operating system code.
3. Type error debugging in Haskell
Building on the vast work on type debugging for Haskell.
4. Tensor typing
Exploring a type system for tensors.

S/W engineering and Literate Programming

Literate Programming (LP) is a way of combining code and narrative so as to increase programming comprehensibility. (Look up Literate Programming on Wikipedia.)

1. LP and Programming Education
Analyse the impact of literate programming on learning programming.
2. LP and productivity and maintenance of s/w
Study the impact of LP intervention in the maintenance of s/w. This is an industry combined project.
3. Implementation of LP tools
One weakness of LP is lack of tools that integrate debugging of code via the source files, which are in plain text with code snippets interspersed. New programming environments will allow fixing code embedded in the narrative in order to reduce the write-test-debug cycle of code development.

Virtual Labs

1. Virtual Lab development for Computer Science Labs
: data structures, machine learning and AI, compilers and programming languages, automata and grammars, Operating systems and IOT.
2. Cloud architecture for Virtual Lab hosting
This project is about redesigning the virtual labs basic cloud architecture to improve performance, portability and security.
3. Analysis and improvement of UI of Virtual Labs
Analysis of several hundreds of experiments to evaluate UI and UX of virtual labs and design and implement a new UI.
4. Analysis and visualization of Vlabs Outreach Data
Take a sample from a data of about 1L records to analyse usage and measure impact of virtual labs.
5. Development of Virtual Labs using VR/AR
Design virtual labs in VR/AR
6. Library of reusable artefacts for Vlabs
Development of a Vlabs repository of reusable interactive component objects.
7. Adaptible Vlab experiments
We are looking at building experiments that statically and dynamically adapt to a student's level and background. This works involves gather analytics and building ML algorithms as recommender systems.
8. Renarration of vlabs
Renarration of virtual labs by including local context (language, place, relevant examples, etc.) increases their usability. The project is to study, and design an interface for renarration of virtual labs and other learning environments.

Author: Venkatesh Choppella

Created: 2020-12-10 Thu 20:40

Emacs 25.3.2 (Org mode 8.2.10)