Thesis Topics

The following thesis topics have been published (on JobTeaser):

Alternatively, students who have followed either INFO9014 (Knowledge Representation and Reasoning) or INFO9016 (Advanced Databases) are welcome to propose a topic on knowledge graph generation, knowledge graph management, knowledge graph organization, knowledge graph storage, or any other subject pertaining to data, databases, data modelling and data engineering. Students should come up with a concrete and well-defined thesis problem or topic. Students must be mindful that their proposals need to be discussed and approved. Students are encouraged to contact me for a meeting and are expected to come prepared.

Student Projects

While PROJ0011 Personal Student Project generally requires students to propose their project topic, students may introduce a proposal based on a project put forward by a third party, such as a client, organization, or faculty staff. In this section, I will list personal projects for the development of course tools to be used in my courses.

  • A stand-alone editor for INFO0009 Bases de Données. This project focuses on developing a functional Entity-Relationship Diagram (ERD) editor, for instance using the Graphical Editing Framework (GEF) in Java. Students will gain practical experience in building a complex graphical application with a focus on model-view-controller (MVC) architecture and event handling. It is important that the formalism and notation used in the course is respected and that the tool focuses on the conceptual design (in the Entity-Relationship model) from which the logical design (in the relational model) follows.

  • A VS Code extension for INFO0009 Bases de Données. This project involves creating a VS Code extension that provides a rich editing experience for Entity-Relationship Diagrams (ERDs). Students will gain experience in developing VS Code extensions, working with web technologies (HTML, CSS, JavaScript/TypeScript), and integrating with the VS Code API. A potential approach for this project could involve the design of a Domain Specific Language (DSL) for defining ERDs, which would then communicate with a Language Server Protocol (LSP) implementation to provide features like syntax highlighting, code completion, and diagnostics within the VS Code editor. It is important that the formalism and notation used in the course is respected and that the tool focuses on the conceptual design (in the Entity-Relationship model) from which the logical design (in the relational model) follows.

Current Entity-Relationship Diagramming (ERD) tools often blur the lines between conceptual, logical, and physical database design, leading to diagrams that are overloaded with detail and fail to effectively communicate the core concepts of the data model. This conflation of design levels hinders effective communication between stakeholders, complicates model evolution, and can lead to inconsistencies between the intended design and the final database implementation. The projects above can be extended into a thesis where you propose and develop a tool supporting the database design process at multiple levels.

  • An interactive environment for interacting with relations in the relational model. For INFO0009 Bases de Données, I have developed two interactive environments for querying relations using relational algebra (RALI) and extended relational algebra (ERALI). Both tools are command-line-based, with room for improvement. This project involves creating a more user-friendly and appealing environment where both algebras are supported. Students are furthermore expected to provide support for analyzing the relationships (functional dependency analysis, normal forms, canonical forms, etc.). This project could involve creating a VS Code extension by designing a Domain Specific Language for relations and (extended) relational algebra, which would then communicate with a Language Server Protocol (LSP) implementation to provide features like syntax highlighting, code completion, and diagnostics within the VS Code editor. The tool ideally helps users to visualize how an expression in (extended) relational algebra is computed. It is important that the formalism and notation used in the course is respected.