Project ideas for BTech, MS, MTech. Students
Projects
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.