Ongoing & Past BSPs

Notices:
- All data has been gathered from here.
- If you are a PAT who wishes to remove their data from this table, contact us at bics-director@uni.lu.
If students wish to find more detailed information about specific PATs, they can look for them here, or in the table below.
Detailed information on all BSPs since 2020WINTER.
PATYearCourseTitleTechnical DescriptionScientific Description
agnese.gini@uni.lu20223Cryptographic Hash Functions and the Fiat-Shamir paradigmThe scientific deliverables of this Bachelor Semester Project will consist of: doing an in depth analysis of what hash functions are from both a mathematical and cryptographic perpective, study and describe what the role of hash functions in cyprographic systems is, evaluate what the Fiat-Shamir paradigm is, and what its applications are. The scientific questions that this BSP will answer are:
-What is the utility of hash functions in the cryptographic sector?
-What is the Fiat-Shamir paradigm?
-Which are the practical aspects and applications of the Fiat-shamir paradigm in cryptography?
The technical deliverables of this Bachelor Semester Project are going to be: developing a Python library containing cryptographic systems such as; hash functions, and the Fiat-Shamir paradigm. In order to build this library, the Fiat-Shamir paradigm's design and implementation will be studied. Furthermore, we will implement cryptographic attacks in order to test the security and integrity of said systems. The primary programming language of this Bachelor Semester Project will be Python.
agnese.gini@uni.lu20222Challenges of Secure Hash AlgorithmsSecure Hash Algorithms (SHA) are cryptographic hash functions designed by the National Institute of Standards and Technology (NIST) for DSA. However, over the years, this family became the building block for several constructions and primitives. This projects aims to answer the following questions:
\u2022 what is a cryptographic hash function?
\u2022 what does secure mean?
\u2022 can we implement a SHA using Python?
The main technical deliverable is an efficient implementation of a secure hash algorithm, SHA1. Although this is not the most complicated function to implement, there are several challenges, such as dealing with a large number of functions, blocks and representations. Moreover, the student will be required to write a readable and meaningful code in Python, and to learn and apply good coding practices.
agnese.gini@uni.lu20215Subset Sum Problem: theory and practiceThe Subset Sum Problem (SSP) is a classic problem of computer science, known to be NP-complete. The literature includes numerous algorithm for solving such problem, involving multiple techniques. Indeed, a panorama of solutions trading off precision and efficiency is available. The student shall learn some of the theoretical aspects related to this problem and eventually be able to compare both in theory and practice the studied approaches.
The student will provide an analysis of the performances (speed , accuracy, etc...) of the various algorithms in addition to their security in the context of cryptography applications.
Implementation some of the algorithm for solving the SSP. Developing a critical point of view on the technique and application-driven awareness. Among the various practical applications, the relevance in cryptography is going to be favored in the project.
The student will implement the various algorithm solving the SSP in an optimized fashion. This will result in the submission of a collection of codes.
agnese.gini@uni.lu20212BCI for Patients unable of verbal communicationThis Bachelor Semester Project's scientific work is to acquire knowledge as to the functioning of Brain computer interfaces, BCI, and it possible applications in various fields. BCI is a field of neuroscience that focuses on central nervous system signals, how to read them, restore them and generate signals to replace them. BCI is particularly interesting and promising in medical environments.This Bachelor Semester Project's technical work is to use previously acquired knowledge to create a small application to facilitate decision making via Brain Computer Interfaces. This would be achieved by acquiring signal data from an electroencephalogram, processing it to extract features, and use those features to generate a yes or no statement, all steps from data processing to statement generation are done in Python.
aleksei.udovenko@uni.lu20222Side-channel attacks on RSAThe student will learn about a variety of powerful attacks on the RSA cryptosystem, arising from side-channel leakage (timing, power consumption) or leakage obtained from decryption oracles (single bit of decryption leakage, or fault attacks.
The BSP will answer the following questions:
What is RSA?
What are side-channel and fault attacks?
How effective are side-channel and fault attacks against RSA?
The technical work involves using a small microcontroller/microcomputer and performing RSA operations on it and then attempting to extract private information during the computation by performing one or multiple side-channel or fault injection attacks on the microcomputer. Private information includes variables used by the RSA scheme, generated private and public keys, or any other information that could assist in breaking the encryption.
The student will implement software demonstrating the attacks (simulating side-channel leakage, faults, etc.), and perform some attacks on a real hardware device (ChipWisperer).
aleksei.udovenko@uni.lu20225Decoding Random Linear CodesThe project is about the implementation of basic or moderate algorithms for decoding random linear codes. It requires only basic knowledge of elementary linear algebra (multiplication of matrices / vectors, Gaussian elimination), ability to write programs and some algorithmic thinking (e.g., using hash tables). Familiarity with modular arithmetic would also be helpful. Despite its simplicity, this problem is at the heart of a branch of modern post-quantum cryptography (code-based cryptography). This project would allow the student to get a glimpse on modern encryption and break reduced variants of it. The problem has other applications, such as erroneous interpolation. Can we get familiar with linear codes - understand reduction to/from the low-weight codeword problem - understand approaches to decoding random codes (from trivial to moderate) - understand the relations of the problem to code-based cryptography?The technical goal is to produce an application for solving the decoding problem or the low-weight codeword problem, where a concrete instance is provided in a file or generated at random for given parameters. Since the algorithms are probabilistic, the program should include convenient options such as time limit or limit of the non-improving algorithm iterations. The program should include a few algorithms, from trivial to efficient ones, so that the performance improvements would be noticeable. Additional optimizations are optional. It is expected to be implemented in C++ or in Python.
alfredo.capozucca@uni.lu20223Enhancement of Deployment Pipelines for Quality PurposesWhat is the state of the art in DevOps?:
An analysis of the role of DevOps in contemporary software engineering covering how DevOps benefits the software development life cycle, what a deployment pipeline is, how it is implemented, and using what open-source technologies.
Furthermore, particular attention will be put on the techniques used to enhance the quality of the software under development.
Implementation of a deployment pipeline:
DevOps, as part of the software engineering process, consists of developing a pipeline which starts from the development of code and ends at the deployment of the final product to end users.
The pipeline will consist of build automation (continuous integration), test automation, and deploy automation (continuous deployment). To achieve these goals, the necessary tools will need to be learned and implemented.
alfredo.capozucca@uni.lu20223Energy-Efficient Software 2Despite the fact that the lack of knowledge about existing tools that could help developers write energy-efficient software is overwhelming, after gathering a bunch of tools/profilers and gadgets to see how they react in terms of energy efficiency consumption, now is to start applying different tests that will help in identifying the accuracy of a specifically chosen tool amongst the ones that have been worked with (i.e. Perf Profiler)
Acknowledging the research problem, the aim of this BSP is to (1) dive into details of how using a specific tool can provide accurate results, and (2) define and execute an experiment/s that allow/s answer one (or more) research questions in this field.
What is the energy that consumes certain predefined programming patterns? Is there a predefined benchmark that will help in identifying the efficiency of the energy consumption level within a specific domain? Are there hardware tools that could help in assessing the claimed results using software tools?
The development of artifacts to support not only the execution of the experiment but also its reproducibility are the main technical elements to be provided, along with the collected data that would support the claimed results, this includes the installation of the predefined OS as well as the tool that has been decided to be used, in addition to the search of existing hardware tools and use them -if applicable-.
alfredo.capozucca@uni.lu20225Testing (in the context of partnership with the company Greenworlder)As part of this BSP, the student will learn the different type of tests that exist and how to specify them. Afterwards, particular attention will be given to user acceptance tests (UATs) and their automation. This work should lead to answer the questions: what are the best methods to elicitate and specify UATs to ease the validation of the system under development (SUD)?
The technical aspects of this BSP fall into the implementation of one (or more) UATs to allow their automated execution. The major objective is to provide a proof-of-concepts (POCs) that serves in a real industrial context. It is a must to clearly describe the POC such that it can be reproduced. Thus, the creation of a reproducibility package is also yet another objective to be achieved in this BSPs.
alfredo.capozucca@uni.lu20223Energy-Efficient SoftwareDespite the fact that the lack of knowledge about existing tools that could help developers write Energy-Efficient Software is overwhelming, after gathering a bunch of tools/profilers and gadgets to see how they react in terms of energy efficiency consumption, now is to start applying different tests that will help in identifying the accuracy of a specifically chosen tool amongst the ones that have been worked with (i.e. Perf Profiler).

Acknowledging the research problem, the aim of this BSP is to (1) Dive into details of how using a specific tool can provide accurate results, and (2) Define and execute an experiment/s that allow/s answer one (or more) research questions in this field.
What is the energy that consumes certain predefined programming patterns? Is there a predefined benchmark that will help in identifying the efficiency of the energy consumption level within a specific domain? Are there Hardware tools that could help in assessing the claimed results using software tools?
The development of artifacts to support not only the execution of the experiment but also its reproducibility are the main technical elements to be provided, along with the collected data that would support the claimed results, this includes the installation of the predefined OS as well as the tool that has been decided to be used i.e. Perf Profiler, in addition to the search of existing hardware tools and use them -if applicable-.
alfredo.capozucca@uni.lu20224A capability maturity model for DevOpsThe student will have to initially understand and answer the question: what is a capability maturity model? Such that next he/she can enhance an existing procedure meant to assess an organization regarding its maturity in term of DevOps capabilities. Enhancing such procedure would require the student to learn how to perform a systematic literature review (SLR) (which is a key methodology on which fundamental research relies on). Reproducing the initial SLR that led to the definition of the procedure is also one of the objectives of the BSP.The initial objective is to create a reproducibility package for the SLR. This package must provide not only the chain of evidence of the retrieved data, but also the information to allow anybody to reproduce the SLR under the same conditions. The second objective is to develop of a roof-of-concept tool set aimed at supporting the execution of the assessment procedure.
alfredo.capozucca@uni.lu20212Energy-Efficient SoftwareAcknowledging the research problem, the aim of this BSP is to (1) analyse, and organise the available body of knowledge on this matter, and (2) define and execute an experiment that allows to answer one (or more) research questions in this field.

An example of such kind of research question would be: "given a certain context (hardware and baseline software), what is the energy that consumes certain pre-define programming patterns? finding out the relationship between pieces of code, and their associated energy consumption.
As explained in [1], software developers don't have a good understanding, not tool support to write software that is efficient in terms of energy consumption.

Reference: [1] Gustavo Pinto and Fernando Castor. 2017. Energy efficiency: a new concern for application software developers. Commun. ACM 60, 12 (December 2017), 68\u201375. DOI:https://doi.org/10.1145/3154384

The development of artefacts to support not only the execution of the experiment, but also its reproducibility are the main technical elements to be provided, along with the collected data that would support the claimed results.
aliosman.topal@uni.lu20226Tricking convolutional neural networks with generative adversarial networksConvolutional neural networks (CNNs) are nowadays commonly used in computer vision for a variety of tasks.
As with other machine learning techniques,
the question of their reliability has often been brought up,
especially since CNNs are now used in critical applications, e.g. in self-driving cars.

For classification tasks, it has been shown that a malicious party can trick CNNs that otherwise obtain excellent performance on regular, non-malicious image inputs.
In fact, there are several ways to trick CNNs, depending on the goal and constraints.
We will focus on a technique that uses generative adversarial networks (GANs).
This leads us to the following question:
How can generative adversarial networks fool convolutional neural networks trained for a classification task?

To answer this question, the student will first have to reassess his knowledge about CNNs acquired during courses and recall how GANs work for their usual applications, i.e. image generation.
Then, he will need to explain how GANs can be used to generate adversarial examples.
In the technical part of the project, the student will have to implement the approach discussed in the scientific part.
A CNN that has already been trained on ImageNet will be given as target.
The goal is to train a GAN so that it can fool the given CNN.
The exact GAN architecture and training method is given by the literature, the work of the student is limited to implementing the specified approach.
The technical deliverable will consist in the code to train a GAN and produce adversarial images, as well as its documentation.
aliosman.topal@uni.lu20213Creating robust Captcha by using AISometimes AI are competing, when having opposite goals. We want to find out how AIs behave if they are competing and how to influence this competition. Very popular are for example AI face recognition apps or image recognition. Another example would be CAPTCHAs designed by AI. Our goal is it to create such CAPTCHAs that adversary algorithms would not be able to recognize it. Today AI is used in a lot of different areas. Very popular are for example AI face recognition apps or image recognition. Another example would be CAPTCHAs designed by AI. In the end, CAPTCHAs are just images, and there are a lot of image classification algorithms, they can easily recognize them. Our aim is to create a CAPTCHA by using AI which cannot be detected by these algorithms.
aliosman.topal@uni.lu20213An end-to-end encryption scheme for an email clientThe scientific question of this project is "How can encryption be used to protect the content of email messages?".
The Simple Mail Transfer Protocol (SMTP) was created with no inbuilt security.
As a consequence, an email client needs to employ a certain encryption scheme to protect the content of emails from attacks aimed at the interception of information.
This is typically achieved via a public key infrastructure (PKI), also called asymmetric encryption, or a symmetric encryption technique.
The student will examine symmetric and asymmetric encryption techniques in the context of email security and compare them in terms of security level, resource efficiency, and ease of management.
The technical product of this project is an email client that uses end-to-end encryption to hide the information contained within emails.
End-to-end encryption means that a messaging service encrypts the data-in-motion for the entirety of its transmission rather than on the way.
The first phase of development is the implementation of a simple email client that provides basic features such as email sending, email retrieval, email formatting and email rendering.
The second phase focuses on adding an encryption algorithm that converts the body of emails to ciphertext when sending, and deciphers them after the email has been received.
amro.najjar@uni.lu20215Machine and Deep Learning in FinanceA scientific breakdown of core aspects of the financial world and how machine/deep learning can be applied to them. We will go through a series of case studies of the different areas and procedures that can be improved with the clever application of certain computational science techniques.

The main question to be answered in this part of this Bachelor Semester Project is: "How much of an advantage can the average investor gain by making use of Machine and Deep Learning Application?"
As python is the most prominently used language when working in machine learning specifically in the domain of finance, this will be the main programming language behind this project. With these we will develop a series of technical machine and deep learning applications relating to the financial world such as:
-Stock price prediction
-Stock sentiment analysis
-Bank market segmentation

These applications should be delivered in the form of a series of simple python scripts which can be executed on given datasets of any given stock.
andy.rupp@uni.lu20226Scaling Succinct Blockchains with Byzantine AgreementThe project's goal is to create a Byzantine Agreement consensus mechanism that is compatible with a succinct blockchain. This will be included in a new cryptocurrency design that will have greater scalability than previous existing projects.
The student will create a technical paper outlining the design of this cryptocurrency, including the consensus mechanism, an analysis of its benefits and drawbacks, an exploration of potential attack surfaces, and a comparison with similar existing projects.
In the technical section, the student must create a proof-of-concept for the planned design. This will be a collection of codes for implementing the consensus mechanism as well as a basic node's core for implementing the currency network. This will allow visualization of the consensus mechanism's operation as well as statistical data (transaction speeds, size of required storage, cpu consumption, etc...)
andy.rupp@uni.lu20213Key Rotation on a Cloud Server using Updatable EncryptionThe expected scientific work planned for this third bachelor semester project will consist in understanding the requirements of outsourcing in a secure manner data to the cloud, the security and performance properties updatable encryption (UE) schemes provide in theory as well as the basic ideas for realizing such schemes.
The performance of the various planned implementations will be then compared.
The technical deliverable for this project will consist in implementing a basic client-server prototype which allows the client to send UE-encrypted files to the server, request the server to update the stored ciphertexts owned by the client to a new key, and let the client retrieve the ciphertexts belonging to an encrypted file. The code should be modular in the sense that one could plug-and-play a different UE scheme (with the same interface). Depending on the complexity 1-2 of the latest UE schemes should be implemented and benchmarked.
arianna.rossi@uni.lu20225
Creating a dataset of manipulative designs (Dark patterns)
What description schema is appropriate to annotate a dataset of dark patterns?

Whether it\u2019s social media or online retailers, dark patterns are extensively implemented in websites. Dark patterns refer to features of the UI design, which are framed in a certain way with the malicious intent to deceive users towards actions they might not wanna take. These actions can range from disclosing personal data, which can then be used to the business\u2019s benefit. Hence a way to combat the threat of dark patterns is using machine learning techniques by defining an effective description schema to annotate a dataset of dark patterns.
The technical deliverable focuses on the creation of a labeled dataset by developing a set of labels and descriptions that are appropriate for further use for dataset annotation of dark patterns images. The most suitable methods and tools for the annotation as well as a guideline defining an well-established criteria and process for quality annotation will be elaborated in the technical deliverable. Moreover, if time permits, the implementation of NLP techniques, in particular the NER Named Entity Recognition technique will be explored in detail.
arianna.rossi@uni.lu20225Creating a dataset of manipulative designs (dark patterns)Dark patterns are design elements that can unduly influence the choices we make online. Think about the cookie banners that pop up on every website we visit: since it is too complicated and frustrating to refuse them, we often end up accepting cookies that track everything we do online. We give away our privacy because of how user interfaces are designed. These are dark patterns and we intend to provide solutions to fight them.

This is why we are collecting a dataset of images of dark patterns that can be used, for instance, to train machine learning models that automatically detect them online. A crucial task is the accurate annotation of the dataset: we need to describe it in a way that is relevant and understandable for humans and machines alike.

You will help us to answer questions like:
- What description schema is appropriate to annotate a dataset of dark patterns?
- How might we create a pipeline for reliable annotations?
No previous technical knowledge is needed. Familiarity with dataset creation and machine learning techniques is appreciated but not necessary.
We expect that you will help us perform one or more of the following tasks:
- develop a set of labels and descriptions that are suitable for the annotation of a dataset of dark pattern images
- help us establish the most appropriate techniques and tools for the annotation
- set up the annotation task, for instance draft the guidelines for the annotators and establish criteria and processes to ensure the quality of the annotation
- develop an understanding of how supervised machine learning works
- explore the licenses to release the dataset
- have a curious, inquisitive mind
- can organize your work independently and meticulously.
arianna.rossi@uni.lu20226Creating a dataset of manipulative designsThe scientific deliverable will answer the following question: "How might a description schema for dark patterns be implemented and used in the MISP?" The report will be split into several subsections: (1) an overview of dark patterns and addressing the issue of how to distinguish them, (2) an explanation of MISP, it's users, and how we can envision the roles and permissions for individuals and user groups, (3) how to categorise and describe dark patterns to be useable by multiple users. The technical work will be describing the dark pattern images that have already been collected and uploading them to the MISP (Malware Information Sharing Platform). This also entails correctly identifying users, creating user personas, assigning appropriate permissions to users, and matching description attributes and values per image. Depending on time, attributes used for supervised machine learning will be created so new images can be categorised via a classification algorithm.
baptiste.lambin@uni.lu20223Practical Integral Attacks on the PRESENT cipherThe goal of this project is to learn about basics of cryptography and cryptanalysis with the objective to implement some practical attacks (called Integral Attacks) on a (reduced) version of the PRESENT block cipher (i.e. an encryption algorithm), as well as the use of some automated tools like Mixed Integer Linear Programming.
Especially, the main question we will aim at answering is : How many rounds of the PRESENT block cipher can we attack using Integral Attacks, with practical complexity ?

This cipher essentially consists in repeating a given function several times (= several rounds) to encrypt a given message, and thus, the more rounds we can attack, the better.
Academic work tend to focus on attacking the highest amount of rounds, without the restriction of having practical complexity.
In this BSP, we will explore what can be done with practical complexity (i.e. being able to run the attack on a laptop) for a specific type of attacks (called Integral Attacks).

Subgoals will be to :
- Learn about basics of cryptography necessary for the realization of this BSP
- Learn how the PRESENT algorithm works
- Learn how Integral attacks work
- Learn how to search for these attacks using some automated tools like Mixed Integer Linear Programming.
The goal is to provide an implementation of :
- The PRESENT block cipher
- An attack on 5 rounds, guided by the PAT
- An algorithm to search for attacks on more rounds, based on Mixed Linear Programming (MILP)
- The resulting attacks

Knowledge of MILP is *not* expected and will be introduced during the BSP with assistance of the PAT.
The same goes for cryptography and cryptanalysis.
This BSP is expected to be implemented in Python, but C++ is acceptable too if the student has some familiarity with this language.
baptiste.lambin@uni.lu20225Practical Truncated Differential Attacks on the Skinny64 cipherThe goal of this project is to learn about basics of cryptography and cryptanalysis with the objective to implement some practical attacks (called Truncated Differentials Attacks) on a (reduced) version of the Skinny64 block cipher (i.e. an encryption algorithm).
Especially, the main question we will aim at answering is : How many rounds of the Skinny64 block cipher can we attack using Truncated Differentials, with practical complexity ?

This cipher essentially consists in repeating a given function several times (= several rounds) to encrypt a given message, and thus, the more rounds we can attack, the better.
Academic work tend to focus on attacking the highest amount of rounds, without the restriction of having practical complexity.
In this BSP, we will explore what can be done with practical complexity (i.e. being able to run the attack on a laptop) for a specific type of attacks (called Truncated Differentials).

Subgoals will be to :
- Learn about basics of cryptography necessary for the realization of this BSP
- Learn how the Skinny64 algorithm works
- Learn how Truncated Differential attacks work
- Learn how to search for these attacks using some automated tools like Mixed Integer Linear Programming.
The goal is to provide an implementation of :
- The Skinny64 block cipher
- An attack on 5 rounds, guided by the PAT
- An algorithm to search for attacks on more rounds, based on Mixed Linear Programming (MILP)
- The resulting attacks

Knowledge of MILP is *not* expected and will be introduced during the BSP with assistance of the PAT. The same goes for cryptography and cryptanalysis.
This BSP is expected to be implemented in Python, but C++ is acceptable too if the student has some familiarity with this language.
benoit.ries@uni.lu20222A Farmbot Notification System for GardenersThe main scientific deliverable is to provide a description and analysis of the different components of the farmbot and how they communicate with each other.
The main question is: How to show the important data to the farmbot user?
Specifically describe in detail what those components are, then explain their functioning and the role of each component (arduino, raspberry, message broker,webapp ), and then explain how they interact and communicate with the other components that they are connected to.
At the end there should then be a communication diagram visualizing the system.
There are two main technical
deliverables:
1) The fixing and working on main farmware program:
The deliverable is to continue on the main program
(called the Farmware program) where the previous student
left off and finish the main functions of it that Neobuild
wants to implement. In case there are faults, mistakes or
unfinished functions, they will have to be addressed and
fixed. The exact functions and specifications that have to
be added are provided and specified by Neobuild.
2) The notification system:
the deliverable is to create a system/function in the
main program that is able to make the Farmbot send
e-mails to the end user (that being the gardener) in
case the farmbot encounters an error or in order to
remind the gardener that his plants are finished. Then,
a feature that can send relevant data and notifications
to the Webapp to inform the user on the current status
of the Farmbot, its plants and the farm is needs to be added.
benoit.ries@uni.lu20226Using Lidar to monitor natural ecosystems and create augmented reality applicationsThe scientific part of the project aims at answering the scientific question: "How the Lidar technology could help monitor the health of natural ecosystems?". We will focus on the Lidar technology and study its use cases to help prevent and/or detect health-related issues in natural ecosystems. Furthermore, we can examine how Lidar can be used to create 3D models for augmented reality applications.The technical part of the project focuses on the development of an augmented reality application for the iPad. This application allows the user to simulate a personal garden by placing related objects in its environment through augmented reality. The aim of the application is to help users create and visualize their desired garden in advance by being able to place objects on their screen and physically walk through the garden. The goal is to help them draft and validate their decisions before committing.
benoit.ries@uni.lu20226A study on natural space object detection and virtual 3D object insertion using the Lidar technologyThe scientific deliverable of this BSP should explain the Lidar technology and identify its practical use cases (e.g. how and why Apple uses this technology in some of their products). The following scientific question should be answered during this deliverable: How can the Lidar technology be used to efficiently and reliably detect objects in a natural space? This question should be answered by studying scientific papers and articles related to the Lidar technology.The technical deliverable of this BSP includes the development of an iOS application with SwiftUI in Xcode. The application should be designed for the usage with an iPhone that possesses the Lidar sensor (iPhone 12 Pro or iPhone 13 Pro). This sensor can detect objects in space and produce a depth map of the space that is scanned. This map could then be used in the iOS application to insert 3D objects into the currently scanned space.
benoit.ries@uni.lu20215Landsat 8 Satelite Mobile AppHow efficient is it to monitor the health of the earth\u2019s ecosystems based on remote sensing data from the Landsat satellite?

In the beginning, it will be made a demo and with this demo, the program will be improved until we get a suitable result. We take one step after the other. At first, we build on the temperature, after the air quality, and so on.
A mobile or tablet app (iOS, or Android) that processes and displays last satellite data available for the current user location and a set of environment indices: AQI (Air Quality Index) , NDVI (Vegetation Index), etc. If time permits, a timelapse and a graph could be created that display the evolution of the health indices values over time.
benoit.ries@uni.lu20213Android Prototype of Drone-Human Interactions for Monitoring Resilience of EcosystemsThe goal of this project is to self-study the DJI mobile SDK , the DJI drone Matrice 210 and all of the technologies concerning this specific drone. Furthermore, a prototype application for Android will be created taking into account the constraints of the DJI Mobile SDK, if there are any. More precisely, this prototype will tackle the issue of visually representing a large variety of heterogeneous, raw and processed data. The prototype will illustrate an application that can be used to monitor the drone\u2019s flight and to get live information about the environment. Some of the desired functionalities include: - A live mode (used during the flight) used to identify and display particular zones and crops of interest - An offline mode used to manage the photos that have been taken and to perform image processing - Other functionalities that will result from the requirements elicitation phase. This BSP project is a sub-project of a broader project for monitoring the resiliency of Luxembourg\u2019s ecosystems (natural ecosystems and man-made ecosystems such as agricultural fields). In order to complete this BSP a background in Android applications is necessary.

The scientific deliverables of this project are:
1) A general presentation of qualities of Human-Drone Interactions and Graphical User Interface for drone remote Android applications
2) A motivated selection and presentation of a particular set of HDI + GUI qualities adapted to the application prototype
3) Requirements specification of an Android tablet application for the remote monitoring of ecosystems\u2019 resilience, e.g. in gardens, farms or parks. The requirements specification will focus on describing the data handled in the application, its GUI and DHI
The technical deliverables of this project are:
1) The analysis of the hardware and software components of the DJI Matrice 210
2) The creation of an interactive prototype for Android platforms, focusing on processing the images taken in-flight and real-time data acquisition.
The prototype will be created using *Sketch*, a digital design app used to create prototypes of UI, mobile, and web applications. Sketch will be used to create the UI of the prototype, and Invision - a digital product design platform, will be used to create an interactive prototype using the UI created with Sketch.
benoit.ries@uni.lu20215BicsLab Drone Mission Tablet AppThe scientific deliverable for this BSP will be about Concurrency in Software Engineering. A possible report structure could include the following points (not in order):
- What is concurrency in Software Engineering?
- How is it achieved? (Including explanations about Soft- and Hardware that is responsible for it)
- Pros/Cons
- Performance comparison between concurrent vs non-concurrent app
- Parallelism vs Concurrency
- Use cases (where it can and cannot be used)
The technical deliverable for this BSP will be a drone mission iPad app written in either SwiftUI or another framework such as Flutter amongst other possibilities (to be defined). Possible features to be implemented during the BSP are:
- an offline mission preparation
- a flight mode displaying live shots
- a post-mission mode that allows displaying the photos and the results computed during the flight
benoit.ries@uni.lu20215Drone Image Processing Mobile ApplicationThe student should model a drone and make a connection to Cyber-Physical Systems (CPS). It should be explained how a drone works exactly as well as its main components and interaction.
The student could also talk about the domains, related to computer science, in which drones are used (where are they important and why?) and how the image processing of small areas (captured by drones) can help to assess an ecosystem.
Implementation of a tablet app that is able to process photos taken by drones. The features of this application range from basic image processing like contrast increase, luminosity management, color filtering (red, green, blue, infrared), black and white conversion, to more advanced techniques like orthomosaic, feature extraction, plant counting, feature recognition using machine learning.
bernard.steenis@uni.lu20224Exploration of the possibility to connect a large quantity of RFID readers to one PCThis project is the follow up of the BSP work done by SCOTTO DI CESARE LUCAS: Object localization using RFID and Arduino. The global aim of the project to set up a network of RFID seonsors distributed in various location of an environment, for exmple an office building, a school or a hospital, to track the movement of people, each carrying a RFID tag. It has been explored previously how to connect a RFID sensor to a PC with an intermediate hardware (arduino). The scientific aim of my BSP is to find an effective way to connect a huge number ( above 100 RFFID sensors ) to a single PC. Different topologies of netowking of connection will also be explored.The technical part of the BSP will mainly concern the implementation of the massive networking connection of the RFID sensors. Normal consumer grade PC do not have close to 100 USB port for connecting to 100 arduinos. Thus a connection solution has to be found. Not only the RFID tag's identity number has to be captured, the timestamp of the registration of the identity also has to be captured. However, arduino's onboard time is dependent on the clock speed of the processor, which may varries across different boards. The boot up time of each arduino may also varry, thus the time counter will not be accurate. How to obtain a more accurate time across all the arduino boards will be explored.
bjorn.rohles@uni.lu20226Graphical User Interface for the Tello Drone.The scientific part is divided into 2 subparts.

The first part will focus on how to design a GUI that would meet the needs of drone users. For this, several interviews with target audiences will be conducted. Also, several types of designs will be studied based on existing applications and studies.

The second part will study the results/data obtained during the user tests of the technical section to see what could be improved.
The technical part of the project is divided into 2 subparts.

The first section is about implementing a Graphical User Interface for the different flight actions/configurations. The GUI will reuse functionalities of BSPs related to the Tello Drone. It's going to be implemented in Python.

The second section is about user testing. To be more precise, the GUI will be tested by several users. The tests will be conducted as tasks and scenarios that will make the testers use most of the GUI's functionalities.
These tests will provide data on the GUI implemented that will be used to improve it
carlos.vega@uni.lu20214Testing and Validation on BioKCBioKC (Knowledge Curation of biological facts) is a web tool developed by the Bioinformatics Core group from LCSB at University of Luxembourg. It allows researchers to annotate and curate systems biology models (SBML) on top of BioKB (Knowledge Base of biological facts extracted from scientific publications). Before an iteration of BioKB and BioKC is ready for production deployment, various verification and validation processes must be performed to ensure that the tool functionalities work properly.
This BSP is a follow up project to my previous project (BSP S6) and will primarily focus on unit testing. The scientific deliverable includes a thorough theoretical study of unit testing along with the overview of the unit testing processes for BioKC.
While the previous project investigated end-to-end tests and performance tests on BioKC, unit tests coverage was not exhaustive. For that reason, further coverage of the unit tests will be conducted in this BSP, where new unit tests covering controller components as well as model code will be implemented.
The planning and creation of a variety of Python unit tests will be conducted in a Gitlab CI environment. Additional to the above, an optional objective consists of the contribution in API refactoring and features currently in development.
christian.franck@uni.lu20223AI Engine for a Game Derived from Chess.The scientific work of this project will be mainly based on researching about the use of AI in chess. Recent
models developed by DeepMind company are a great progress in the board game word. New systems like MuZero are interesting AIs for this project since it is a recent yet interesting type of intelligence that learn without knowing any rules of the game and is adapted for games such as : Go, Shogi, Atari Games and, obviously, Chess. And the final report should contain the information about the functioning of our AI engine, the methods involved in it and all other questions that can be interesting to discuss about this technology. The scientific question for this project is : "How can we use an AI to play our custom chess-derived board game?"
The aim of the technical part of this project is to create a game engine using AI for game derived from Chess. Considering the previous BSP I have been working on the creation of a traditional Chess engine in Python for such a game, the new goal is to implement an engine that can be trained using machine learning. This new AI based chess engine will be written in Python.
christian.franck@uni.lu20222Chesser : A traditional engine for an extended chess gameHow can we optimize the evaluation function to obtain the best computer chess player ?
For the scientific part, since this project is about creating a chess engine for an extended chess game, the project's main topic to develop is the optimization of the evaluation function (and possibly other settings) to obtain the best computer player. We can also see the differences that this specific chess board takes in consideration compared to a traditional chess board and if chess engines work differently with this type of board.
For the technical part, the aim of this second Bachelor semester project is the implementation of a traditional chess engine for an extended chess game, based on a search function (with alpha-beta pruning) and an evaluation function. If the time is remaining we can make several versions of the engine with different depth of evaluation functions. Also, another time remaining goal to achieve is to test the efficiency of the chess engine on boards of different sizes, with another number of chess pieces and obstacles. Since it is a special extended chess game there are some obstacles where pieces are not allowed to stand on or to cross them.
christian.glodt@uni.lu20222Instant messaging server and client programsThe scientific deliverable is an answer to the question "What are the benefits of using 9front for network applications ?". In order to do that, a network application must first be defined, which also implies to define what a
network is. Then, different approaches of implementing network applications are presented, to finally focus on how the centralized approach can be implemented using 9front and its components and which benefits such implementation provide.
The technical deliverable is internet chat software, consisting of 2 programs, a client and a server program implemented for the 9front operating system. An user uses the client program to connect to some chat server to communicate textually with other users all running their own clients, by either writing in public chatrooms or directy
messaging another user. The goal of the technical deliverable is to implement a protocol simple as IRC but in an
improved way, by focusing on 3 features that we think are missing with IRC: chat history, authentication and encryption. The focus is more on chat history and authentication rather than encryption, and if encryption is to be implemented it should only be implemented for client-to-client communication, and not for chatrooms.
christian.glodt@uni.lu20212Comparative Review of Network Models for an Online Poker GameThe main purpose of this Bachelor Semester Project is to investigate network models in relation to a specific use case.
What network models are available? Answering this question will provide more options for the subsequent questions.
What is the difference between the client-server model and peer-to-peer model as well as other models? This requires describing each model and the differences between them as well as the implications of these differences in relation to security, reliability, speed etc.
What is the optimal model for our use case and why? This involves finding the optimal model for for a networked poker game application based on the advantages/disadvantages of each model as well as the requirements of the application.
The technical part of the BSP involves working with Python and its different modules associated with networking. The project will involve running multiple instances of the same python program (or completely different python programs) concurrently and communicating between them. The communication between the programs will be done using sockets. For the client-server model, multithreading on the server side may be used. Other network-related libraries, modules or concepts might be used depending on the conclusion of the scientific questions.
christian.glodt@uni.lu20213Implementation of a Ray-Tracing ProgramRay Tracing algorithms and especially their implementations concerning visual effects in movies, tv programs, real-time applications and lately video gaming are constantly growing. Ray Tracing is a way to represent and simulate how light and sound behave in a virtual world. Particularly, ray tracing contributes in simulating effects like reflection of an object or depth of field and motion blur. The scientific work will focus on how we can use the ray tracing algorithms and rendering techniques, which have to study first, to develop a program that simulates light on objects.For the BSP 3, the Technical part will be focused on the work made to develop a program using ray tracing. The language that will be used for this program is Python. Although there exists already a hardware acceleration in ray tracing in the current generation of Graphic Cards, we will focus on optimizing our rendering techniques and ray tracing algorithms in order to achieve speed in use and small response time using Python.
christian.moll@list.lu20226Analyzing sensor data on a microcontroller using neural networksThe scientific aspect has two main parts, one part is to check which body position is optimal to get the correct results. Our first intuition for placing the hardware on the human body would be three spots: the hip, one shoulder, one wrist. To clarify which position is more optimal, we want to perform tests, and check which option gives us the best solutions to track our wanted patterns.
The second part is to analyze, how we can optimize the model for running on a microcontroller and how we should model the data for the NN to make sense. Finally, we analyze the performance of the network we created, i.e. using accuracy, false positives, false negatives, recall and other measures.
We want to create and train a neural network to run inference on a microcontroller on incoming sensor data. The initial idea is to use \u2018TensorFlow Lite for microcontrollers\u2019 as the framework for the final NN and the microcontroller basis is intended to be an ESP32. The sensor data is initially projected to stem from one or more accelerometers depending on the needs. Using this construct of an MCU, an IMU and TF Lite, we want to track human body movement, whereas the hardware should only be placed in the single spot, which we want to find during the scientific part. In the end we want to be able to recognize human body movement, like whether a person is standing, walking, waving, etc. This could later be useful for more advanced human-computer interaction scenarios.
christian.moll@list.lu20215Using MicroPython with the KniwwelinoXWe want to create some code examples that will both be built using the original Kniwwelinolib and the MicroPython port for the KniwwelinoX, which is the technical part. These examples should on one hand give easy introductory code and on the other hand be as close to each other as the corresponding languages allow. Said examples are then used to perform some benchmarks to ask the question, whether there are benefits of using C or MicroPython for the KniwwelinoX and its port. An example for such a code would be to compute the Fibonacci numbers up to a defined limit and test how much time it takes for each language.The technical part describes the production of a Kniwwelinolib port to MicroPython for the prototype of the KniwwelinoX. This new board is using the ESP32 instead of the ESP8266 and we want to create a MicroPython module for it, that resembles in functionality to the original, in C implemented, Kniwwelinolib. This module can either be implemented in pure C, which in theory should give better performance, or it can be done in Python, which would boost readability and simplify the creation process. The best way to achieve this goal is to fork the original MicroPython project on GitHub so that other modules can easily be merged or linked to.
christoph.schommer@uni.lu20223Reinforcement Learning applied to Video GamesReinforcement learning, a subfield of machine learning, examines how intelligent agents should act in a certain environment while being \u201crewarded\u201d for good behaviour. Machine learning models are trained via reinforcement learning to make a series of choices. But what is Reinforcement Learning and how does it compare with other ML techniques? The scientific work of this BSP would focus on answering this question, while also discussing some of the approaches or algorithms used solve problems in Reinforcement Learning as to give a detailed explanation of the subject at hand.The technical work of this project focuses on training an intelligent agent to play a video game in an optimal way using Reinforcement Learning. For this matter, we will be using OpenAI\u2019s open-source Python library, \u201cGym\u201d, to be able to train our agent. This will allow us to learn more about Reinforcement Learning and learn how to implement it in a custom environment.
christoph.schommer@uni.lu20223StyleGAN contribution to image generationHow styleGAN can contribute to synthesize a realistic generated image ?
The scientific aim of the thesis is to review the literature for Generative Adversarial Networks (GAN). Furthermore, the features that enable a better control and understanding of the images generated will be studied. This study includes image-to-image techniques to generate high-resolution images with different levels of complexity. We will also critically discuss StyleGan compared to other GAN architectures. Due to the limited time frame, we can partially give an introduction to noise as a source of variation at each point of the generator model and analyse the contribution to the generated images.
As far as the technical implementation of the project is concerned, a solution based on the pSp architecture (pixel2style2pixel), which converts a given image into a different painting style, will be designed and implemented in the Python programming language and in conjunction with Deep Learning/Tensorflow. Depending on the time constraints, we will experiment with different styles and evaluate the accuracy of our task.
christoph.schommer@uni.lu20225Comparison of language recognition methodsThe scientific part of the project will focus on the analysis of different language recognition methods existing in literature and studying of these methods. The results coming from the implementation of the algorithms done in the technical part will be used to assess the efficiency and correctness of analysed algorithms. The analysis will also differentiate between recognition of language in different lengths of text, providing an overview of the effectiveness of each algorithm depending on the length of the given text. The aim of this project\u2019s technical deliverable is to implement algorithms that are able to recognise a language from given text input. The program will use machine learning methods to achieve this goal. Python will be the language used to create an application that implements the algorithms and then produces values evaluating the performance of different approaches. If possible, the application will be extended to perform language identification on voice recordings.
christoph.schommer@uni.lu20222A python-based game focused on reinforcement learningThe scientific deliverable covers the question \u201cWhat are AI ethics and why are they important?\u201d. In order to answer this question, several web sources and articles are chosen. This section aims at covering the main rules that are followed in order to ensure the responsible production of Artificial Intelligence (the AI\u2019s ethics). These rules also come with a description of their importance in this sector; hence proving why they are highly relevant.A video game is to be created using the python programming language. This game has several different levels. As the user progresses from one level to another, the game\u2019s objective is to progressively get harder for the user to beat, through the use of AI reinforcement learning and supervised learning. Finally, a representation of how the AI improved from the starting point of the game up till the end is then displayed.
christoph.schommer@uni.lu20213Image classification of household pets using the Oxford-IIIT Pet Dataset and machine learningThe expected scientific work for the bachelor semester project is for the student to study and engage in carrying out research on the topic of image classification and machine learning, with the expected outcome being that at the end of the project the student is able to understand and apply the terminology accordingly.
As part of the scientific deliverable experiments will be carried out with the software of the student's choice and he will comment on the result.
The question "how does a computer see?" will be answered by delving into the field of computer vision.
The project will additionally attempt to point towards future trends and challenges concerning image classification.
The technical deliverable of this project will include the implementation and training of an image classification model.
in order to achieve this machine learning techniques will be required.
For the purpose of this project the student will use the Oxford-IIIT Pet Dataset consisting of hundreds of images in order to train the image classification model
To assess the accuracy of the model, the image classification technique will be tested on new images that have not been used during the training phase.
christoph.schommer@uni.lu20215Conceptualization and creation of a deepfake video.The scientific objective of this project will be to analyze and understand the conceptualization of deepfake algorithm. We will see possibility that deepfake algorithm give us and how far this emerging technology can go. Today deepfake is known to create realistic fake video, thus throughout this project we will see if king of algorithm should be interpreted as real danger in the future.The technical objective of this project will be to create a python program that produce deepfake video. The deepfake video will be focusing on the face and the objective will be for the user to control directly with a camera the face of a given person. The algorithm should goes through neural network and image processing to achieve the project
daniel.karpati@uni.lu20226Augmented Reality: The State of the Art and Unity ImplementationsIn the scientific part of this Bachelor Semester Project, our goal is to break down the technology of Augmented Reality. We begin with an analysis of the state of the art, the techniques, and systems used for successful applications followed by a series of case studies and success stories in the industry.
The main questions we aim to answer are:
- How has augmented reality shaped the industry for the better?
- How can an average business or project take advantage of augmented reality for themselves?
For the technical part of this Bachelor Semester Project, our aim is to create a series of small-scale projects showcasing different aspects of the technology and how it can be useful in different domains.
Some ideas of implementations are:
- A camera-based measuring tool for furniture and other objects.
- Some kind of mini-game to be projected on a flat surface.
- Animating different creatures on card-shaped objects.
- Racing game with custom track creation tool for indoor or outdoor environments
denis.zampunieris@uni.lu20223Machine Learning in Planet DefenseThe scientific work aims to comprehend machine learning and the different types that exist. To a better understanding of the different types, a comparison between supervised learning and unsupervised learning will be made by using the data collected from the algorithms developed in the technical section of this BSP,
The leading scientific question which will be answered in this section is the following: "What is the most suitable type of machine learning to be applied to the towers of Planet Defense?"
The technical work of the project revolves around implementing machine learning in the strategy game Planet Defense, which was developed in the last BSP. Machine learning is going to take part in the game by helping the towers recognize and analyze which enemy should be the target according to different situations. The idea is to have two different algorithms of different types: supervised learning and unsupervised learning.
Additionally, the project has Python as the primary programming language, using Tensorflow, an machine learning framework.
denis.zampunieris@uni.lu20222A Strategy game with PygameThe objective of the scientific work is to comprehend the ergonomics of video games. As it is one of the main factors that influence the player experience, consequently it is directly connected to the success of a game.

To better understand the topic, the following question is going to be answered through the scientific deliverable: "What are the aspects that impact video game ergonomics?". It will be answered by going over the different elements and defining how important they are to reach a satisfiable ergonomic level.
The technical work of the project revolves around the development of a strategy game, to be more specific, an tower defense game. The 2d game has python as the programming language, using the game development library Pygame.

The game is set in space, each level being on a different planet. The game's objective is to defeat all the aliens before they reach the rocket. The aliens come in waves and follow the path until the rocket: the more aliens reach the rocket, the lesser the player's lives. By defeating all the waves, the player wins.
All those features need to be working precisely to have the expected experience during the gameplay.
denis.zampunieris@uni.lu20213Robot Simulation using Webots(tm)In this context, the student will explore the simulator libraries and, depending on his progress, will modify the behavior of some existing robot and/or create a new one.
Using the specific simulator the student will learn and get an idea how the robots work from behind the screen, such as the movement or specific task of a robot. compared to real robots a simulation can simplify and prevent a lot of issues such as the robot crashed and can't be used anymore. The student will learn new things about specific robots/simulator and extract the functionalities of the simulator. One scientific question can be for example: Is is better to use an simulator compared to using real robot? (Depending on the process )
Webots(tm) is a professional simulator widely used for educational purposes, that provides a complete development environment to model and program robots.
The first phase of this project is to properly install the webots, afterwards the student will modify the behavior of some already existing robots or depending on the process, to create a new one which will be able to perform specific tasks.
fabrizio.pastore@uni.lu20223Defining a Benchmark Application for Metamorphic Security TestingMetamorphic Security Testing (MST) is an approach that automatically discovers vulnerabilities not targeted by existing tools (e.g., authorization problems); for this reason, the literature lacks benchmarks for the evaluation of its effectiveness. With this project, we aim to address the research question "Is it feasible to define a benchmark for Metamorphic Security Testing?". The project includes a scientific investigation of (a) the vulnerability types targeted by MST, (b) the vulnerabilities already discovered by MST in real-world software, and (c) the architecture of known security benchmarks. The investigation then leads to the selection of a set of vulnerabilities that can be be introduced in a real-world software for the definition of a benchmark; the proportion of vulnerabilities deemed feasible will enable us to answer the research question above.The technical part will concern the investigation of the architecture of a real-world software (e.g., Jenkins) to be used as benchmark. The investigation will lead to the identification of the software components to modify to introduce the vulnerabilities selected. Test scripts with a description of how to demonstrate the presence of the injected vulnerabilities will be redacted.
fabrizio.pastore@uni.lu20226Automated Security Testing of Cyber-physical systemsHow can system properties be captured as metamorphic relations to transform an initial set of test inputs (source inputs) into follow-up test inputs?

1) The student will consult the vulnerabilities published in the Robot Vulnerability and Database (RVD) and gain an in-depth knowledge of them.

2) The student will develop metamorphic relationships related to vulnerabilities published in the RVD in collaboration with his tutor, and present them in the SMLR editor.
Implement metamorphic testing for vulnerabilities by programming and executing metamorphic relationships.

1) The student will develop APIs that will extend the functions of the Security Metamorphic Relation Language (SMRL).

2) The student will transform the previously specified metomorphic relationships into Java code using the SMLR tool and then execute them, thus testing the various vulnerabilities.
fabrizio.pastore@uni.lu20224Automated testing of autonomous systemsResearch Question 1 - Can AI-based algorithms be used to effectively drive the testing of autonomous systems?

When it comes to testing conformance with functional and safety requirements, autonomous systems \u2013 from programmed controllers (e.g., autoflight components) to vision-based systems (e.g., autonomous driving assistance systems - ADAS) present several challenges. One of the reasons is that they need to automatically handle a very large number of scenarios, which are infeasible to be validated in real world. For this reason, most of the testing activities are conducted with simulators; however, the large number of scenarios complicates also testing with simulators. For this reason, it is necessary to identify solutions that enable the automated generation of effective test scenarios. Reinforcement learning (RL) algorithms, an AI solution, are an ideal candidate for this purpose; indeed, they can learn to identify the test inputs that may trigger a software misbehavior by observing software anomalies (e.g., inaccurate responses). This project aims to identify a set of RL algorithms with characteristics compatible to the project objective and to evaluate their effectiveness in relevant contexts (i.e., testing of ADAS with car simulators).

Research Question 2 - Can AI-based testing be used in a DevOps context?

Modern software systems are developed in DevOps context with frequent updates. RL-based solutions should be applicable in these contexts. The project aims to identify how well RL-based solutions may fit (e.g., time required for training or identifying solutions to reuse models across software versions).
The project will lead to the development of a software testing toolset that integrates a set of RL algorithms. The toolset should integrate the layers to required for controlling the simulators used to run experiments; also, it should integrate an implementation of the solutions identified to address RQ2. The software interface should enable the configuration of the tool and should enable its execution in a CI/CD environment (e.g., within Jenkins). The software will be developed as an extension of an existing simulator-based testing framework developed at SnT/University of Luxembourg. The toolset should be implemented in Python relying on well-known mathematical libraries.
florian.felten@uni.lu20225Neuroevolution of augmenting topologies"The project\u2019s main subject is the usage of neuroevolution of augmenting topologies (NEAT). The concept of NEAT was first introduced in 2002 and combines the ideas of genetic algorithms and artificial neural networks to create and train artificial intelligent agents. Normally, a neural networks topology is chosen by hand and the weights of the connections are then optimized during the training phase. During this procedure, the topology might not be optimally chosen and might need to be changed again, which leads to a reset of the weighting and the training phase of the new neural network.

The main expected scientific deliverable of the project is to explain in the final report the method used to train an agent with the given neuroevolution technique in a chosen environment for training artificial intelligent agents. Included in that work is a report about the efficiency and comparison of the NEAT approach to other machine learning algorithms like neural networks and reinforcement learning. This report witll address questions like, which are the upsides and downsides of the different ML procedures?"
In NEAT, the topology and the weight are decided through an evolutionary approach and optimized at the same
time, to quicken the convergence of the network. In the beginning the neural network will only start with the input and output neurons and during the evolution steps, the topology will grow indefinitely with different weights to find a solution.

The main expected technical deliverable of the project would be to implement the above mentioned neuroevolution of augmented topologies technique for a chosen machine learning environment. Furthermore it is possible but not necessary to implement several algorithms to
compare them to each other, which can then also be used for the evaluation of the scientific section of the project.
florian.felten@uni.lu20225Reinforcement Learning Against Adversarial AlgorithmsThe scientific deliverables and requirements of this Bachelor Semester Project are analyzing the time and space complexity of Minimax search with alpha-beta pruning, understanding the benefits of using an exact search methods like Minimax with alpha-beta pruning and the benefits of training your own agent. Comparison of the two agents using Minimax with alpha-beta pruning and Q-Learning to train by observing the former agent. Finally, discussing the question \u201cCan a trained agent eventually beat its opponent who uses an informed search algorithm, by training against him?\u201dThe technical deliverables and requirements of this Bachelor Semester Project are utilizing a Gym Chess API for the environment and solving this problem using the Reinforcement Learning algorithm Q-Learning and the adversarial algorithm Minimax with alpha-beta pruning, understanding the implementation of and using Q-Learning, understanding the implementation of and using Minimax with alpha-beta pruning. The main programming language of this Bachelor Semester Project is Python.
florian.felten@uni.lu20224Solving mazes with robots; from planning to real-timeThe scientific deliverables of this project are: analyzing the time and space complexity of exact methods such as BFS, Dijkstra, etc., understanding the benefits and drawbacks of informed search methods, comparison of real-time and offline algorithms such as RTA* and Moving Target Search. Finally, if possible due to time limitations, exploration of partially observable environments (POMDP) or dynamicity, meaning using search algorithms on not a fully observable environment or an environment that is manipulated as the search algorithm is used.?The technical deliverables of this project are: designing and building environments to model real-life problems, and solving those problems using wheeled drones controlled by algorithms. The main programming language of this BSP will be Python. The wheeled drones that will be utilized are Epuck robots, and the simulation environment is an open-source software named Argos. After simulation trials the solutions will be tested in a real-life environment.
francois.gerard@uni.lu20223Reliability of hashing passwords\u201cTo what extent does the hashing algorithm contribute to the strength of a password?\u201d. When a password is stored in a database, the password is hashed. This way, if there is a password leak, the password is not directly leaked but the hash is. To answer this question, we will use common attacks that try to retrieve passwords from hash. Create software whose goal is to find passwords using common techniques such as naive, dictionary, and rainbow tables. We will use different hash functions to secure the password. The program will apply those common attacks on the database we created. Finally, we will be able to make statistics out of the results we find. The program will be written using python.
giacomo.ditollo@ext.uni.lu20224Pareto analysis and structural properties of Financial data Pareto Analysis is a statistical technique in decision-making used to select a limited number of tasks that produce a significant overall effect. It uses the Pareto Principle (also known as the 80/20 rule), the idea that by doing 20% of the work, you can generate 80% of the benefit of doing the entire job. The project aims in detecting some structural properties of financial time-series, by investigating the tails of the distribution. This information will be combined with information coming from rating agencies, in order to understand whether they can be used jointly to predict price movements. For this task, a Random Forest approach will be used. Distribution tails will be investigated via Matlab; the Random Forest approach will be implemented in Python. Our scientific question is:
To what extent computational methods can be used to investigate the shape of a distribution?
A Python Program that implements a Pareto analysis and searches for structural properties in financial data.
giacomo.ditollo@ext.uni.lu20225Blockchain and Cryptocurrencies: foundations and predictionThe scientific part is composed by the fact that, on the one hand, I have to define a set of cryptocurrencies for which I will implement a prediction tool that will allow me to predict the future price. In order to do this, it is necessary to understand things like: How are cryptocurrencies built? How is their value is composed and how to use such things to make a reliable prediction?The technical task will be to analyze the behavior of a blockchain and learn how it processes tasks. To do this, it is necessary to understand the various algorithms on which the blockchain is based. Furthermore, various concepts in the crypto world need to be understood, such as DEX and CEX, among others. Furthermore, one task is to propose some alternative algorithms, but without the experimental phase.
giacomo.ditollo@ext.uni.lu20225Machine learning to predict BnB pricesThe project aims to model the price of BnB structures on Airbnb via Computational Intelligence Tools: amongst the applications of prediction models, a great attention is paid to time series, with particular emphasis on price movements. This is often specifically associated to stock prices, but can be generically associated to any price. In this project, we want to predict the price of the hospitality service, by attempting a prediction on rooms offered by the popular site "AirBnB". To this goal, we will retrieve data referring to specific indicators used to describe the service, and use them as predictors, in the framework of computational intelligence tools.The outline of the project will be
T1: Acquiring data about Airbnb (or a comparable source of data) via a web-scraper
T2: Modelling and visualizing raw data
T3: Acquire high-level knowledge about Random Forests, Decision Trees, Neural Networks, Meta-heuristics
T4: Choosing some computational tools and implementing them in Python
T5: Predicting the price of BnB via the selected tools
T6: Comparing the predictions with standard tools such as linear regressions and Generalised Linear Models
giacomo.ditollo@ext.uni.lu20225Chatbot-creator to create interactable chatbotsThe project is aimed at understanding how Chatbots can interact with users and how they
can be created to give the users a good experience with the chatbots? Word-groups will have
to be identified using different criteria which will have to be justified. Misspellings will have
to be recognised and changed to better understand the user and allow some mistakes while
still understanding the user. Different types of chatbots will be analysed out of which one will
be chosen for the technical part. Finally, the application will be compared to other
applications to create chatbots.

The technical goals of the project are:
- To be able to recognise word-groups
- To be able to identify misspellings
- To be able to create a chatbot which can interact with a user based on the user-input
- To be able to create multiple choice answers for the chatbot
- To create an application, which can create a chatbot based on the user requirements
- To create an interface for the chatbot
- To be able to get the chatbot to understand the context of a discussion
- To be able to let the user teach the chatbot if the chatbot interacted in the right way or
not
giacomo.ditollo@ext.uni.lu20225Web ScraperObjectives of the projects are: * to develop the scraper; * to identify the websites to be analysed on the basis of web-based content; **to assess the innovation capability of the websites taken into account on the basis of a machine learning approach chosen by the student. The scientific section will analyse the results of the technical section and answer the question: "how can be machine learning be used to analyse web content?"The project is aimed in developping a web scraper in order to find useful information from a list of webpages. The scraper has to have the following properties: * to be able to deal with keywords composed of boolean expressions; * to be able to read the websites to be scraped from an external file; ** to be able to compute meaningful statistics about the occurrence of the keywords.
giacomo.ditollo@ext.uni.lu20224Web Application FirewallWeb Application Firewall (WAF) is a security system that monitors and controls the HTTP traffic between web applications on a host and the internet.

Normally, WAF\u2019s purpose is to protect your web application against a wide range of cyber security attacks like Broken Access Control, SQL injection, Server-Side Request Forgery, and many more. The previous cyber attack examples happen to be amongst OWASP top 10 most exploited security risks in 2021 which speaks to the importance of WAF development and maintenance especially for critical applications, for example military, Banks, and companies applications.

Scientific Deliverables:

1- A research on WAF\u2019s development, implementation, and testing is to be undertaken.
2- A research on Cyber security most exploited vulnerability in 2021 is to be completed.
3- A network design is to be chosen to fit our implementation, maintenance, and testing purposes.
4- An Algorithm to implement a and test a Host-based WAF corresponding to the results of the all research done.
5- possible optimisation steps are to be defined and possibly applied.


A WAF operates through a set of rules often called policies. These policies aim to protect against vulnerabilities in the application by filtering out malicious traffic. The value of a WAF comes in part from the speed and ease with which policy modification can be implemented, allowing for faster response to varying attack vectors; during a DDoS attack, rate limiting can be quickly implemented by modifying WAF policies.

Technical Deliverables:

1- An Application programming Interface API.
2- An implementation of our designed Network infrastructure.
3-A WAF application is to be developed, and tested in our network.
giacomo.ditollo@ext.uni.lu20222Use unstructured data to build consensusScientific question: Does the presence of a business in the social networks have an impact on their performances?
- define consensus in both general and finance focused approach
- understand and analyze social and psychological backgrounds of consensus
- false consensus effect
- scientific analysis of consensus algorithms
- assess presence of businesses in Twitter
- Compute the correlation between presence on twitter and stock prices
- Find a consensus over a given portfolio and evaluate its performances
Technical deliverables:
- To be able to download, install and check the integrity of the R package, and to load and understand the main application libraries
- To be able to interpret the different results and values provided by R
- To be able to use R to compute various statistics and diagrams
- To be able to use Python to interface with Twitter
giacomo.ditollo@ext.uni.lu20223Peer-review: an interface for structured communication for musical aspectsThe project aims to mimic the behavior of peer-reviewing, in order to support a given community we have specified the target of the community of "musicians", but the student may select another community. The idea is to share a given set of documents with some members of a given community, and to let the members of a given community give feedbacks on the shared material. No pre-requisites are necessary Scientific Aspects To evaluate the proposed approach w.r.t. some software engineering guidelines To assess the performances of the implemented approaches in terms of significant statisticsTechnical aspect To learn a language for Web Programming (server side) To learn the Dynamical Web Programming modules offered by Python To interface Python with Gmail in order to detect some specific messages and to perform some predefined operations To develop an interface to send email with a given content to a given set of recipients
giacomo.ditollo@ext.uni.lu20224Simulating ships movement in a harbor*It is possible to assess the importance of simulation of given data to find the best results when emitting bottlenecks in a logistic process within the shipping department?

We want to perform a simulation in order to understand whether it is possible to define an optimal schedule for vessels (or priority management, or trajectory) that takes into account the particular physical features of the port and the port regulations. This will be done by converting approaches from different topics. The analysis of the results of the simulation will be processed via text-mining in order to grasp useful information.
* To define the model of a logistic problem by using the software * https://account.flexsim.com/flexsim-express/*
* To create a benchmark for the problem, by using real instances
* To integrate our model with external sources via text analysis
* To solve the existing logistic problem
* To compute the correlation of the outcome of our problem with some external features
giacomo.ditollo@ext.uni.lu20226Stress-test analysis by computational toolsThe scientific contribution of the project is about understanding whether programming languages may be used to automate some procedures used in order to perform stress test analysis by banks and policymakers. An example of a stress test would be to predict the one-year-ahead capital adequacy ratio, which determines if a bank has sufficient capital to compensate losses due to an external shock. In other words, we analyze how banks would cope in a financial crisis.The technical contribution of the project is about collecting and modelling data used by banks to perform stress tests. In the technical contribution, we also want to represent the knowledge contained in the aforementioned data by using a programming language (preferably in the programming language Python). We use the knowledge mentioned above to select a computational tool to perform some stress test analysis.
giacomo.ditollo@ext.uni.lu20222A game recommender web page.In the scientific work of the project, I will try to answer the question "Can a automatic learning approach be used to build a recommender system ?" for that I will have to define what a recommendation system is and how to build a recommendation system with automatic learning.
I want to create a game recommendation system because I find that it allows users to discover games that they might potentially like in relation to the genres of games they usually play.
For my project, I will develop I think in java script a web page on which we can list a list of video games owned and following this list of games and thanks to a recommendation system, the program will be able to advise the user a new game based on the genres of games it has. I think i will use because it is a language that allows you to do a lot of stuff via a web browser.
giacomo.ditollo@ext.uni.lu20226A Numerical Method Approach For Stress TestThe BSP Scientific Work consists of five main tasks. The first one is how to acquire data for the stress test? ("analysis to determine the ability of a given financial instrument to deal with an economic crisis"). Then, we should ask how to select a computational tool to predict the outcome of a stress-test exercise? How to predict the outcome of a stress-test exercise? After getting results, we have to ask how to compare our findings with alternative approaches? And finally, how could an autonomous approach be used to identify sensitive factors for stress-test analysis?
The technical contribution of the project will be devoted to implementing a Keras/Tensorflow based Python application devoted. Three main subparts that are to be planned are: producing initial documentation about domain stakeholders, system actors, use cases model, use case instances, and other relevant design information (already seen on the Software Engineering 1 course). Then, we must care about how to import and process external data and finally model a subroutine of a basic stress-test exercise.
giacomo.ditollo@ext.uni.lu20226Event-based reputation detection and its application to market dataThe scientific part of the project focuses on describing the cryptocurrency "Bitcoin" with a mathematical model. This model will describe both the cryptomining part of the currency and the flow of the currency. Cryptomining only produces a part of the total coins, there is certain number of "non-tradable" Bitcoins that exists. We will also appriximate this quantity. We will also research whether the reputation of a cryptocurrency has an impact on its price in order to develop an approach to compute the correlation between and price. We are then interested to compare this correlation to traditional stock-markets using an indicator we will identify. We will aim to answer to following question : Is there a difference about traditional markets and crypto markets about event-based responses to changes in reputation?The technical part of the project focuses on the implementation of the mathematical model established previously as a python program. The goal is to perform predictions on a set of Bitcoin values over time. The development process of the program will iterate between the prediction process, evaluation of the results in the scientific section, make adjustments to the current model or change approach, and testing. The development will apply software engineering techniques. Meaning that a use-case model and instances, a concept model, an environment model and operation model will be produced. The objective is to follow this iterative process until satisfactory result with respect to the requirements defined are met.
giacomo.ditollo@ext.uni.lu20224a computational finance application with matlab and pythonThe goal of the scientific deliverable is to answer the following question: "can python be used to produce optimized portfolios?"
The definition of a portfolio is: "a collection of financial investments like stocks, bonds, commodities, cash, and cash equivalents, including closed-end funds and exchange traded funds".
The objectives are to acquire a background in computational finance and matlab. Knowledge of python is necessary.
The goal of the technical deliverable is to convert an app from matlab to python.
The different objectives are (in order): learn matlab and get familiar with this language, translate an already existing app from matlab to python.
The python application will not need to have any UI components: only the algorithms that run the app will be requested. Visuals can always be added later.
giacomo.ditollo@ext.uni.lu20226An attempt to predict cryptocurrency valuesWe will devise a mathematical model approach to the cryptocurrency "Bitcoin". We will research on the yearly production rate of Bitcoins, also known as cryptomining. We will evaluate the "stock-to-flow". The "stock-to-flow" is the number of Bitcoins globally available for trading. Reportedly, a portion of the global Bitcoins are not available for exchanges, so we will investigate on this information. We will also research to get the closest approximation of the number of "non-tradable" Bitcoins existing. We will then report on the efficiency of the model implemented during the technical part of this project.We will implement a program with the predictive model created during the scientific part of this project with the programming language Python. We will use the model to observe data and perform predictions on a dataset of bitcoin values over time. We will iterate between the prediction process, reporting of results in the scientific section, tweaking the model to improve it or to try other approaches, then test it again. We will apply software engineering techniques to produce a use case model and instances, a concept model, an environment model, and an operational model. We will continue until we reach a satisfactory result with respect to the requirements defined during the project. We will then verify whether existing code satisfies software engineering principles.
giacomo.ditollo@ext.uni.lu20213A model to predict crypto-currencies performancesTwitter User "PlanB" has developed a mathematical model for Bitcoins, referred to as "stock-to-flow", in which some projections are made about the cryptocurrency (Bitcoin) dynamics. This is based on the ratio "stock to flow", that represents the ratio between the global number of Bitcoins into the market and the Bitcoins that are mined (produced) over one year.
The model takes into account the fact that creator of Bitcoin (named Satoshi) has kept a given amount of Bitcoins as "not tradable", hence it deducts a fixed amount from the "stock". The problem is that the amount is not perfectly known. Furthermore, the civil year seems to be formed of some arbitrary number of days (i.e., 463 days per year).
In this project, we want
* to devise a Python procedure to assess whether the "stock-to-flow" model is robust with respect to different values that can be assigned to the "not tradable" coins
* to devise a Python procedure to assess whether the "stock-to-flow" model is robust with respect to different values that can be assigned to the days composing a civil year
* to predict Bitcoin prices
giacomo.ditollo@ext.uni.lu20215Blockchain and Cryptocurrencies: foundations and predictionThe scientific part is composed by the fact that, on the one hand, I have to define a set of cryptocurrencies for which I will implement a prediction tool that will allow me to predict the future price. The technical task will be to analyze the behavior of a blockchain and learn how it processes tasks. To do this, it is necessary to understand the various algorithms on which the blockchain is based. Furthermore, one task is to propose some alternative algorithms, but without the experimental phase.
giacomo.ditollo@ext.uni.lu20213Peer-review: an interface for structured communication for musical aspectsThe project aims to mimic the behavior of peer-reviewing, in order to support a given community we have specified the target of the community of "musicians", but the student may select another community.
The idea is to share a given set of documents with some members of a given community, and to let the members of a given community give feedbacks on the shared material.
No pre-requisites are necessary

Scientific Aspects
To evaluate the proposed approach w.r.t. some software engineering guidelines
To assess the performances of the implemented approaches in terms of significant statistics
Technical aspect
To learn a language for Web Programming (server side)
To learn the Dynamical Web Programming modules offered by Python
To interface Python with Gmail in order to detect some specific messages and to perform some predefined operations
To develop an interface to send email with a given content to a given set of recipients
giacomo.ditollo@ext.uni.lu20213Neural Networks and banking stress-test
The case study analysis is centered on the stress-testing exercise performed by regulatory authorities to identify the potential weaknesses that can undermine the financial stability of a banking system. It is inspired by the paper "Deep-Stress: A deep learning approach for dynamic balance sheet stress testing?" (Petropoulos et al., 2019).
The experimental analysis will be performed on US banks, together with the tuning of the hyperparameters to improve the model performance. The objective is to predict the one-year-ahead capital adequacy ratio, which determines if a bank has sufficient capital to compensate losses due to an external shock. Both financial and
macroeconomic indicators are used in this problem.
In this exercise models to forecast the performances of assets held in the bank's portfolios will also be used.

Main expected scientific deliverable:

* A comparison of the functionalities of Python and Matlab
* The results of the prediction exercise and the comparison with real data for both structure functions and Capital Adequacy Ratio
This project investigates the fundamental theoretical notions about artificial neural networks and deep learning techniques applied to a real scenario: at the first stage, artificial neural networks will be used to generalize information after being trained, taking into account pre-processing data, outliers detection, and scaling. Careful tuning of the hyperparameters will be taken into account.
We are also implementing "structured functions" to model the assets (stocks) prices to give useful information to the analysis. This will be done in Matlab.

Main expected technical deliverable:

* The structured function developed in Matlab
* A neural network approach developed on Python
giacomo.ditollo@ext.uni.lu20213Using R to model linear (and other) regression in real scenariosThe project is aimed to understand whether R can be used to model a real-world scenario using a mathematical concept devised in the technical part. We are introducing different case studies in order to make the student evaluate them and choose which one to use according to data feature. The choice has to be justified and the comparison amongst different techniques will be a plus.The technical goal of the project are
* To be able to download, install and check the integrity of the R package, and to load the main application libraries
* To be able to use R to data input-output with respect to structured and unstructured data
* To be able to compute main statistics and to visualise data with R
* To performa basics operations on data provided as input
* To implement some mathematical and operational research related procedures with R
* To be able to interprete result provided by R on a real case scenario
* To be able to understand the pro and cons of R and compare to python and processing
giacomo.ditollo@ext.uni.lu20215A model to trade crypto-currenciesTwitter User "PlanB" has developped a mathematical model for Bitcoins, referred to as "stock-to-flow", in which some projections are made about the cryptocurrency (Bitcoin) dynamics. This is based on the ratio "stock to flow", that represents the ratio between the global number of Bitcoins into the market and the Bitcoins that are mined (produced) over one year.
The model takes into account the fact that creator of Bitcoin (named Satoshi) has kept a given amount of Bitcoins as "not tradable", hence it deducts a fixed amount from the "stock". The problem is that the amount is not perfectly known. Furthermore, the civil year seems to be formed of some arbitrary number of days (i.e., 463 days per year)
A preliminar analysis of the BOXCOX technique will be made before the implementation phase.
In this project, we want
* to devise a Phyton procedure to assess whether the "stock-to-flow" model is robust with respect to different values that can be assigned to the "not tradable" coins
* to devise a Phyton procedure to assess whether the "stock-to-flow" model is robust with respect to different values that can be assigned to the days composing a civil year
* to predict Bitcoin prices
giacomo.ditollo@ext.uni.lu20213Computational Tools for MusicThis project concerns three tools designed to assist musicians and composers, which are written in C, C++ and Java.
The goal is to convert these tools into newly disgned and engineered self-contained softwares in python.
Ideally, all 3 application will be converted into python. This will be the second phase of the project, while the first phase concerns the technical part of the project.
The converted tool should do the same as the original one and if not, the difference need to be explained.
For the scientific work, knowledge of python is necessary.
The technical part of the project will be its first phase. Since the musical tools were made in C/C++ and Java, it is necessary to understand these languages.
Once the basics are learned and once the student is comfortable with working with these languages, the next step will be to understand and analyse the code for the musical tools.
This step is necessary to translate the tools for phase 2 (scientific work).
The three tools are about: asynchronic ryhtm, musical kaleidocycles visualisation and Blocs Designs.
gilbert.fridgen@uni.lu20223Investigating and identifying risks for DeFi ecosystemDespite the growth of use and technologies in the decentralised finance (DeFi) ecosystem, the risks and vulnerabilities that are present should not be underestimated and therefore further investigated. Exploits of all kinds are happening on a daily basis. In this BSP, various kinds of attacks and their detection and categorization will be examined.

Scientific question: What do the most common financial attacks on the blockchain (especially DeFi) effectuate?

Defining and Studying the concepts and terminologies underneath based on research papers.

· Study how to identify type and impact of an attack by for example unique characteristics
· Systemic Financial Risk in DeFi ecosystem
· Identify Risk
· Identify Effect of an attack
· Study DeFi usability
· Smart Contracts (Vulnerabilities)
· Maximal Extractable Value (examples, detection & prevention )
· Flash Loan (Usability and Usage, Chances, Risks, Weaknesses ..
Python Analysis of retrieved data

· deepen knowledge on technical blockchain and DeFi programs and utensils
· learn how a smart contract is setup; key features and fundamentals with a basic understanding of used code
· find data sources from smart contracts (failures)
· learn overall risks and flaws from security point of view on smart contracts · learn and use Python - Web3.py Library and analyse data retrieved beforehand
gilbert.fridgen@uni.lu20222Data analysis of Ethereum smart contractsThis BSP project will take place in the context of the chain-analytics projects by the FINATRAX research group. The group's endeavours include downloading complete blockchains and extracting data deemed worthy of research.

The purpose of this exploration is to answer the question: what are smart contracts and smart contract standards and what do they do?

This subject will be explored by performing basic statistical analyses on data obtained from the Ethereum Blockchain. The different data types that can be extracted from the blockchain's Smart Contracts will be categorised. The tokens kind will receive primary focus, particularly tokens ERC-20 / ERC-721 / ERC-1155. \u2028\u2028

The challenges arisen during the process of data analysis will be recorded along with an evaluation of the methods employed to address them. Ultimately, the analysis of this data shall be rendered in a human-readable format to propose a discussion of how this data could be further utilised.
The technical deliverables will consist of different algorithms created on Python. Their purpose will be to evince the data structures of the Ethereum smart contracts described in the scientific part of this project. In line with the Scientific Work proposed in this BSP, the leading subject of this project will be the types of smart contracts and smart contract standards in general, with three tokens in particular: ERC-20 / ERC-721 / ERC-1155.

Once their data structure is described and the parameters for their analysis are set, the algorithms will process this data structure through the creation and manipulation of numpy and pandas-based data arrays. The output will finally be stored in adequate formats that are human-readable. \u2028\u2028The final shape of the data produced will be manipulated statistically through probability distribution models and insight into their relevance in the context of crypto assets will be offered.
gilbert.fridgen@uni.lu20212Methods for analysis of different types of smart contracts on the Ethereum BlockchainThis project seeks to expound the types of Smart Contracts that make up the Ethereum Blockchain as regards their data structures. The purpose of this exploration is to perform some basic statistical analysis on data obtained by means of algorithms. The algorithms used to source this data will be constructed using Python, and the data obtained will be stored in a format that is adequate for statistical manipulation. In that sense, this project will answer to the question: what is the data structure of smart contracts? The technical deliverables will consist of different algorithms created on Python whose purpose will be to evince the data structures of Smart contracts employed in the Ethereum blockchain.
gregoire.danoy@uni.lu20223Transportation Network Generation using Genetic Algorithms and Slime Mold SimulationGenetic algorithms enable searching for a solution of a problem, by simulating many potential solutions and evolving them using nature-inspired operations to produce better results. In this BSP, a genetic algorithm is used to select the positions of some nodes on a population density map to cover the most population with the least number of nodes. What are the best parameters to converge to a solution the fastest in this problem? A way to measure the quality of the solution will be worked on. And how the parameters (probability of mutation and crossover and population size) affect the time until convergence. What other criteria can be given to the algorithm to produce better results faster?The targeted program will generate transportation networks, given some image containing the population density on some map. The program works in two steps. The first step is to find the optimal positions of nodes, which represent stations. Each station covers a certain radius and the goal is to reach the largest population with the smallest amount of nodes. The second step runs a simulation of the slime mold, which links the nodes in an optimal manner. The network generated with the simulation is given as output.
hriday.bavle@uni.lu20213Machine learning-based perception and situation awareness for drones (aerial robots) using cameras and computer visionHow can a computer see?
Identifying objects is a trivial activity for a human, however this task is not as simple for a computer even if it receives similar amounts of visual information through a camera. This BSP will explore different methods by which humans have programmed computers to "see". Thereafter, a more detailed exploration of the method used in this paper, machine learning, will be presented.
The understanding of the environment is an essential capability needed by autonomous aerial robots. This information allows the robot to take more effective actions for an intelligent fully autonomous operation.

In this project, the student will use the information provided by a camera sensor to create a semantic knowledge of the environment (objects pose, shape, kind, state, velocity, etc.). The student will use machine learning (i.e. deep learning) techniques that might be trained using the HPC of the University (https://hpc.uni.lu/), to achieve this objective.

The student will be able to evaluate the performance of his/her algorithm in a real aerial robot.
Igor.tchappi@uni.lu20223Pepper Robot - navigator helperScientific side of the project will focus on relations between robot and human.
There are several objects that the project will obtain. Among other things, establishing a special bond between a robot and a human on the level of communication through conversation and gestures. Pepper will have to indicate a place chosen by a human in a designated area and, through questions asked by a human, tell him how to get to a given place. Based on the description of the situation, it is to establish fluent communication and fulfill its task - that is, indicate the searched place with the highest accuracy.
The technical side of the project will be based on the robot's focus on performing the tasks assigned to it. The programmed robot will contain the most precise possibilities to contact the member efficiently and without misunderstandings. the robot will display a map on the built-in tablet and, by means of gestures, designate the place for the person he is looking for. The technical side of the project also focuses on optimizing human robot relationships and not making a bad impression on a human while interacting with the robot. Pepper will have the task, through programmed functions, to show himself to a human being in the most human and understandable way.
Igor.tchappi@uni.lu20222Covid International: Check and Analyse using the same ApplicationRecently a new disease called Covid-19 impacted the world. To help mitigate the damage it has caused in society, several solutions have been put into place: vaccination, social distancing, the use of face masks etc. One of the ways technology has assisted in mitigating the damage has been the use of the Covid Check application. The goal of this project is to research and present information about the necessary aspects of developing such an application. The main topics which will be researched will be the creation, reading and updating of a dataset as well as characteristics of QR (Quick Response) Codes. More specifically, with respect to QR Codes, their features, how they are created, what happens when they are scanned, how is information read from them and stored to them will be the main focus. After the Covid-19 pandemic devastated the earth, one of the ways technology assisted in mitigating the damage was to develop the "Covid Check" vaccine application. This project will revolve around creating a prototype "Covid Check" application.

The application will store Covid relevant information about a sample of dummy citizens with different vaccination (number of vaccines received and injection dates) and recovery statuses as well as other information such as the location/country of vaccination, age of the citizen, the kind of vaccine they received by name (Moderna, Pfizer and the like) etc using QR Code technology. Once the QR Codes have been loaded with this information, it will be possible to scan them or reupload them to check whether or not they belong to a vaccinated person. A response using a web interface will be presented corresponding to the validity of the QR Code that has been reuploaded or read. Using the information stored, some Covid statistics will also be generated. The application will be written using the Python programming language and some of its libraries.
Igor.tchappi@uni.lu20222Pepper Robot DanceSemi Humanoid Robots are robots that have the look and feel of a human being or perform an intelligent function of a human being with the support of a human. Semi-humanoid robots are made up of mechanical body parts, intelligent systems (artificial intelligence), sensors, and human-computer interactions techniques. The use of semi-humanoid robots in various fields of human endeavor has been presented by various researchers. Pepper is the first social semi-humanoid robot manufactured by SoftBank Robotics. Pepper is able to recognize faces and basic human emotions. Pepper was optimized for human interaction and is able to engage with people through conversation and his touch screen. For human music inspires dance. Dancing is a creative process for humans that happens naturally or by learning. Can we teach a robot to dance ? What are the challenges? Dance is one of the ways of interaction among humans? Can we compare robot dance and human dance from a choreographic point of view ?
To design the dance sequence we should use choregraphe software.Choregraphe is a multi-platform desktop application.It allows you to Create animations and behaviors,Test them on a simulated robot, or directly on a real one, Monitor and control the robots. choregraphe is equipped with several packages to program movements and behaviors. The programming procedure can be implemented either by going through python scripts or using block diagrams.The advantage of programming the dance sequence by python code is that we can design the choreography from scratch. Implementing the choreography by using block diagram programming is faster, has less error, giving you a better control of the whole project scheme however it is limited to a certain range of movement. In this method we can choose different body movements for each part of the robot (hand,arm,shoulder,elbow,neck) in a timeline.Considering technical challenges in designing a dance sequence we may apply both programming methods based on the application.
jean.botev@uni.lu20224Painting Music in Virtual RealityWe will first explore what similar projects and applications exist both in academia and commercially.
This includes games where you can paint and/or create music in virtual reality (VR). The research questions that we would try to answer would be: What is the state of the art of artistic computer games involving painting and music in VR and beyond? What kind of interaction modes do they support?
For the technical part, the student will first familiarize himself with the Unity platform.
This is important since it is his first time developing a VR application and he needs to get a basic understanding of the software development process and tool chains to successfully conduct his project.

For the actual project, the student will develop and program a virtual environment where the user can paint in three dimensions using a VR headset and controllers and/or hand tracking (Meta Quest 2).
For instance, depending on the color, shapes, and speed of the motion, different sounds are generated in synchrony to the painting process.
jean.botev@uni.lu20222Facing the challenges of working in a multicultural team: The role of ICT
The scope of the project is to investigate the challenges of working in a multicultural team and the ways ICT (web-based applications) can encounter them.
In its scientific part, it will be attempted to answer the following questions:
What is the influence of cultural diversity on communication and collaboration?
Can ICT influence social interaction and collaboration, thus mitigating any negative impact of cultural clashes?
Based on the advanced and interactive features of web-based technologies, members of a multicultural team can use them to facilitate social interaction, the sharing of ideas, interests and experiences within their work environments.
The technical deliverable of the project will be a web application to amplify the advantages and weaken the disadvantages due to multiculturalism.
The web application will be the meeting point of a multicultural team in an international organization with following features: "members only" access, members' profile editor, pinpointing of members on a map, cultural and linguistic content in anchored pages etc.
jean.botev@uni.lu20222Generating Point Clouds from Stereoscopic ImagesThe scientific work consists of listing and explaining different methods to create point clouds of environments and objects with images or other methods.
The reason as to why these methods would be used over others in different contexts will be explained, as well as thorough explanation of their inner working. The advantages and disadvantages of the different methods will finally be compared.
The different methods would be: using a set of images where the position and the rotation of the image are known, a set of images of a subject without additional information, and a single image.
How can point clouds be generated from images?
The technical work will be a software which will use stereoscopic image data to create a three-dimensional point cloud. The stereoscopic view will be achieved with two cameras separated by a fixed distance and shared focus. The images taken with this setup will be the input of the program, which will use computer vision and understanding of three-dimensional geometry to create a point cloud of the subject. No existing computer vision library (like OpenCV) should be used during this project due to the potential oversimplification of the project.
A possible extension of the program is to use a set of stereoscopic image pairs (all of a same subject), and then perform a registration on the corresponding generated point clouds.
The explanation of the algorithm and the implementation of the algorithm will be included in the technical deliverable.
jean.botev@uni.lu20215VR Getting Together - A mixed-reality chat application for shared experiencesThe main scientific deliverable will be to research and taxonomize existing software and / or platforms that allow the targeted social interaction in a mixed-reality environment.
This includes, e.g., finding out which products/research is based on a centralized architecture and whether there are any decentralized approaches. This would inform the choice we are taking with this project.
It would also explore means to capture and transmit a live camera feed as a virtual environment for the remote user.
The technical deliverable will be based on the production from the scientific section.
Its aim will be to implement a Mixed-Reality application with the help of Unity and will use the language C#. It will connect two (or more) remote users to a common Mixed-Reality environment where they would be allowed to communicate and interact.
The users should be able to communicate over audio.
Some avatars with bodies would represent them in the mixed reality environment.
Both participants should be able to move freely in the set environment without colliding with each other. However this must still respect the boundaries surrounding the user in real life.
If possible, a mixed-reality environment should be created from dynamic imaging obtained by the integrated camera feed of the Oculus Quest 2 standalone-HMD that will be used for this project.
johann.groszschaedl@uni.lu20225Performance Evaluation of Security Protocols for the Internet of ThingsMany of the devices that form part of the so-called Internet of Things (IoT)
are severely constrained in computational resources and energy supply. Enabling
secure communication between such devices without draining their modest
resources is a big challenge due to the complexity of modern security protocols
and the computational cost of the underlying cryptographic algorithms. The
scientific goal of this project is to find how to what extent a highly
optimized Assembler implementation of the underlying cryptographic algorithms
can improve the efficiency of a security protocol.
On the technical side, the student should acquire a basic understanding of the
Contiki operating system for resource-constrained devices and its network
stack. In addition, the student should learn how to work with the Contiki tool
chain, including how to compile a program and run it either on "real" devices
or in a simulator. The technical deliverable consists of a detailed description
of how to compile a C implementation of security protocol for Contiki and how
measure its execution time (including the communication time) with and without
assembly optimizations for the low-level cryptography.


johann.groszschaedl@uni.lu20222Secure Wireless Communication between two resource-constrained IoT devicesThe project aims to answer the scientific question: How much an end-to-end security protocol like EmbeededDisco increases the computation and communication cost of data transfer between two IoT devices compared to an unprotected transmission? These overheads can be determined through emulation/simulation (using e.g. Renode) or by actually measuring them (either on an IoT device or "natively" on a PC or laptop).The technical work of this project consists mainly of the development of a small demo application for data transmission between two IoT devices. This application can be based on an IoT operating system like RIOT-OS or Contiki-NG and use one of their networking libraries for the data transmission. An existing open-source implementation of EmbeededDisco can be used as starting point.
johann.groszschaedl@uni.lu20224Benchmarking of Symmetric Cryptographic Algorithms on a 32-bit RISC-V ProcessorRISC-V is an open instruction-set architecture that has recently been gaining
significant momentum in both academia and industry. This project aims to study
the performance of modern symmetric cryptosystems, in particular Authenticated
Encryption with Associated Data (AEAD) algorithms, on the RISC-V platform. It
is envisioned that the project will gain new insights to the following research
questions (i) What execution time and binary code size do the final-round AEAD
candidates of the currently-ongoing NIST lightweight cryptography competition
achieve on an embedded 32-bit RISC-V processor? (ii) How do RISC-V benchmarking
results compare with benchmarks for other 32-bit platforms, most notably ARM
Cortex-M3, that were reported in the literature? The scientific deliverable is
a report with a detailed comparison of performance and code-size figures of
AEAD algorithms on RISC-V and Cortex-M3
The technical work of this project consists mainly of the development of an
automated workflow for the compilations, testing, and benchmarking of AEAD
algorithms for a RISC-V processor. Existing open-source implementations of the
final-round NIST AEAD algorithms can be used as starting point of this project.
The technical deliverable will consist of a report on how to install the
necessary toolchain for RISC-V and a description of simple shell scripts for
the evaluation of the execution time and code size of AEAD algorithm on the
provided RISC-V development board.
joseluis.sanchezlopez@uni.lu20225Development of a novel sensing device for invisible markersIn this BSP, the student will contribute to the development of a new imaging sensor (i.e. multi-camera system) to be equipped in different robots (e.g. Boston Dynamics Spot or drones) to enhance their capability to perceive and understand the environment and its own state. This new imaging sensor will be able of perceiving the invisible markers developed in the UL internal project TRANSCEND.
The current prototype contains two cameras (sensors & lenses) working on the visible light spectrum and an optic device (i.e. beam-splitter).

The goal is to improve this prototype, making it more robust (i.e. better integration), versatile (i.e. more light range coverage such as UV or vNIR), with more information from other sensors (e.g. IMU), and improving its hardware and software interfaces (e.g. including a micro-computer as the interface with the robot computer rather than connecting the sensors directly to the robot computer).

the student will need to understand the basic concept behind the aforementioned invisible markers, and acquire a deep understanding of imaging and other sensors (e.g. IMU) for autonomous robots, as well as microcomputers. The student will design the hardware architecture and software architecture of the new prototype.?
the student will need to pre-select the sensors to be used based on the scientific study and design. The student will carry on the hardware integration of the components, developing 3D-printed pieces when needed (e.g. using Autodesk Inventor). The student will develop the software components (e.g. drivers and interfaces) needed to use the new sensor prototype with an integrated microcomputer as the interface between the robot and the sensor prototype.
joseluis.sanchezlopez@uni.lu20225Software Engineering to release as open source software a cutting-edge robotic componentFor BSP5, the student will take a robotic component developed in the context of a research project at the SnT Automation and Robotics Research Group and will apply software engineering methods to transform it with the final goal of releasing it as open source software.

For the scientific aspect of this BSP5, the student must understand the functionality of the robotic component, which is related to situational awareness for mobile robots. The student will need to understand the algorithm behind the component, concretely S-Graphs+, in order to create tests cases.

On top of this, the student must acquire a deep understanding on open source software, its lifecycle and the software engineering aspects behind it.

Scientific questions:

- What is S-graphs+?
- This is the main aspect to be researched since without the fully understanding of this theory, the student will not be able to create tests and clean the code.
- How to make a software open source?
- The student must search on how to make a software open source.
For BSP5, the student will take a robotic component developed in the context of a research project at the SnT Automation and Robotics Research Group and will apply software engineering methods to transform it with the final goal of releasing it as open source software.

The current software is directly the outcome of a research activity on robotic situational awareness. Consequently, the current software is not very well organised or written, containing multiple bugs and being the launching interfaces very handcrafted, lacking robustness and versatility. Therefore, for this technical aspect of this BSP5, the student will go over the current software codebase and refactor it. This consists in organising the code, clean it and create test cases to test the algorithm(s). Furthermore, a documentation should be written which should include the steps to install the software and how to use it.

Software for this BSP:

- Python
- C/C++
- ROS
joseluis.sanchezlopez@uni.lu20226Human robot interaction with PepperIn the scientific part of this project, the student will research how a robot can interact with
humans to entertain and inform them in the context of a visit to a laboratory. In particular,
the challenge of presenting a significant amount of factual information in an interactive and
natural manner should be addressed. In other words, how can a robot avoid being boring when
giving a presentation? To answer this question, the student should rely on existing literature
on the subject as much as possible. The capabilities of the Pepper robot should be taken into
account when proposing a solution.
The technical deliverable consists in implementing the interactions and behaviours defined in the
scientific deliverable on a real Pepper robot. The deliverable should also include documentation
explaining precisely what the robot will do under which conditions. The documentation should
indicate how to deactivate or remove the new behaviours from the Pepper.
There are also specific constraints that should be respected. Due to the presence of sensitive
equipment in the environment, the robot should stay at a fixed location. When designing
interactions, the battery life of the robot and the cost of different actions shall be taken into
account to allow for at least 8 hours of activity.
joseluis.sanchezlopez@uni.lu20224Machine learning-based situation awareness for drones (aerial robots) using a LIDAR for geometric primitives1) What are the advantages, the ANN models, the loss functions, and the training process for a Novel semi-supervised method, combining an unsupervised auto-encoder with a supervised regressor? What is needed to extend from a small case to a real case, in terms of extension of the size of data measurement, extension from circles to ellipses, and extension from local to HPC training? 2) In this project, the student will use the information provided by a LIDAR sensor to create a semantic knowledge of the environment (objects pose, shape, kind, state, velocity, etc.). The student will use machine learning (i.e. deep learning) techniques to achieve this objective. Contributions: Novel semi-supervised method, combining an unsupervised autoencoder with a supervised regressor. Study on Advantages, Study on ANN Models, Study on Loss functions, Study on the training process.1) Development of the framework by extending previous code from Alexander Goldberg and Stanislas Briaud and Implementation of the Extension from a small case to a real case. 2) Extension from a small case to a real case: From reduced lidar to real lidar, From circles to ellipses, From local training to training in HPC.
joseluis.sanchezlopez@uni.lu20225Semi-automatic hyper-parameter optimization of deep learning-based situation awareness for UAV using a LIDAR for geometric primitivesExtension of the student's previous BSP (Machine learning-based situation awareness for drones (aerial robots) using a LIDAR for geometric primitives) Contributions: 1) Experimentations of ANN models on real case LIDAR with training on HPC 2) How to optimize hyper-parameter of ANN models for a Novel semi-supervised method, combining an unsupervised auto-encoder with a supervised regressor?Extension of the framework of the student's previous BSP (Machine learning-based situation awareness for drones (aerial robots) using a LIDAR for geometric primitives) Contributions: 2) Addition of features: pause/continue training for use on HPC, experiments tracking, model versioning and visualization. 3) Refactoring into data pre-processing, training, evaluation, and visualization executables. 4) Hyperparameters optimization of ANN models for a Novel semi-supervised method, combining an unsupervised auto-encoder with a supervised regressor.
joseluis.sanchezlopez@uni.lu20226Definition And Optimization Of Factor Graphs For Simultaneous Localization and Mapping (SLAM) of Aerial Robots Using GTSAMThe goal is to answer the question: How can a factor graph model a multi-sensor state estimation problem for Simultaneous Localization and Mapping (SLAM) of aerial robots?
The scientific work to be made to answer this question is that the student will learn the fundamentals of graph-based Simultaneous Localization and Mapping (SLAM). Factor graphs are used as a solution for graph-based SLAM. Here, the student will learn how to define a factor graph (i.e. its nodes and edges) and perform optimization of this graph.
The technical deliverable work to be made during the project is that the student will use GTSAM, an open-source library, to implement a graph-based SLAM on a simplified use case using a simulator for aerial robotics research.

The goal is to develop a Graph-based SLAM component for drones using the GTSAM toolbox. The component will also have a python wrapper.
joseluis.sanchezlopez@uni.lu20225Machine learning-based situation awareness for drones (aerial robots) using a LIDAR for geometric primitives1) What are the advantages, the ANN models, the loss functions, and the training process for a Novel semi-supervised method, combining an unsupervised auto-encoder with a supervised regressor? What is needed to extend from a small case to a real case, in terms of extension of the size of data measurement, extension from circles to ellipses, and extension from local to HPC training? 2) In this project, the student will use the information provided by a LIDAR sensor to create a semantic knowledge of the environment (objects pose, shape, kind, state, velocity, etc.). The student will use machine learning (i.e. deep learning) techniques to achieve this objective. Contributions: Novel semi-supervised method, combining an unsupervised autoencoder with a supervised regressor. Study on Advantages, Study on ANN Models, Study on Loss functions, Study on the training process.1) Development of the framework by extending previous code from Barbara Symeon and Stanislas Briaud and Implementation of the Extension from a small case to a real case. 2) Extension from a small case to a real case: From reduced lidar to real lidar, From circles to ellipses, From local training to training in HPC.
joseluis.sanchezlopez@uni.lu20226Adversarial Attacks against UAVsDeep learning has found many applications in the domain of robotics and UAVs. However, neural networks are often vulnerable to adversarial attacks.
Small modifications to the input of a network can cause large differences in the output. The modifications can be introduced in software but also in the environment, e.g. by adding physical objects such as printed stickers to the environment.
How vulnerable are current UAVs to such attacks? To answer this question, the student shall study the different types of attacks and their conditions for success. Then, the student shall describe to which degree commercially available UAVs are in theory susceptible to such attacks.
The student shall provide a demonstration of an adversarial attack. The attack should be chosen as to be relevant to the domain of UAVs, based on the results from the scientific deliverable. It is enough to demonstrate the attack in software, by directly modifying the input to a neural network (a real-world demonstration with a physical UAV is not needed).
joseluis.sanchezlopez@uni.lu20214Machine learning-based situation awareness for drones (aerial robots) using a LIDAR for geometric primitives1) What are the advantages, the ANN models, the loss functions, and the training process for a Novel semi-supervised method, combining an unsupervised auto-encoder with a supervised regressor? What is needed to extend from a small case to a real case, in terms of extension of the size of data measurement, extension from circles to ellipses, and extension from local to HPC training?
2) In this project, the student will use the information provided by a LIDAR sensor to create a semantic knowledge of the environment (objects pose, shape, kind, state, velocity, etc.).
The student will use machine learning (i.e. deep learning) techniques to achieve this objective. Contributions: Novel semi-supervised method, combining an unsupervised autoencoder with a supervised regressor. Study on Advantages, Study on ANN Models, Study on Loss functions, Study on the training process.
1) Development of the framework by extending previous code from Alexander Goldberg and Stanislas Briaud and Implementation of the Extension from a small case to a real case.
2) Extension from a small case to a real case: From reduced lidar to real lidar, From circles to ellipses, From local training to training in HPC.
joseluis.sanchezlopez@uni.lu20215Semi-automatic hyper-parameter optimization of deep learning-based situation awareness for UAV using a LIDAR for geometric primitivesExtension of the student's previous BSP (Machine learning-based situation awareness for drones (aerial robots) using a LIDAR for geometric primitives)

Contributions:
1) Experimentations of ANN models on real case LIDAR with training on HPC

2) How to optimize hyper-parameter of ANN models for a Novel semi-supervised method, combining an unsupervised auto-encoder with a supervised regressor?
Extension of the framework of the student's previous BSP (Machine learning-based situation awareness for drones (aerial robots) using a LIDAR for geometric primitives)

Contributions:
2) Addition of features: pause/continue training for use on HPC, experiments tracking, model versioning and visualization.

3) Refactoring into data pre-processing, training, evaluation, and visualization executables.

4) Hyperparameters optimization of ANN models for a Novel semi-supervised method, combining an unsupervised auto-encoder with a supervised regressor.
joseluis.sanchezlopez@uni.lu20213Natural user interfaces for human-drone multi-modal interaction.The student will use novel sensors (e.g. kinect-based cameras) to detect human's body and gestures, generating a response of the robot. These gestures might include hands, body or head movements. The responses of the robot will be high-level actions such as take-off, hover, land, move in direction, etc.
The student will also be able to evaluate the performance of his algorithm in a real aerial robot.
Interactions between humans and aerial robots (drones) are an essential capability that has to be fully developed to integrate robots in the future society. This interactions has to be natural to humans and they should not be required to learn how to interact with robots.
In this project, the student willl research on natural user interfaces for human-drone multi-modal interaction.
joseluis.sanchezlopez@uni.lu20215Machine learning-based perception and situation awareness for drones (aerial robots)The understanding of the environment is an essential capability needed by autonomous aerial robots. This information allows the robot to take more effective actions for an intelligent fully autonomous operation. The aim of the scientific part will be to determine the best machine learning algorithm to use for the technical part: What is the most efficient machine learning algorithm to use to create a semantic knowledge of the environment to fly a drone autonomously.
In this project, the student will use the information provided by a sensor (preferably a camera or a LIDAR) to create a semantic knowledge of the environment (objects pose, shape, kind, state, velocity, etc.). The student will use machine learning (i.e. deep learning) techniques to achieve this objective.
The student will be able to evaluate the performance of his/her algorithm in a real aerial robot.
joseluis.sanchezlopez@uni.lu20213Visual-SLAM for a swarm of micro aerial robotsIn the BSP3 we will continue our work done in the previous BSP2 and we will provide the aerial robots with an enhanced estimation of its localization using the images of their onboard cameras and cutting edge monocular visual SLAM techniques. We will answer these two questions:

- how VSLAM works?
- Essentially understanding VSLAM will enhance the knowledge and allow to easily integrate it to the project.
- What is the state of the art in VSLAM and what are their performance and their limitations?
- After understanding how VSLAM works, the idea is to review the state of the art and to understand their performance and limitations to facilitate its integration into the BSP2 developed robotics architecture.
- How VSLAM can be combined with visual markers?
- Understanding how to leverage the information given by visual markers with VSLAM techniques
For this BSP3, it will consist in implementing the scientific work which will be about programming the infrastructure that will allow to use VSLAM (Visual Simultaneous Localisation and Mapping) in conjunction with visual markers (also called aruco markers) in order to localise the drone(s) in the respective world.

Software for this BSP:

- Python
- ROS

Hardware:

- DJI Tello drone
- Raspberry pi 4 / odroid XU4
joseluis.sanchezlopez@uni.lu20213Swarming of micro-drones (aerial robots)How can a swarm of unmanned aerial vehicles (UAVs) be made to cooperate to achieve a common goal?
Special attention will be given to formation and trajectory planning algorithms. The student will examine existing algorithms that guarantee collision-free paths and choose one which he can undestand, explain in his own words, and implement correctly. To demonstrate these points, the student will provide a simulation.
The chosen formation and/or trajectory planning algorithm will be tested using up to four Tello drones and one Odroid XU-4 board per drone. The student will provide a collection of ROS modules, which will run on the XU-4. An XU-4 board should be able to communicate with its assigned drone (to e.g. estimate its position or issue movement commands) as well as with the other XU-4 to plan collision-free trajectories.
joseluis.sanchezlopez@uni.lu20215Machine learning-based situation awareness for drones (aerial robots) using a LIDAR for geometric primitivesAn important component of situation awareness is obstacle detection.
In this project, the student will rely on machine learning techniques to detect geometric primitives
from a LIDAR measurement.
The main focus will be on training an autoencoder to learn an intermediate representation of the input data.
The student will first review similar approaches in existing literature and write a summary of relevant works.
He will then identify useful metrics, propose several models to solve the problem of obstacle detection and compare their performance.
Finally, the student should be able to answer the question of what factors are important for obtaining high performance.
The models will be implemented in Python.
The student will provide one or more scripts that can train a model locally and on the ULHPC.
Training parameters should be set via command line arguments and not hard-coded.
During training, relevant metrics should be logged and partially trained model backups should be created at regular intervals.
The student will also document the usage of his scripts so that other people can run them with minimal effort.
joseluis.sanchezlopez@uni.lu20214Tello drone face detection and following using ROSDuring their BSPS, four students implemented a software enabling the Tello drone to follow a person by detecting its face. After reading their reports and tested their software, the student will select the best modules (i.e., face detector and drone controller) that will be used to adapt the in ROS. Moreover, the student will have to make a state of the art about ROS (The Robot Operating System), in particular about the functionalities that will be used for the technical work.The student will adapt the chosen modules to be implemented in ROS. Then, the student will develop a ROS suite which will automatically take off and follow the closest person, by detecting his/her face. The ROS suite, should be implemented in a maintainable way and should be easily updatable (by adding new features). To achieve this, the ROS suite should have at least the following nodes: a node responsible of connecting with the Tello, publishing its video feed on a topic and receiving the movement commands; a node responsible of detecting the faces and publishing it on a topic; and a node in charge of sending the right commands to the drone in order to follow the detected faces.
joseluis.sanchezlopez@uni.lu20216Improve a previously developed Tello ROS suiteDuring the student last project, a ROS suite was developed in order to make the Tello drone take off and automatically follow the closest person by detecting his/her face. For this new project, the student will have to add the two following features:
- ability to choose which face the drone should follow (instead of automatically follow the closest one)
- control the drone states (like for example "landed", "following") via keyboard commands.
To add the above features, the student will have to rethink the existing ROS drone suite; hence he will have to model a new ROS framework (nodes, topics and messages exchanged) but also model a state machine defining the drone behaviours.
Using the scientific deliverables (modelled new ROS framework and state machine), the student will actually develop the improved ROS suite. Therefore, the student will review the already implemented nodes and modify them in order to suits the designed ROS framework model; but also add the necessary new nodes and messages in order to reflect the designed ROS framework. Moreover, the student will develop and include in the ROS suite the state machine designed during the scientific work, by using the appropriate library.
katya@zortify.com, shohreh@zortify.com20225Exploration of an open BNL dataset with a multilingual language modelBNL (National Library of Luxembourg) digitised a large number of historical newspapers available in open access for text mining, the problem comes with the realisation that its dataset is unstructured. The data comes with a structured XML format with metadata but comes with no semantic annotation. The scientific question for this project is the following: \u201chow can we extract a network of relations between entities of specific types?\u201dFor the technical part of this bachelor semester\u2019s project, the student will explore a dataset provided by BNL based on historical newspapers using existing tools such as Python libraries for NLP (Natural Language Processing) techniques such as NER, which means Named Entity Recognition. Such techniques will allow us to explore the texts, create a network of relations decided between the student and the project\u2019s tutor(s), is it possible to use other measures, perhaps improve the network model?
loick.chovet@uni.lu20222Detecting keylogger that may be hidden in your computer.
\u201cHow can we detect a keylogger in a computer?\u201d To understand better this question, we need to understand what is a keylogger. A keylogger is generally a software (it can be an hardware as well) that is recording every keys typed on a computer. It is generally used in spyware, a domain of cybersecurity or criminality but it can also be used for other things like parental control to look out for their kids. To answer to the question I will also cover all the important points of the questions and explain how can we hide a keylogger in a pc to better understand how we can detect a keylogger. Creating a software that records the keys on a keyboard using python. Every x hours, a txt format will be sent to me by email with all the history of what the person typed. The program will be hidden in the hard drive, where windows is installed for it to be harder to delete. We will also be able to inject the keylogger made into an open source program to spy people that download the program. If several people download the program, we will also include a functionality to know which computers were used in the txt file.
Lorenzo.spignoli@uni.lu20223One-Time Passwords Competitiveness and VulnerabilitiesThe scientific aspect of this project aims at studying Two-Factor Authentication (2FA) , and more especially One-Time Passwords (OTP). Nowadays, OTP are used by millions of people every day, in order to provide more security when connecting to different services (like social networks or a bank for example).

The main objective of this work is therefore to provide some answers to the following question:
What makes OTP one of the most used 2FA methods?

In answering this question, other questions are bound to arise. Therefore, this project will have to study Message Authentication Code and Hash function. But it might also be interesting to compare advantages and disadvantages of such a method. An idea could be to see what attacks OTP are vulnerable to.

Note that other questions could be added to those presented above.
As descibed in the scientific part, the goal of this project is the study of One-Time Passwords.

Logically, it will be necessary to develop an authentication program that implements OTP.

One track of the final product could be two programs. The first one would generate a Message Authentication Code every 30 seconds and display it in the terminal.

The second implementation would ask the user to enter the code given by the first program, in order to check its validity.
Once this program is created, it can easily be made more complex by adding features (such as creating multiple users, using different instances of the OTP generating program)

The program language chosen for this technical deliverable is Python. Note that other language (such as C) could potentially replace this choice later.

Also note that objectives for the technical deliverable may be adapted following project evolution.
luis.leiva@uni.lu20223Document Retrieval with Deep LearningThis BSP will explore the problem of document retrieval, that is, finding documents similar to a given one. We will explore pre-trained neural networks to characterize documents by latent representations, without the need of manually creating features, preprocessing the text sources, or having to provide additional document metadata. Neural networks are considered state-of-the-art approaches for many tasks, including e.g. Computer Vision and Natural Language Processing. Thus, the main research question this BSP aims to answer is the following: How can we use neural networks for document search?The main goal of the technical work of this project is to create a web-based text search engine that retrieves similar documents related to a given document, displayed to the user represented in a sorted manner from higher to lower similarity. The search engine (back end) will be developed in Python. The UI (front-end) will be developed in HTML, CSS, and JavaScript.
luis.leiva@uni.lu20225Categorizing publicly available videos with the help of AIThe scientific contribution of the project is about the theory behind Neural Networks and specifically how already existing pretrained models are build and how the dataset Youtube-M8 is built. We will use machine learning to categorize the downloaded video (for example different genres (news, entertainment , politics, documentary\u2026). For that we will have a look at specific Neural Networks like CNN and the pretrained models which serve the goal of categorizing YouTube videos. To improve our Neural Network, we will use different variations of the pretrained models and possibly remove or add some features to improve the detection of YouTube videos. How to improve the categorization of YT videos ?The scientific contribution of the project is about the theory behind Neural Networks and specifically how already existing pretrained models are build and how the dataset Youtube-M8 is built. We will use machine learning to categorize the downloaded video (for example different genres (news, entertainment , politics, documentary\u2026). For that we will have a look at specific Neural Networks like CNN and the pretrained models which serve the goal of categorizing YouTube videos. To improve our Neural Network, we will use different variations of the pretrained models and possibly remove or add some features to improve the detection of YouTube videos. We test the models on a YouTube video outside of the dataset to assess the robustness of the models
luis.leiva@uni.lu20223Automatic removal of cookie banners on websitesCookie banners are a kind of dialogs that appear before or after the expected content of a webpage mainly to notice the user of the usage of cookies (according to the Data Protection Directive from the EU). However, these banners often overlap the content of the website and break the usability of it and so it is important to find the best way to detect and remove them. Therefore, the main scientific question we aim to answer in this BSP is the following: How to detect non-essential content that is occluding essential parts of a website?The main goal of the technical work of this project is to be able to automatically remove all the cookie banners that overlap the websites which most of the times blocks the visibility of the main content of the website and breaks its usability. Therefore, the work related to this technical part is to evaluate our approach in a screenshotting application, which would take a screenshot of the website before and after the removal of those banners and automatically compute the differences.
luis.leiva@uni.lu20223Animal footprint recognition with Convolutional Neural Networks
The goal of this BSP is to create a multi-class classifier that can discriminate between various animal species by looking at images of their footprints. This is a Computer Vision task, which has been considered extremely challenging in the past. Nowadays we can train sophisticated Deep Learning models that can learn complex and non-linear relationships within the data and make really accurate predictions as a result. In this BSP, we will work with Convolutional Neural Network (CNN) models, since they excel at image recognition tasks. Our main scientific question is: How well can we predict the type of animal by looking at its footprints?
For the technical deliverable, the purpose is to create a neural network capable of recognising animal footprints. Thus, our CNN model will receive as input the image of an animal footprint and will output the category to which the input image is likely to belong to (i.e., the type of animal). To train this CNN model, we will use a public dataset of footprint images from the iNaturalist website.
luis.leiva@uni.lu20222Search engine for web documentsSearch engines allow to retrieve information from heterogeneous data
sources, ranging from web pages to scanned books or images. In this BSP
we will focus on the most common type: web documents. The scientific
domains which shall be covered are tied to the following questions: How
are web documents represented mathematically? How do we define document
similarity? What retrieval models are most suitable for web search?
We will develop a simple and easy-to-use web search engine comprising a
back-end (the retrieval engine) and a front-end (the graphical user
interface). We will mainly use web technologies, such as JavaScript,
HTML and CSS. Users will be able to enter keywords that our engine will
use to find the best related results. The front-end should look modern
and simple.
luis.leiva@uni.lu20225API update for consumption-based EU GHG emissionsMain expected scientific deliverable: The project will answer the following question: "What are the most suitable monitoring strategies to keep track of the EXIOBASE dataset releases?" Some of these strategies include, for example: polling, long polling, server-sent events, etc. This project will also investigate how to scale up and distribute the workload of the API (for example, using load balancers) as well as how to not break existing 3rd party integrations with the API (for example, using API versioning).
A modified, enhanced version of the EmissionTracker API will be the main deliverable for this project. This API development will continue in Python using the Flask web framework, one because NTNU works primarily in the Python programming language, and two because this is the technology the currently used by the EmissionTracker API. The deliverable must include the following functional requirements:
- Automatically populate the dataset with the latest version of EXIOBASE.
- Include data from the EXIOBASE consumption matrix (D_cba) for all sectors, regions, impact categories, and years.
- A simple graphical user interface (GUI) with drop-downs and a table that will display the data.
- Up-to-date technical documentation produced using Swagger.
luis.leiva@uni.lu20226Analysing User\u2019s Search Patterns for Adaptive UIsAs a follow-up to the BSP5 - Learning Individual User\u2019s Strategies for Adaptive UIs, this Project focuses on the aspects that were not considered in the previous project: the Foraging Search Strategy, as well semantically or randomly organised menus. With a broader spectrum to compare the different search strategies to each other:
- How does the menu organisation change which search strategies are more favoured by users?
- How does the Foraging Search Strategy compare to the Recall or Serial Search Strategy?
We develop Python code to evaluate and graphically display the user\u2019s search patterns and determine how favourable they are when used for a given menu.
Semantically ordered menus feature separators to create item groups, which makes the placement of the different menu items different on a display compared to non-separated menus like randomly or alphabetically ordered menus. This shift changes which item is being focused when reading the eye gaze data, and the evaluation needs to take this into account.
luis.leiva@uni.lu20226Big Savings for Big Data Storage: The Case of the Impresso DatasetThe Impresso dataset is a huge collection of scanned newspapers (3+ million image files in total), dating back to 200 years ago. All images are encoded as RGB (3 channels) files but most of them are grayscale. So we could save valuable storage space if the images were encoded as proper grayscale (1 channel) files. The goal of this scientific work will be to determine the benefits and drawbacks this approach provides. For example, Are there clear storage savings? Do we gain improved computational speed if we process grayscale or full-color images?The result of this BSP will be a software program that can detect whether an image is actually in grayscale color, regardless of its internal encoding format, so that the program can be used as a diagnostic tool. In addition, the program will be used to analyze the Impresso dataset and recode as many images as necessary. We will use the HPC of UniLu for running this analysis.
luis.leiva@uni.lu20226Website Down NotifierThe possible scientific questions are the following:
What monitoring strategies are better suited to keep track of the uptime status of a website? For example: polling, long polling, server- sent events, etc.
How to best distribute the results of the monitoring process among the different communication channels? For example: queues, cron jobs, pub-sub, etc.
Both of these questions can be answered in the scientific part as they are both relevant to the subject.
The goal of the "down notifier" BSP is to create a notification app or service like https://uptimerobot.com/ but only with the basic functionality.
* The notifications should arrive via email, Slack, Telegram, etc.
* Users should be able to configure how they want to receive the notifications, among a list of available options. As a proof of concept the application can offer just 2 options.
* Users should be able to monitor several websites.
luis.leiva@uni.lu20222Image Search with Transfer LearningScientific Aspect: This BSP will explore the problem of query-by-image
retrieval, that is, finding images similar to a given input image. We
will explore pre-trained neural networks to characterize images by
pixel-level content via transfer learning, without the need of text
annotations or additional image metadata. Some of the research
questions this BSP aims to answer are the following: What neural models
can be used for Transfer Learning? How do we define image similarity?
What retrieval models are most suitable?
Technical Aspect: The main goal of the technical work of this Bachelor Semester Project
is to create a web-based image search engine that retrieves similar
images related to a given input image. This images are then sorted from higher to lower
similarity. The search engine (back-end) will be developed in Python.
The UI (front-end) will be developed in HTML, CSS, and JavaScript.
luis.leiva@uni.lu20226Drawing with a webcamThere are 2 scientific questions for this project:
What body parts are less error-prone for drawing?
Indeed, some parts of the body possess more \u201cstrokes\u201d than others, some have hairs, more dimensions, etc... My initial guess is that those will be harder to draw.
What kind of interactions should be supported?
For example: How to best indicate ""begin drawing"" and ""end of drawing""?"
The goal of the technical deliverable is to produce a program able to take the elements on a webcam and draw/replicate them. The application should work with any webcam. The program will be produced in Python and will use Computer Vision methods/algorithms. More features might added to this software for example be able to delimitate an area to reproduce.
luis.leiva@uni.lu20226User authentication based on Mouse MovementsOur mouse movements are giving away a lot of information about ourselves and our behavior [1], therefore they can be used to understand what kind of person we are; for example we could determine to which demographics we belong (age and gender attributes). So we may wonder if mouse movements give enough information about a person such that we could distinguish different users based on how they browse a website. This would allow us to understand in real-life web applications whether a user is really that user or it is someone trying to impersonate that user based on how they move their mouse. In sum, the general scientific questions we are going to answer in this BSP is the following: Is it possible to authenticate a user by their mouse movements? If so, Could mouse movements be used as a secondary factor of authentication?The technical deliverable would be the design and implementation of a Machine Learning classifier, in order to classify a mouse movement into a certain category or label. The category/label will be the user ID, since our task is to verify if it's a given user or an impersonator. If this classification task proves successful, it will act as a means of secondary authentication, such that we can authenticate the user by their mouse movements. If time allows at the end of the project, we will create a proof of concept authentication webpage, where the developed classifier is applied. The admin of the webpage would be alarmed in case there is suspicious behavior.
luis.leiva@uni.lu20222In-browser Text Importance DetectorHow can we automatically detect text blocks (groups of paragraphs) on a web page? How can we identify the most important sentences within a text block? The scientific work of this BSP would focus on answering these two questions. It would address topics like Automatic summarization to explain how one can identify the most important sentences of a block of text.The technical work of this project focuses on creating a browser extension that detects the most important sentences on a specific web page. In this BSP, one would learn about text summarization techniques and how to implement these techniques in a browser environment.

Moreover, the extension should work in Chrome and Firefox browsers. Also, it should not break the functionality of existing websites.
luis.leiva@uni.lu20222Dark mode browser extensionThe main goal of the scientific work of this project is to answer the questions "Is it possible to apply automatic transformations with high-quality results?" and "What is the best strategy to achieve real-time processing?". Therefore, the work related to this project is to properly find the best way to achieve real-time processing and to inspect the possibility of implementing automatic transformations while having high-quality results.The main goal of the technical work of this project is to create a browser extension that re-renders any webpage in dark mode which would inject some CSS before loading the page and then could render the page in dark mode. The work related to this extension is to explore the best way of implementing it.
luis.leiva@uni.lu20214Information visualisation of consumption-based EU GHG emissionsProject Overview: An information visualisation (InfoVis) system for production and consumption-based emissions due to international trade. This BSP is a follow up from a previous one, so data has already been collected and stored in an API.

Main expected scientific deliverable: This deliverable will answer the question, "What is the best or optimal format for representing certain data?" The scientific deliverable will address the principles of web design, principles of data visualisation, and research how user interface efficacy can be measured, such as with eye or mouse movements.
Using the API data, the technical deliverable will focus on front-end design. In this deliverable, a fully functioning, interactive website that displays emission data in both a geographic and tabular fashion will be created. The website will also have a page to inform the public on how this data is collected, how it can be interpreted, and its limitations. Developing the website will require using Javascript, HTML/CSS, and Bootstrap. The Javascript mapping library will be Leaflet.

To test the efficacy of the user interface, an eye tracking test will be carried out (provided there are enough participants (minimum of 12)).
luis.leiva@uni.lu20215Learning Individual Users Strategies for Adaptive UIsThe scientific deliverable will focus on answering one or two of the following research questions:
1. What search strategy a user is using when searching for an item on a graphical menu?
2. When does a user transition from novice to expert searcher?

The objective is to explain how users search in User Interfaces to infer individual users\u2019 strategies and adapt the interface accordingly.
The technical deliverable will focus on:
Creating a software implementation that predicts the user's search strategy given some input data or condition.

More precisely, the objective is to develop different models of visual search (serial search, foraging search, recall search,) and to compare these models depending on the type of interfaces and the user expertise.
Python will be the programming language of choice for this project
luis.leiva@uni.lu20215Visual enhancement of historical images via Super-Resolution algorithmsWhich Super-Resolution algorithm is best suited for visual enhancement of historical images?

Different Super-Resolution algorithms will be compared to one another. Different factors will be used to determine this, such as their applicability to historical images or if there is template-code already available.
Using these different factors the most suitable Super-Resolution algorithm for the visual enhancement of historical images will be found.
State-of-art Super-Resolution algorithms from this GitHub repository https://github.com/ChaofWang/Awesome-Super-Resolution will be implemented in Python using the TensorFlow and Keras libraries. The IDE that will be used is PyCharm.

The dataset that will be used will be provided by the Luxembourg Centre for Contemporary and Digital History.

If a successful Super-Resolution algorithm is found, all of the dataset that was provided will be used on the MeluXina supercomputer.
luis.leiva@uni.lu20215Grocery Shopping Assistant (Allergen Identifier feature)This is an update of my previous BSP subject
The scientific question related to the technical deliverable is the following: \u201cHow can we provide real-time feedback about allergens to users regarding grocery products they are about to buy?\u201d. This question could be interpreted in the following way, how can we provide a satisfiable amount of information to the user faster than he/she can find it for him/herself. This is because if the user can find such information faster than the application, then there really is no point in the user using it. Therefore, we will study the various ways as developers we can optimize the capability of the Allergen Identifier to be competitive for real-world use.
The technical deliverable of this project will be a mobile application developed for Android devices that can provide real-time feedback about allergens. This feature will allow the user to take a picture of a product\u2019s list of ingredients and receive real-time information about the presence of certain allergens previously flagged by the user. To this end, a user-friendly UI will have to be implemented that will enable the user to activate his/her smartphone\u2019s camera to take a picture of a product\u2019s list of ingredients.
luis.leiva@uni.lu20213Visualization of mouse movement dataThis BSP will focus on visualizing a large-scale dataset of mouse cursor movements that can be used to predict user attention, infer demographics information, and analyze fine-grained movements. The data is sequential (multivariate time series), so specific challenges may arise when trying to visualize the data. For example: What is the best visualization technique for this kind of data? Can we find common patterns in the data by visual inspection? Are there any correlations between the trajectories and the dataset labels (e.g. attention or demographics). The scientific deliverable will focus on answering these research questions by performing analysis of the given data.The technical deliverable will focus on the implementation of a visualization technique, based on the choice made in the scientific deliverable, and optionally some analysis program that can provide additional insights or data reports. Mouse movement trajectories in the dataset in question shall be rendered by the use of a programming tool. The software that is going to be used is Matplotlib Python library for plotting.
luis.leiva@uni.lu20213Mouse Movement AnonymizationOur mouse movements can leak demographics information such as age or gender. Furthermore, mouse tracking is challenging to avoid while browsing the Web: our movements can be tracked silently at scale. This project aims to mitigate user profiling techniques that use mouse cursor tracking while maintaining the inherent utility of mouse movements in other tasks (e.g., attention or abandonment).

The scientific question is as follows: What changes to movement logs are needed to prevent standard mouse tracking techniques from acquiring user demographic information while browsing the web? This question will be researched and answered by developing adversarial techniques to distort mouse movements without inhibiting existing system functionality (e.g., gaming, web browsing, system performance).
The technical deliverable will be a program designed to anonymize the user\u2019s mouse movements by distorting mouse movement logs. The goal is to prevent mouse tracking methods that leak the user\u2019s identity. The program will run in the background and automatically modify mouse movement logs saved on the system. After the program is functional is achieved, the focus will then become on improving the program to minimize system performance. The program will be written in Python and run on a Debian-based operating system (e.g., Ubuntu). A Debian-based system was chosen as it would allow for easier access to the mouse movement logs. This project will be conducted in collaboration with Whonix, a company that ships anonymization software.
luis.leiva@uni.lu20215Deep Generative Handwriting models- In this project, I will be expected to work with spatio temporal data. Hence I will have to clearly understand how existing RNN architectures work with it.
Question to answer : how RNN architecture handles spatio temporel data ?
- From an existing RNN architecture, I will have to fine tune it for handwriting data so it has better results.
Question to answer : how to upgrade existing RNN architectures for better handwriting?
- With the Python programming language, and google collab(or with another GPU machine), I will create the RNN architecture defined in the previous deliverable for generating new handwriting data. It will be adapted from an existing RNN architecture, from which certains functionalities will be added, and some will be removed, also it will either be conditioned to a class label (keyword) or an existing stroke sequence.
luis.leiva@uni.lu20215Addressing uncertainty in stroke gesture inputWhen should the user be asked for disambiguation?
How much information should be presented to the user to disambiguate?

Stroke gesture input relies on gesture recognizers to decide which command should be triggered. Because gesture recognizers are not error-free, unintended or potentially harmful commands could be triggered involuntarily. In such cases, it would be useful to ask the user to disambiguate among perceptually similar gestures. But it is important not to overwhelm the user and only ask as few times and as little information as possible.
The technical work will focus on the software implementation of a
gesture recognizer that outputs a classification probability instead of
an euclidean distance.
marharyta.aleksandrova@uni.lu20226Sentimental Analysis applied to image recognition and outcomes of Conformal LearningResearch on the specific domain of Sentimental Analysis, more specifically when used with image recognition and not via text. Understand its correct usage and use our already gathered in the previous BSP information and experience on Conformal Learning, as to reach a conclusion on the usage of the Conformal Learning to the specific case of Sentimental Analysis with image recognition. The objective of the scientific work is to help us understand and have a better notion of the domain of Sentimental Analysis of image data and the potential difficulties or advantages when using Conformal Learning.Use an Object detection algorithm that recognizes specific objects and faces. First, recognize if there is a face in the image collected from tweeter messages. Second, upgrade the algorithm to be capable of doing sentimental analysis on the facial expression of the recognized faces. This step might need to be separated into different parts:
1. Understand how a sentimental analysis algorithm works;
2. add it to the part of the project that was implemented in the previous BSP;
3. apply the already studied Conformal Prediction framework and its derived technologies.
The technical work has as objective to help us understanding how to implement such technology and work with it.
marharyta.aleksandrova@uni.lu20214Sentiment analysis of social media dataThis Bachelor Semester Project falls under the domain of sentiment analysis, which is a process of determining whether a piece of text has a positive, negative or neutral connotations.

During the project data will be extracted from the social media platforms and a sentiment analysis of the data will be performed.

The main scientific question that needs to be answered is "what is the optimal method of sentiment analysis in this case?"
The main technical goals of this Bachelor Semester project will be:

1) To get familiar with the API of such social networks as Twitter and Facebook with the aim to extract the relevant information to perform sentence analysis;

and

2) To write the supporting code (in Python)

Depending on the time left and the challenges faced, additional tasks might be added.
marharyta.aleksandrova@uni.lu20215Study of Conformal Learning applied to Sentimental Analysis on Social NetworkHow could one predict people\u2019s opinion to certain subjects and what if you need to be certain of the prediction quality, as the actions taken based on it might be important? In this scientific part we try to find an answer by studying the case of the Conformal Prediction framework, which should be able to give use a measurable quality for each prediction thus allowing for a better decision making. We will analyse how it works, the effects it has on the resulting predictions and how it can be applied, more specifically in Social Network analysis, which will use the results from the technical part.How can Conformal Learning be applied to practical solutions? That is what we will study in the technical part of this project. We will implement a Conformal Learning Algorithm to analyse images from Social Network and try to predict people\u2019s opinions to certain things, while having a certainty for each prediction. In this part of the project, we will see how to extract the needed images, how to implement an image processing algorithm and predict people\u2019s opinion on a subject and apply a Conformal Prediction framework.
marharyta.aleksandrova@uni.lu20213Applications and theory of conformal learningConformal learning is a framework that allows generating predictions with accuracy guarantees. It can be applied on top of any machine learning algorithm and it guarantees that the resulting predictive model will have no more errors, than specified by the user. Depending on the level of the student, we will study different aspects of efficiency of conformal predictions and its applications.Get familiar with the basics of machine learning and the techniques of conformal learning
Get familiar with nonconformist library for conformal prediction
Study the technique of Mondrian conformal prediction
Apply conformal prediction to various applications and measure the quality for the obtained results in terms of accuracy (fraction of correct predictions) and efficiency (how small the prediction set is)
Test the impact of different nonconformity functions on the efficiency of conformal predictors.
marius.lombard-platet@uni.lu20223Implementation of RSA, safe practices and benchmarkingHow to implement safely a seemingly simple cryptographic system? On the paper, RSA consists of a simple exponentiation modulo a large number N. However, several attacks can be found on this naïve implementation (low e, low d, bad prime generation, bad padding ...)
The goal of this project is to implement RSA and OAEP padding, then look into one or several of the following: PCKS 1.5, side channel resistance, prime number sampling, translation of a private key into a certificate, or anything else related to RSA.
The basic technical deliverable is a program that can encrypt and decrypt RSA with big numbers and using OAEP padding. If time allows, one or several of the following is then implemented: PCKS 1.5, side channel resistance, prime number sampling, translation of a private key into a certificate, or anything else related to RSA.
All those programs are implemented using the C programming language.
marius.lombard-platet@uni.lu20224Physical zero-knowledge proof of SudokuAssume you solved a Sudoku. And it was hard! Obviously you want to boast to your friends. But how to convince them without disclosing them the solution? You can use zero-knowledge proofs. But even though your friends are smart, they don't want this boring crypto-blabla stuff. So instead you use a physical proof, that only requires (a good amount of) cards. The goal here is to implement such a protocol.After you fully understand the zero-knowledge proofs, you can implement a program (or build website), ideally with an interactive graphical user interface, that implements the protocol. If there is time, there is also a possibility to implement a Sudoku solver. You can also use other games and puzzles (like Slither link or odd pair sudoku) in order to perform a zero knowledge proof.
marius.lombard-platet@uni.lu20224Implementation of RSA, safe practices and benchmarkingHow to safely implement a seemingly simple cryptographic system? On paper, RSA consists of a simple exponentiation modulo a large number N. However, several attacks can be found on this naïve implementation (low e, low d, bad prime generation, bad padding...)

The goal of this project is for the student to implement RSA and OAEP padding, then look into one or several of the following: PCKS 1.5, side channel resistance, prime number sampling, translation of a private key into a certificate\u2026
Basic deliverable: A program that can encrypt and decrypt RSA with big numbers
Additional deliverable: functionalities mentioned above, some of them are like padding, testing and more.
The project will be evaluated at every step to reach and surpass its potential.

Depending on what you want to focus on, the implementation can be done with Sage (a layer above Python) or with C/C++ using bignum libraries, or whatever you think fit.
marjan.skrobot@uni.lu20213Secure Web DevelopmentIn this bachelor semester project, the main objective is to develop a secure web application using state-of-the-art security protocols and primitives. The scientific deliverables of the project will be several reports and videos containing the study analysis and explanation of TLS protocol and password handling protocols and explore how to select the appropriate protocol(s) to enable secure communication. In addition, the report will include security properties and important knowledge gathered in order to produce the technical deliverable. The technological output of the project will be an application written in Python, and the main expected technical deliverable is a program running the TLS server and serving an HTML website. The student will need to become familiar with the OpenSSL library and use it to produce security artefacts. The required competence necessary for this project is the knowledge of common web application architecture. The student also needs to know typical security issues and vulnerabilities that occur in web applications.
mateusz.dubiel@uni.lu20224Developing a chatbot to facilitate updating users regarding current and latest artistic events in Luxembourg.How to apply HCI principles to a evaluate a chatbot ? The iterative development of the chatbot will be using some user oriented methods (Focus groups, online surveys, interviews...) in order to evaluate how the user perceives it. Meaningful metrics will be defined in order to also evaluate it, such as dialogue pairs number (Used to measure the length of an interaction) and average user engagement (also based on dialogue pairs). Usability of the chatbot will be the main focus.How to develop a Chat Bot using RASA framework ? The Chat Bot will be developed using Python as a main programming language and potentially C++. The Chat Bot will be deployed on a messaging platform such Messenger, Slack or WhatsApp to be interacted with by users. Some APIs will be used in order to obtain and curate relevant events and or places of artistic exhibtions.
mateusz.dubiel@uni.lu20223Evaluating user's information gain for information presented via audio channel.The scientific deliverable will mainly consist of a detailed analysis of the received users\u2019 feedback. The main question it will aim to answer will be:
Is there is any difference in the information gained/retained when listening to a synthetic voice in comparison to a human voice?
The survey will also ask the users about secondary information on the audio(e.g. naturalness etc.)and their overall experience. At the beginning of development, there will be some continuous control and piloting conducted with a few volunteer users to test out the website and questions, changing them to better suit the project based on the obtained feedback. The structure of the scientific report will have an introduction on the history and technology of synthetic speech and its user applications. To provide a research background, the scientific report will also be referencing other scientific studies on synthetic speech perception and evaluation. Next, the report will have a section based on the users\u2019 feedback received from the website. It will go through the different questions that were answered regarding user experience, perceived sound quality and clarity and their own level of focus. Most importantly it will then go through the different questions that the users will be asked about regarding the topic they listened to measure their information gain. These questions will concern certain facts on the topic that heard about from the audio on the website. The answers to these questions will be used in measuring how effective the audio was at informing the users about the chosen topic. At the end there will be a conclusion section based on the analysis and user information, taking into account the number of participants, their overall interest and other factors as well as commenting on areas of potential improvement, any important notes and potential difficulties that have been experienced while working on the project.
The technical deliverable will consist of the creation of a desktop website. The requirements of the website are to allow the user to navigate a selection of subjects and choose a topic, listen to audio giving facts about the topic and then giving feedback on the audio and on the learned information on the topic. For this project, the chosen topic for now will be about the University of Luxembourg and its campuses, introducing the different buildings and locations, explaining their purposes, and giving facts about them, all for the purpose of being an informational introduction to the university campus(e.g. a form of an audio-tour). Please note that although the University of Luxembourg campus is the chosen topic, the project is not reliant on it, thus the topic could change without changing the main project deliverables. The website itself will give the user a selection of buildings/campus locations to choose from on its home page. Upon clicking it they will be directed to the secondary page about that location. There they will be able to play an audio recording of either a human or a synthetic text-to-speech bot. We my consider for the future to create two versions of the website, one with only human and the other with only TTS audio.
Then, having played the audio, the user will be directed to a form to give feedback on what they just heard. They will be asked questions on the audio and be able to give a rating and written feedback(captured via scales and input boxes). This will be implemented either with Google docs or Survey Monkey. Alternatively, if time permits, using an in-website form and php to receive the data. The website will need functionalities such as being able to play audio for the user when pressing a play button, allow the user to access a form to write feedback on and direct the user to the chosen subject website when accessed from the home page website. The website itself will need to be visually pleasing/complete with backgrounds, pictures and icons and have a properly structured layout. The secondary subject page will have reference pictures about the topic ]and links to the corresponding audio recordings. If time permits, the project can be expanded by also incorporating event trackers to keep track of certain actions the user preforms while on the website, such as time needed to navigate it or how many times the user listened to the audio presentations.
mateusz.dubiel@uni.lu20224Comparative Review of Conversational Agents for Self-ReflectionDo an interactive evaluation of the chatbot in terms of User Experience (UX) and its cognitive implications.
Look at the best principles/guidelines of user experience.
Make a list of features(with explanations) that should ideally be implemented.
Define criteria a chatbot (as specified below) can be evaluated by.
Compare the chatbot with other existing Conversational Agents that are designed to help users with self-reflection and achievement of daily goals.
The main targeted technical product is the development of a chatbot to foster mindful reflections.
First we will find an appropriate technology to build a chatbot in and understand and learn the framework/technologies. We will then use the knowledge gained from analyzing user behavior to try to facilitate self-reflection in the user. This could be for example be done by encouraging journaling (by the user) and presenting the recorded data in a way that the user can easily see and cut out wasteful activities.
mateusz.dubiel@uni.lu20213Evaluating user's information gain for information presented via audio channel.Comparative evaluation of information gain for information presented in a natural vs. synthetic speech.Development of a website that will provide information about local attractions in Luxembourg via audio channel and record user's feedback to evaluate their information gain. (Note: the scope of the website can be changed as well as the provided information and domain of the website).
mateusz.dubiel@uni.lu20213Comparative Review of Conversational Agents for Self-ReflectionQuestion; Do an interactive evaluation of the chatbot in terms of User Experience (UX) and its cognitive implications.
Look at the best principles/guidelines of user experience.
Make a list of features(with explanations) that should ideally be implemented.
Define criteria a chatbot (as specified below) can be evaluated by.
Compare the chatbot with other existing Conversational Agents that are designed to help users with self-reflection and achievement of daily goals.
The main targeted technical product is the development of a chatbot to foster mindful reflections.
First we will find an appropriate technology to build a chatbot in and understand and learn the framework/technologies. We will then use the knowledge gained from analyzing user behavior to try to facilitate self-reflection in the user. This could be for example be done by encouraging journaling (by the user) and presenting the recorded data in a way that the user can easily see and cut out wasteful activities,
mats.brorsson@uni.lu20213Web-based data extraction tool for SQL databasesThe student will try to answer the question \u201eIs it possible to build a language based filtering mechanism which is easy to use and as expressive as SQL statements?\u201c in a scientific way. This includes finding a domain specific language that could be used to build the filtering mechanism, as well as taking a more in depth look on the language design and its evaluation.The goal of this project is to develop a user-friendly graphical web-based tool for extracting data from any SQL database. The functionality will be validated on an example use-case; Yoba's internal LBR database. The idea is that users can create and save customisable reports, where each report extracts a dimension of data (companies, documents, people, etc). The customisability of a given report is achieved using filtering and grouping. A single report is composed of data ingestion part (written in SQL) and an optional post-processing layer in Python that produces a pandas Data Frame. We will provide you with the SQL and Python scripts for the example reports. The filtering step is customisable through a user-friendly UI. Users can add and remove filters that apply to different columns, the filters can be also grouped with AND and OR functions to form a filtering group. We suggest the use of an open-source library for the implementation of filtering. The tool must support extracting data into different formats (CSV, Excel, JSON). The project should be self-contained, well-tested and deployment should be automated. We suggest the use of unit testing and Docker for containerisation in order to streamline the development and deployment process.
mats.brorsson@uni.lu20215Workload characterisation of machine learning applications on CPU/GPU systemsBased on one of the well-known machine learning benchmarks (e.g. MLbench), the question is as to how well one, or more, selected task from the benchmark utilise available hardware.
Is it possible to characterise the behaviour of an ML application into a few parameters that capture its requirement on the execution platform?
The scientific deliverable will include a study on at least one task from a benchmark suite executed on two different hardware platform with the goal to extract architecture-independent metrics that combined with architectural parameters can indicate performance on each platform.
The technical deliverable should consist of python, C and C++ and scripts and techniques that utilise tools and underlying operating system functionality to extract the metrics that can indicate on the performance of different hardware platforms. It might include programs that automate the benchmarking process. In more details the technical deliverable will be made with the MLPerf tool. The aim of this deliverable is to improve on MLPerf by, as mentioned above, exctracting architecture-independent metrics to fairly compare systems. from to achieve the five high-level goals set by MLPerf. These objectives are :

\u2022 Enable fair comparison of competing systems while
still encouraging ML innovation.
\u2022 Accelerate ML progress through fair and useful mea-
surement.
\u2022 Enforce reproducibility to ensure reliable results.
\u2022 Serve both the commercial and research communities.
\u2022 Keep benchmarking effort affordable so all can partici-
pate.
mauro.dalleluccatosi@uni.lu20222CRYPTOGRAPHY and DATABASE MANAGEMENTThe scientific contribution of the project is to study secure communications techniques. encrypting and decrypting messages ensures that only the intended recipient can decrypt the message and read its contents. Research on present ways of cryptography will be conducted.
In this Scientific deliverable we aim to answer the following scientific questions:
How secure is it to store Encrypted messages in a database and decrypt them accordingly? How to choose an encryption algorithm?
Are there any mathematical formulas to perform encryption/decryption tasks?
The technical deliverables of this project are: to create a graphical user interface (GUI) developed on Python, which is capable of:
-encrypt a message
-decrypt a message and read its content
Use a database management system (DBMS) to store encrypted messages and show on the GUI, the decrypted messages requested by the user, which were formerly stored in the database. The main programming language of this technical deliverable will be Python. However, Structured Query Language (SQL) is going to be used to communicate with the database.
mauro.dalleluccatosi@uni.lu20222CRYPTOGRAPHY and DATABASE MANAGEMENT
Scientific deliverable description

The scientific contribution of the project is to study secure communications techniques. encrypting and decrypting messages ensures that only the intended recipient can decrypt the message and read its contents. Research on present ways of cryptography will be conducted.
In this Scientific deliverable we aim to answer the following scientific questions:
How secure is it to store Encrypted messages in a database and decrypt them accordingly?
How to choose an encryption algorithm?
Is there any mathematical formulas to perform encryption/decryption tasks?
technical deliverables description

The technical deliverables of this project are: to create a graphical user interface (GUI) developed on Python, which is capable of:
-encrypt a message
-decrypt a message and read its content
Use a database management system (DBMS) to store encrypted messages and show on the GUI, the decrypted messages requested by the user, which were formerly stored in the database.
The main programming language of this technical deliverable will be Python. However, Structured Query Language (SQL) is going to be used to communicate with the database.
monica.arenas@uni.lu20223Minutia extraction of CSR when embedded into QR codesWhich are the most suitable methods for self-aligning images that do not raise privacy or security issues?

Researching and reviewing the state of the art of the different methods of authentication to determine the best in not raising privacy or security issues.

Testing different methods to self-align CSR images by using markers other than QR codes and reviewing the results.
The technical deliverable of this project consists of developing software that acquires and self-aligns CSR images embedded into QR codes or similar markers in order to prepare them to run through an authentication protocol. The goal is to obtain a reliable validation of tags through new generation mobile devices and to not raise security and privacy problems by avoiding storing sensitive information in the database.
monica.arenas@uni.lu20223Algorithms for the feature extraction of materials that present fingerprint-like attributes
Materials with fingerprint-like attributes are envisioned for a wide range of applications, including access control, authentication, etc. In the context of this project, we use Cholesteric Spherical Reflectors (CSRs) to verify the authenticity of objects. CSRs find natural application in anti-counterfeiting technologies due to their intrinsic fingerprint-like properties . At the IRiSC group, and as part of an FNR/POC (proof-of-concept) project , we have developed core algorithms for authenticating objects which embedded CSRs on them. One of the algorithms relies on the CSRs feature extraction, which performance is low if compared to biometric systems. The reason why we aim to optimize the runtime when processing images composed of CSRs.
What state of the art algorithms exist for our purposes?
We aim to develop performant algorithms for the feature extraction of CSRs images. A set of steps are required to achieve this goal:
1) a deep revision of state of the art and
2) the implementation of the most performant algorithm reported in the literature.

Tasks:
\u2022 Review the state of the art of existing algorithms that process images with fingerprint-like attributes (mainly the biometric systems).
\u2022 Implement (one or two) algorithms with better performance.

Skills:
\u2022 Coding experience, preferably in Python,
\u2022 Analytical mind, creativity, curiosity, and independence.
nicolas.guelfi@uni.lu20223Artificial Neural Networks and Music\u2022 \u201dWhat are the exact parameters of the problem to be tack- led, that define the most optimal model to use between Long Short Term Memory (LSTM) models and General Recurrent Neural Networks (RNN)?\u201d.
\u2022 \u201dWhat are the advantages and disadvantages of using LSTM models in the context of music generation as opposed to other deep learning models?\u201d.
Answering the questions requires extensive research. For the first question knowledge of how RNNs differ from general ANNs is needed, and also the particular principles that differentiate LSTMs from RNNs. For the second question it is a matter of thorough study of the LSTM technology and the additional components of this technology.
\u2022 A Single-layer Feed-Forward Neural Network capable of recognizing notes given a MIDI Note-on Message.
\u2022 a Single-layer Feed-Forward Neural Network capable of recognizing audio recordings of single notes.
The requirements for successful deliverables are those of functional and working end products that satisfy the demands. Alternatively, a clear explanation of why the deliverables do not work exactly according to the initial conditions.
nicolas.guelfi@uni.lu20213Combining Artificial Neural Networks and Music- Learn about the fundamentals of Neural Networks and existing tools. Literature research on usage history and technical, mathematical concepts behind Neural Networks.
- How are LSTM (Long Short-Term Memory) models used to generate musical audio files? Literature research on this specific question.
- How are LSTM models used to classify musical genre in musical audio files? Literature research on this specific question.
Production of scientifically valid explanations.
- Initially reusing existing AI generation/classification software in the realm of music. These can be found online.
- Setup and configuration of cloud infrastructure for deep learning (Google cloud).
- Producing Neural Network Quality evaluation code and apply it to existing models.
- Code an LSTM from scratch or using open source code, will allow genre classification of music files.
- Generate a set of musical pieces from a dataset that meet the requirements to be considered good music. Python deep learning libraries are a good candidate for this.
nicolas.navet@uni.lu20214Teaching network for training deep learningDeep neural network (DNN) has been used in many applications, in particular object recognition and classification. Typically a DNN model is evaluated with a small evaluation set, it is trained with a large training set collected and labeled manually. This approach has two main drawbacks: 1) it is time-consuming, and 2) it bases on the assumption that the distribution of the training data covers the distribution of the evaluation data, which can not be guaranteed. In this project, the student investigates a different approach that uses a teaching network to generate artificial training data (aka synthetic data). A DNN model is trained with these artificial data and evaluated with the evaluation set. The teaching network is updated by an evolutionary algorithm in order to optimize the evaluation accuracy of the DNN model. It is therefore able to replace the role of the manual training set, which is the heaviest workload step in a machine learning workflow. This project follows a long trend in machine learning research which tends to replace manual works by automated learning.The project will deliver a program written in python Programming language that produces synthetic data similar in distribution to evaluation data to replace the role of manual training set. The program will use some deep learning libraries ( Keras ..etc.) which make python the favourable programming language for machine learning applications. An evolutionary algorithm will be provided to optimize the evaluation accuracy of the DNN model.
nicolas.navet@uni.lu20213Trading Bot ProjectDue to the increasing popularity of cryptocurrencies make them an interesting topic in general. Furthermore, cryptocurrencies can be traded in contradiction to normal stocks during the entire day, very suitable for automatic trading. Hence, this project deals with the creation of an automated trading bot. As the development of a trading bot is very complex, this BSP is not aiming at fully developing an entire trading bot in one go, but rather to build part of it in the scope of this BSP. Henceforth, the project is divided into 3 layers:

- transport layer (responsible for communication between bot and broker)
- control unit
- strategies

This BSP deals with the first layer, the transport layer and aims at designing this layer as well as engineering the bot's way of working.

Scientific Deliverables

- Design of an industry standard trading bot (How to design an industry standard trading bot?)
- Layer specifications (What specifications for the trading bot's layers are recommended?)
Due to the increasing popularity of cryptocurrencies make them an interesting topic in general. Furthermore, cryptocurrencies can be traded in contradiction to normal stocks during the entire day, very suitable for automatic trading. Hence, this project deals with the creation of an automated trading bot. As the development of a trading bot is very complex, this BSP is not aiming at fully developing an entire trading bot in one go, but rather to build part of it in the scope of this BSP. Henceforth, the project is divided into 3 layers:

- transport layer (responsible for communication between bot and broker)
- control unit
- strategies

This BSP deals with the first layer, the transport layer and aims at designing this layer as well as engineering the bot's way of working.

Technical Deliverables

- Managing multiple concurrent connections to web sockets and API's (How to manage multiple concurrent connections to web sockets and API's?)
- Ensuring maximum security and fallback strategies (How to ensure maximum security and fallback strategies?)
- Providing a robust, modular, and scalable interface to enable easy integration of new platforms (What makes up a robust, modular, and scalable interface to enable easy integration of new platforms?)
nicolas.navet@uni.lu20215Self-Supervised Learning for Object RecognitionIn recent years, self-supervised learning (SSL) has become one of the mainstream research topics in Deep Learning (DL). In SSL, we use non-labeled data for training a DL model to generate strong representative vectors, which can be used as input of simple linear classifiers. SSL is reaching the performance of supervised learning, and we expect that SSL can overcome solely DL in upcoming years, due to the excessive non-labeled data available on the Internet. In order to prepare for the student to be familiar with possible DL careers, this project demands the student to answer two research questions:
- In SSL, does the novel contrastive learning outperform the well-known variational autoencoder in the generation of relevant representative vectors? In order words, we first question the utility of contrastive learning as a symbolic technique in SSL.
- How is the performance of SSL compared to supervised learning when the number of labeled data reaches 10%, 20%, 50%, and 100% of the training set?
The answer to the scientific questions clarifies the contributions of SSL in terms of performance (prediction accuracy) and efficiency (reduction of required labeled data). The project is limited to the standard CIFAR10 data set and contrastive learning, a specific SSL technique. Preliminary knowledge about Deep Learning is not required, although the background in ML is a strong point.
nina.hosseinikivanani@uni.lu20225Speaking styles variability and machine learningSpeaking styles are becoming a hot issue. The world\u2019s largest speech prosody conference dedicates a special session to speaking styles in 2022. Styles are, in some way, languages within languages, and being a proficient speaker \u2013 or translator \u2013 means being able to apply them properly in interaction. Growing evidence suggests that styles also vary according to the audience. Human voices are individual and for this reason, speakers can be identified based on their voices. This process is important in everyday social situations as well as in numerous technical applications (e.g. voice access systems). At the center of the problem lies the fact that voices are often more variable within the same speaker (within-speaker variability) than they are between different speakers and it is thus unclear how human listeners can recognize individual speakers despite the tremendous variability that individual voices reveal. The present project will contribute to understanding the nature of how the necessary information to recognize an individual speaker is obtained from voice? The work will focus on summarizing and analyzing the existing papers on the topic, as well as working with speech recordings of speakers using different speaking styles, and using classical machine learning techniques to classify them.The technical part of this project will mostly take place using Radiant software. Given a set of speech recordings from speakers using different speaking styles, the goal is, to apply classical machine learning models and to train them to identify the same speaker even when he/she uses a different speaking style. The code necessary to preprocess the data will be done in Python, while the code to run the models will be written in the statistical programming language R. Learning to work with R will also be a part of the technical deliverable.
patrick.keller@uni.lu20223Network topology optimization using artificial intelligenceThis Bachelor Semester Project will explore the usage of artificial intelligence for the design space exploration of network tolopogies, given a selected set of constraints and requirements.
In order to do so, we will define a basic topology together with a set of requirements and restrictions that need to be fulfilled. (e.g. max. number of nodes/switches/links, overall hardware budget, real-time requirements, traffic limitations, memory consumption of services etc.)
An evaluation metric needs to be defined to determine the quality of the candidate topology and to enable gradual optimization by mutation.
The BSP will aim to answer the following questions:
- How can a network topology and set of restrictions be (formally) defined in an extensible manner?
- How can we handle contradictory requirements?
- What are the (expected) benefits of artificial intelligence over classical approaches?
The main goal of the technical work of this project is to enable the experiments required and to visualize the results.
The topology generation, optimization and evaluation of the project (back-end) will be developed in Python. The visualization of the results can be written in Python or the whole process can be presented as an interactive web-application.
Depending on the selected set of constraints the integration of a timing verification tool written in Java may become necessary.
pierre.kelsen@uni.lu20213Generating Prototypical Examples from JSON FilesIn this BSP project, we propose to tackle the problem of understanding the structure of JSON data by extracting just enough data to capture the essential features of the data.
We call such a data subset a prototypical example. We will demonstrate how to efficiently extract prototypical examples from JSON files, even for very large files, and thus provide a method for getting a quick overview of the represented data.

The planned scientific work would be the development of an algorithm in pseudocode allowing for the extraction of such Prototypical Examples from JSON.
The planned technical work would be an implementation of the algorithm for the extraction of prototypical examples from json data described above. The implementation would be in a high level programming language such as javascript or python.

Possible extensions include a web-based interface (in the case of a javascript implementation) to the extractor, as well as generating an alternative visual representation of the data types, eg, via a UML class diagram.
pierre.talbot@uni.lu20223Static scheduling of constraints in constraint networks.Constraint programming is a paradigm where the user inputs the specification of a problem in terms of constraints and lets the computer solves them automatically. Recently, a new constraint solver on GPUs, named Turbo, has been proposed. It executes all the constraints in parallel until a fixed point is reached and a solution is obtained. However, the order of execution of the constraints impacts the solving efficiency. So there is a need to answer the question: What should be the scheduling of the constraints so that a fixed point is reached more rapidly? In practice, this problem can be reduced to a graph problem where nodes are constraints and edges are dependencies among constraints. The goal of this BSP is to study this problem and design an algorithm partitioning the set of constraints so each member of the partition is the constraints that can be executed together.As this problem is a self-contained graph problem, the underlying language is left to the choice of the student. To test the algorithm, several constraint problem files representing various constraint networks will be made available. The output of the algorithm will be the partition of the set of constraints which minimises the time to reach the fixed point in parallel. The algorithm can be integrated into Turbo, a research constraint solver on GPU programmed in C++/CUDA if enough time is left.
pierre.talbot@uni.lu20225Generalizing the table constraint to latticeConstraint programming is a paradigm where the user inputs the
specification of a problem in terms of constraints and let the computer
solves them automatically.
There are many various kinds of constraints that are useful to model
different kinds of combinatorial problems.

In this work, we focus on the table constraint, a popular and efficient
constraint used to model many problems such as the traveling salesman
problem and used in cryptographic applications.

However, a limitation of the table constraint is to only support integer
domains.
In this BSP we seek to generalize the table constraint to new domains
such as floating-point numbers and set of integers.
We approach this problem by relying on a new foundation of constraint
programming based on lattice theory.
Our research question is: can the table constraint be generalized over
lattices, which are very general mathematical objects?
The technical part consists of an implementation of a table constraint
solver inside Turbo, a research-oriented constraint solver running on
GPUs (C++/CUDA). The architecture of Turbo is already based on lattice
theory and various building blocks are readily available. In this BSP,
we program a new component of Turbo which will contain the table
constraint. The challenge will be to integrate the table constraint in
the parallel design of Turbo.
pierre.talbot@uni.lu20213Study and implementation of Dijkstra's and A* pathfinding algorithms for a game of tag.The scientific deliverable of this BSP is to study and practice Dijkstra's and A* pathfinding algorithms, and understanding the heuristics of the A* pathfinding algorithm in order to find the most fitting one for the game so that the most efficient and quick AI can be put up against the player.The technical deliverable of this BSP is to study and practice the basics of game design, alongside implementing the dynamic pathfinding algorithm mentioned in the scientific description. The core premise of the gameplay will be a game of cat and mouse inside a dynamic maze, where the player who controls the mouse will run away from the cat, while also changing the structure of the maze so that the cat can be confused and avoided. The pathfinding algorithm will let the cat assess the maze in a dynamic fashion in order to find the most efficient path to the mouse.
pierrick.meaux@uni.lu20225Enumerating and testing Boolean functions for secure encryptionIn the field of cryptology, private communications are ensured through different kinds of encryption schemes, such as stream ciphers. These constructions are often based on functions acting at the bit level, called Boolean functions. One way to obtain more efficient and more secure ciphers is to find new families of Boolean functions with good cryptographic parameters (such as degree, nonlinearity and algebraic immunity). The goal of this project is to enumerate and determine the cryptographic properties of a new class of Boolean functions, called weightwise quadratic functions. How can we thus obtain secure cypers by using Boolean functions?The student's responsability will be to:
-implement an efficient algorithm to enumerate functions from this class,
-compute the relevant cryptographic parameters of such Boolean functions.
The implementation could be in SAGE/python, where various functions to determine the cryptographic parameters of Boolean functions are already implemented.
How can we thus implement the chosen algorithm and compute the relevant cryptographic parameters in SAGE/python?
qin.ma@uni.lu20212Modeling Examples with a Web InterfaceThe scientific deliverable is to design an UI to make the web interface suitable as an object modeling tool to define OYAML example models. The goal of good UI is that the user understands and knows how he can effectively operate the website while the website provides the user with feedback to aid him with his decision making, good UI results in good UX or user experience. The keyword for good UI is user-friendly. The desired UI should make the user understand the concepts of classes, objects, attributes, references, and contained objects by representing them accordingly visually and make the actions required to create or edit objects, attributes, etc. simple. So inexperienced users in the field of coding, therefore not being familiar with modeling concepts, should be able to navigate through the web interface\u2019s features to view and create objects.The technical deliverable is to develop a web interface that functions as an object modeling tool and makes it possible for the user to define OYAML example models. The student will use HTML and JavaScript to develop the web interface. The main focus of the development will be to implement the UI from the scientific deliverable. If functional, the web interface should be integrated into the EDM framework FUDOMO.
qingju.wang@uni.lu20225proactive dynamic secret sharing: implementation, benchmarking, applications to distributed password authenticated symmetric key encryptionThe goal of the project is to learn about secret sharing, which allows parties to share a secret without revealing any sensitive information. It can be later used as part of a password authenitcated protocol. More speciffically we will look into dynamic sharing, where the parties can change with time, again without revealing the secret, as well as put a time limit to it, to stop attackers. To understand how this works, we need to learn about Shamir Secret Sharing, allowing us to perform homomorphic encryption on the secret. Additionally, we need to understand what are Kate commitments and Paired shared commitments as they are important part of the project. The goal is to implement a proactive dynamic secret sharing. The first step is to implement it in a honest setting and then a malicious one. Efficiency will also be important as we aim for communication cost per secret of O(n) or O(n^2). We will use a standart Shamir secret sharing scheme and then transfrom it with polynomial commitment schemes to achieve verifiable secret sharing. We need to implement 3 main phases: the setup, handoff and reconstruction phase. Each of them is made of different protocols. The programming language for the project is Python.
rajeev.sahu@uni.lu20222Encrypt and decrypt a message with RSA encryptionThe scientific section of this BSP is related to cryptology. A scientific question we can answer could be "how does RSA encryption work ?" or "what is the difference between symmetric and asymmetric , and/or which of these methods is the best?". First, several important terms will be defined, then we will explain how an ecryption and a decryption work, either with symmetric or asymmetric keys. After this, the main amount of work will go into the answering of one of these questions.Here, the technical work will be to create an RSA encryption algorithm in Python, in order to encrypt and decrypt a pre-defined message. The goal of this section will be to show how an RSA algorithm interacts with the message when it gets encrypted and decrypted, and another goal would be to create an interface to it with Tkinter, if possible.
raluca.chitic@uni.lu20226Convolutional and Spiking Neural Networks under a black-box attack: a robustness comparisonThe scientific deliverable will build on the previous BSP (BSP5). We will continue to analyse the differences between Convolutional Neural Networks (CNNs) and Spiking Neural Networks (SNNs). The SNN used in previous and future tests uses the weights from a pre-trained CNN, and then adds thresholds. Another thing we want to test is how an SNN trained from scratch compares to the SNN we use, which simply copied the weights from a pre-trained CNN.The technical deliverable has 2 different aspects: The first one being that we will directly mutate the individual\u2019s spikes. As the Evolutionary Algorithm (EA) is currently, each individual in the population is still stored as an image, and the mutation is done on the pixels themselves. This means that the images all have to be encoded into spikes first using the Poisson Encoder, which could affect the effectiveness of the EA. If we store the individuals directly as spikes and mutate the spikes themselves, then we bypass the middle-man and don\u2019t have to worry about the Poisson Generator impacting the EA.
The second aspect of the Technical Deliverable is training an SNN completely from scratch, rather than getting an SNN by copying the weights of a pre-trained CNN and adding thresholds to it.
raluca.chitic@uni.lu20215Inspecting Spiking Neural Network Properties and RobustnessThe first step will be to explore how Spiking Neural Networks (SNNs) work, how to use them for image recognition, as well as how they perform in terms of accuracy, speed and efficiency. The second part of the project will analyze the robustness of SNNs using an evolutionary-based targeted adversarial attack. When comparing to traditional neural networks, SNNs have two distinctive properties: the encoding of images into binary spike trains and the threshold-based activation function, both of which are more biologically plausible. The outcome of the project is finding the effect of these two properties on the SNN's robustness to adversarial attacks.Analyse the robustness of Spiking Neural Networks to adversarial images and compare it to the robustness of a traditional artificial/convolutional neural networks. This includes improving an existing Evolutionary Algorithm we have worked with in the past, that is currently optimized for creating adversarial images to CNNs, making it work with an SNN and creating the code necessary to compare the 2 different types of Neural Networks.
ross.horne@uni.lu20214Facilitating Automated Verification by Reduction According to General Attack and Defense StrategiesIn the scientific side of this project I plan to:
1. Improve the way strategies are encoded inside attack-defense trees.
2. Devise a way to properly interpret disjunctive attack trees when reducing models. The current automated tool looks at all partial strategies it gets as input purely conjunctively.
3. Come up with a logical characterisation of what the model reduction method achieves.
4. Prove the correctness of the above characterisation.
In the technical side of this project I plan to:
1. Implement the new model implementation method, be it inside the existing tool or as a companion program.
2. Compile all the results into a research paper.
3. Submit that paper to a scientific conference, journal or workshop. I am confident that this project is innovative enough to warrant a proper publication.
ross.horne@uni.lu20215Efficiently Checking Protocols using Session TypesSession types are used to model and structure communications between different systems.
They are used to avoid common mistakes when designing and implementing protocols, e.g.
in secure communications and distributed systems, it is also crucial in order to
guarantee data integrity and communication safety. While designing a tool for checking
protocols, we need to ask ourselves, How can we design a focused proof system for session types ? That is a system for efficiently checking protocols are implemented correctly.
We will design and build an efficient prototype tool for checking protocols, using and new approach to session types.
The proof system developped in the scientific part of this project will be used in this tool. This tool which
will be written in python, it get's a protocol as it's input, and tell us if the protocol is implemented correctly according to it's corresponding session type. With the help of a parser generator, the protocol will be implemented into a Context Free Grammar (CFG) in order to be analysed by the tool.
ross.horne@uni.lu20213Automated Model Reductions for Verification of Strategic AbilityIn my last project I defined a model reduction algorithm. I'd like to refine it to work on a broader range of more advanced models than the ones I used for testing of the first version.I would like to write an automated model reduction tool based on the algorithm devised in the scientific part of the project.
salima.lamsiyah@uni.lu20223Using Machine Learning to create an Artificial Intelligence for gamesMachine learning is a great domain to which we can associate the concept of Artificial Intelligence by using a lot of different data. In the scientific deliverable, we will answer to the scientific question "How does machine learning work ?" and "How is machine learning used nowadays ?" and develop each part in order to explain with detail the role of Machine Learning.In the technical part, we will create a Tic Tac Toe game in which an user can play against an Artificial Intelligence whose goal is to win. We will also program the AI that will play depending on the user's moves. The programming language we will use in this software is Python, and will cover Deep Learning. Also, Pygame will be used to produce the game.
sana.nouzri@uni.lu20223Improving the human machine interface for the Deus Ex Machina projectThe scientific questions to be asked and to be solved in this BSP is:
-what are the current user interfaces for the project? Are they good enough for the users to interact with? What are the criteria for judging if the user intercace is good?
-If the user interface can be improved, what is needed to be improved? What is the limitation of the system that the software that is running on ( hardware limitation, etc.)
The technical questions to be asked and to be solved in this BSP is:
-How to implement a graphical user interface to make the interaction intuitive for the user?
-How to implement the chatbots on the QT robots and enable two QT robots to work together in a synchronized way?
-How to enable more interaction mode such as speech interaction,
-How to implement more expression mode such as facial expression and body language?
sana.nouzri@uni.lu20223Multi-content types for educational chatbotsIn what ways multiple content types are crucial for educational chatbots? The core objective of this project will help answer this question, where the aim is to learn about the different educational content types and choose some of them to use later. Then, a chatbot will be developed, implementing the adopted content types. The chatbot constructed will be distributed to a few test users to accumulate their feedback that provides a concrete solution to the scientific question. Overall, this BSP will focus on producing a chatbot that teaches its learners using various educational content.
The technical deliverable of this project is about developing an educational chatbot. It will teach at least one-course using different types of learning content (i.e., textual, quizzes, flashcards, games, videos, etc.). This project will require at least three existing content types to implement in the bot. Multiple content types will support the learners in grasping the material engagingly. Python is the programming language to be used to produce the required chatbot.
sana.nouzri@uni.lu20226Nature Image generation for video with music interactionMain expected scientific deliverable:

The domains of the scientific part are:
learn about image generation process by using GAN (generative adversarial network).
learn about interpolation animation by StyleGAN.

Answer the following questions to gain the main idea and knowledge about the topic and be able to continue with the technical part:

1. What is GAN?

2. How does image generation process work?

3. How does image interpolation process work?
Main expected technical deliverable:

The idea is to collect images of nature (such as lava, mountains, waterfalls, water) and create abstract videos of various landscapes. People will be able to watch the video of interpolations with calm music. Visitors will be able to play with various objects and instruments and play musical notes on top of the main melody. Moreover, the notes will modulate the parameters of the interpolation video (such as frame rate, brightness, etc)

The domains of the technical part are:

· data preparation by selecting and collecting nature images, training the images selected by StyleGAN3, and image generation.

· Image interpolation by GAN.

· Video creation with music.
sana.nouzri@uni.lu20226Self-Playing Avatar: Decision and CommunicationThe scientific part consist on answering the following questions: What are the possible means that can be used to convey story telling with AI? The question will be answered by explaining the concepts of the different techniques. How can we give an agent the possibility of making decisions based on a given state? We will also ask ourselves What is agent model for decision? How it could be implemented with exploration model? How do the agent goals will be decided, chosen and followed by the agent model?The technical part of this project will focus on the game ROBLOX 1867. We want to make the decision part of the agent. Indeed, the agent plays the game and need to survive. This part will focus on the decision making of the agent. Indeed, the agent is able to navigate in the environment using Reinforcement Learning, and the important goals are close to be completed. The decision process will consist on which goal is the current target in function of the state of the game.

The second part will consist on the communication of the agent, we want to have a chatbot that is able to talk in order to narrate its story to the other players of the game
sana.nouzri@uni.lu20223Design the HCI (human computer interaction) to the religious chatbot implemented on the QT robotThis BSP is the continuation of the last BSP project \u201cMake conversation with religion chatbot by GPT3 and QT Robot\u201d. The final result of the project will be presented on the exhibition Esch 2022, where visitors will interact with the religious chatbot implemented on the QT robots in the form of a conversation. For a conversation, the users are required to input their message to the chatbot and the chatbot needs to output its message to the users. There are many modes of input interaction, such as: typing, speech, gesture and facial expression\u2026 For the output interaction: text display, speech, facial expression and gesture\u2026
The scientific question to be answered is: what is the best mode of interaction for the input and the output between the exhibition visitors and the chatbot on the QT robots, with the consideration of the possibility and the limitation offered by the QT robot?
The technical work concerns the implementation of the human computer interaction between the exhibition visitors and the chatbot on the QT robots.
The technical questions to be answered:
For the chat between 2 QT robots mode, how to establish the communication between the 2 QT robots?
If input by speech, how to improve the accuracy of speech to text translation? How to improve the speech recording quality?
Can QT robot output emotion by varying the displayed facial expression and gesture? How does the QT robot associate a certain expression with the content of a message?
sana.nouzri@uni.lu20215Self playing avatar v2The domains of the scientific part are the analysis of a video game, of the storytelling and of Steft regarding the three part (exploration, automation and communication), and answer the following questions:

+How an AI can explore and navigate on gaming environment?

+How an AI can learn, survive and achieve goals in environment?

+How an AI can trust to online players to communicate and convey his story?
The domains of the technical part are: Intelligent agent to optimally deal with the AI behavior and interactions (Communication), Deep Reinforcement Learning to optimize the agent behavior by letting it to act in the environment and learn from its mistakes or its obtained reward, and chatbot to let it communicate with online players.

The technical deliverable should be implemented by using Python programming language and connect to Roblox gaming platform. The student has to complete the first part in which we have used Deep Reinforcement Learning technique to implement the exploration model. The second part will cover the implementation of intelligent agent model and the third part will cover the implementation of communication model by using the chatbot model.
sana.nouzri@uni.lu20212Make conversation with religion chatbot by GPT3 and QT RobotThe domains of the scientific part are to compare GPT3 model with the others AI conversational, to analyze the conversations generated on religion topic, and to design the interaction part with user graphic interface and QT Robot. The following questions have to be answered during the comparison and the analysis:

+What make the difference between GPT3 and others AI conversational?

+what offer GPT 3 compared to others AI conversational? And what are the limitation of it?

+what comments, issues could be noticed on religion topic conversations generated by GPT3? And how to fix them?
The domains of the technical part are to experiment with GPT3 model to make \u201cnice mode\u201d conversation, connect this model with QT robot for interaction, create user interface to make user interact with QT Robot and tune parameters.



The student will complete the work done with GPT3 model, first (s)he has to understand how to create nice mode conversation by fixing some issues, improve it if needed and connect to QT Robot, the student will learn how to use the OS of QT and install all the libraries needed for the \u201ctext to speech\u201d task. To complete the interaction part, the student has to create a web-based interface or desktop interface, to initiate conversations with QT.
sergiu.bursuc@uni.lu20225Blockchain-based applications and state channel networksBlockchains allow to run applications between multiple parties in a transparent and trusteless way. In order to minimize their running costs, however, applications need to make parsimonious use of the blockchain, performing only essential computations on it. The role of payment channels, and more generally state channels, is to provide a network layer that applications can use to offload some of the transactions from the blockchain. A prominent example of such a network is Perun, which is based on solid academic foundations ensuring that the same correctness and security guarantees that one has on-chain can be recovered off-chain.

The scientific deliverable will consist in describing the protocols used by the developed application, including the properties and smart contracts required on the blockchain, and the functionalities required off-chain. Some possible applications include auctions, supply chain, and fair exchange ?
Blockchains allow to run applications between multiple parties in a transparent and trusteless way. In order to minimize their running costs, however, applications need to make parsimonious use of the blockchain, performing only essential computations on it? The role of payment channels, and more generally state channels, is to provide a network layer that applications can use to offload some of the transactions from the blockchain. A prominent example of such a network is Perun, which is based on solid academic foundations ensuring that the same correctness and security guarantees that one has on-chain can be recovered off-chain.

The technical deliverable will consist in a prototype illustrating the execution of the application on the chosen blockchain.
sergiu.bursuc@uni.lu20213Fair exchange protocolsThis BSP will focus on three main scientific deliverables:
S1 - Explain the general framework of fair exchange and identify potential applications (e.g. participants and requirements such as privacy or fairness)
S2 - Review basic fair exchange protocols and bitcoin
S3 - Choose one of the studied protocols. How can that protocol be applied to some of the designed scenarios?. The chosen protocol might need to be adapted.
This BSP will create a prototype implementation of the fair exchange framework including one of the studied protocols. This will be created by using the programming language python. The project will explore the following 4 technical deliverables:
T1 - Appropriate presentation of data and protocol actions
T2 - Appropriate crypto library
T3 - basic user interface
T4 - Test of the protocol on basic scenarios
Stefan.Schiffner@uni.lu20213Analysing Privacy Preserving Toll Collection: Agent based traffic generationCan toll collection systems compromise the privacy of a person? The information they leak is the time, place and toll payed during a transaction and the total of all tolls payed during a billing period. We would like to show that knowing this information it is possible to construct a user movement profile. Identifying this user's home and work place will guarantee almost unique person. Such privacy attacks are hard and unethical to be done on real systems. For this reason we will create a simulation on which we will focus our location privacy research.The main product to be used is SUMO - Simulation of Urban MObility. We want to create a simple toll system on which we can later perform privacy attacks. The focus will be on creating an agent-based traffic generator, which will create a demand file for SUMO, containing nothing but the information leaked by the toll system. Depending on how well the simulation works and the time needed to be created, we could perform simple attacks to show if we can compromise one's privacy.
steffen.rothkugel@uni.lu20222darkSky \u2013 iOS integration of open data related to space and sky.The scientific aspect of this project is based on open data. Indeed, it will first be necessary to define what open data is. Then, it will be necessary to find and study a way to recover in an effective way the various data which will be integrated into the application, to sort them and to organize them. Indeed, the data displayed in the technical deliverable will come from several sources.

We can therefore define several research questions on which this work should be based:

- What is open data and what is an API?

- How can we use several APIs and integrate the data they allow to retrieve in a single application?
The technical part of this project aims to create an iOS application for tracking a wide range of space and sky data. Based on open data, this application should indeed be able to retrieve information from several sources (including Nasa for example) and display it in an intuitive way. Indeed, the application aims to be accessible to a large number of people, without requiring special knowledge. The objective is in fact to present an application that allows the average person to follow the news of the space. The data included in the application will be chosen to meet three major objectives:

- useful information (like the phase of the moon or the position of the international space station for example);

- educational information (pictures, news...);

- fun facts.
sviatlana.hoehn@uni.lu20222Using GPT3 model, to generate religion conversationThe domains of the scientific part are to learn about GPT3 model, analyze the conversations generated on religion topic, design and adapt the model to the main goal of the project.
The scientific deliverable (research objective):
Using metrics for chatbot evaluation from literature, how to improve dialogue quality using GPT3 model parameters?

The following questions can help to answer the research question:
+what is GPT 3 compared to others AI conversational?
+what offer GPT 3 for text completion? And how it should be used?
+what comments, issues could be noticed on religion topic conversations generated by GPT3?
The domains of the technical part are to experiment with GPT3 model to create conversations, design an algorithm or program to improve current notebook (already written by python), connect the notebook with QT robot for interaction (Collaboration with other student) AND/OR connect the notebook with user interface (collaboration with other student).

The student will complete the work started with GPT3 model, first (s)he has to understand how to create conversation, then by fixing issues and implementing solutions to improve it and connect to both QT Robot AND/OR User interface
sviatlana.hoehn@uni.lu20222Question and intent extraction from COVID-19 Twitter dataCan a program process human-written questions to identify their intent? The scientific work will focus on answering this question. For this purpose, a program will be created that will distinguish questions from all other sentences and use an algorithmic approach to identify questions with similar intents. The development of the program will also tie into the technical work of the project.The technical work will focus on the domain of natural language processing (NLP). A program will be created with the purpose to distinguish questions in Twitter posts and identify their intents. The sample Twitter data that the program will process will consist of Tweets in different languages. The data will be analyzed with the help of NLP tools, e.g. NLTK and spaCy.
sviatlana.hoehn@uni.lu20222Evaluating relevant criteria's based on game reviewsThe scientific question to answer is what is the evaluation criteria for a game to be up-voted by users?

For this project the scientific deliverable will be centered on how to find the evaluation criteria for a computer game to be highly scored in user reviews (graphics, gameplay, very few number of bugs, innovation, etc...). To work on the solution we will use the Steam Game Reviews dataset available on Kaggle. We start with sentiment analysis and on top of this we will find other features in user reviews and make them part of the model. We will also focus on how a pre-trained language models such as RoBERTa (Liu et. al, 2019) help us to solve the problem.
For this project the technical deliverable will be designing and building a system that measure the criteria that are important to know if a was up-voted or not. The main programming language will be Python and well-known libraries like streamlit, transformers. The hole solution will be independent from the platform whether it is windows, Linux or MacOS.

Due to the limitation of time we are going to use Kaggle dataset but this part can be automated so that we can get the reviews automatically.
sviatlana.hoehn@uni.lu20222Exploration of different types of educational content for chatbotsHow are different types of educational content for chatbots essential? This question can be answered by primarily achieving the objective of this project, which is to explore the types of educational content. Eventually, understanding the significance i.e. how these varieties would engage the users prolonging the utilisation of the educational chatbots will lead to concluding a concrete solution to the scientific question. In the journey of satisfying the goal of this project, it is also crucial to learn and recognize concepts such as chatbots and their types, their implementation in education, relationship between the educational chatbot and its targeted audience etc. Overall, this BSP will focus on producing a chatbot which will teach its users using different educational content.The technical deliverable of this project is to build an educational chatbot which will teach one subject and implement different types of educational content for this subject. A variety of educational content will help users learn in an innovative and engaging way. The type of chatbot will be Artificial-Intelligence based. In order to develop the chatbot, knowledge of the Python programming language is vital.
thomas.engel@uni.lu20222Hello Kid - Social Media Application for children with parental controlHow a Social Media Application can provide a safe public environment for children?
Hello Kid is the particular/safe media for kids. This app is designed to be
just like our social media nowadays but with complete control of parents
for the age between 5-12 and partial control for 13-16. Here you can
post photos, videos, and stories categorized by age so kids won\u2019t have
access to violent/obscene/inappropriate content.
This BSP is supposed to integrate social media bit by bit in a child's life.
The children are curious, and they find entertainment in what adults post
because it is new and sometimes forbidden by parents. But,
unfortunately, social media and technology are something that we
cannot protect our children from because if you want or not, these things
will become more and more attached to them.
Hello Kid aims to introduce Social media applications into children's lives. The application should provide a high parental control that covers: \u2022Posting pictures/videos, \u2022Control over the public feed which consists on showing the posts by age range chosen by parents, \u2022Control of messages between children.
Hello Kid BSP is a social application, and the users are only kids between 5-16.
The app will use parental control for posting/viewing content, searching,
likes, and comments; messaging should be private after 14 years old. The
graphics will differ by age: 5-7, 8-12,13-16; there will be these three
groups of age, group 5-8 will have a theme more joyfully, easy to use
and colorful, group 8-12 will have also a colorful theme but with a simple
approach, group 13-16 will remain in the simple theme with a black and
white theme.
tingting.hu@uni.lu20223Measuring and Establishing Trust in Deep Learning for Breast Cancer PredictionOver the last few years, deep learning has been found to be incredibly good at performing different tasks such as in computer vision. However, whether it is for identifying people at high risk of being diagnosed with a certain condition or driving cars, it is essential to understand the extent to which we can trust these technologies before deploying them. Placing blind-trust in algorithms is arguably \u201cthe recipe for disaster\u201d: hiring algorithms discriminating against women or self-driving cars missing lane dividers are just some examples. Consequently, a question arises: How do we measure and establish trust in deep learning? The outcomes of the scientific part include answering the scientific question above as well as defining terms like interpretability and explainability in ML, providing precise guidelines to evaluate the trustworthiness of ML models. The technical deliverable of this BSP revolves around developing algorithms for image processing. This will be done using a dataset (https://data.mendeley.com/datasets/ywsbh3ndr8/2) containing a large collection of mammograms, breast images. The idea is to investigate and recreate a tool that can help detect breast cancer. The goal is to then train a ML model using deep learning and deploy it on an iOS application. The programming languages used will be Python and Swift respectively. Ultimately, the user will be able to upload different pictures and, based on the input received, the ML engine will predict the probability that a cancer is present indicating the areas that need to be further processed.
The technical part of this BSP brings one step forward from what developed in the BSP2: the main objectives are understanding and developing algorithms to process digital mammograms, getting familiar with a new ML model/technique, deep learning, training it, and deploying it on an application where images can be uploaded and processed.
tingting.hu@uni.lu20222Machine Learning, an Ally in Breast Cancer PredictionData science is redesigning innumerable aspects of society, including medicine. In the age of artificial intelligence, major breakthroughs have been made in this field. One of them is machine learning (ML), which takes inputs (data) and turns them into predictions. As a matter of fact, it is used to identify people at high risk of being diagnosed with a certain condition, determining the specific molecules useful for the development of new drugs, to spot cancer in X-rays, etc. Breast cancer is one of the leading causes of death in women worldwide. In 2020, an algorithm, trained by a group of MIT researchers, was found to be extremely accurate at predicting the appearance of cancer in a range of five years from a mammogram. The level of accuracy ended up being higher than in other approaches used. Additionally, in the U.S, a survey conducted in 2018 revealed that around 84% of radiology departments use or are thinking of using ML software. However, advocates frequently ignore the risks of "datafying" medicine. Hence, a question arises: To what extent should ML be used in breast cancer prediction?
The outcomes of the scientific part include answering the scientific question above as well as completing the online courses \u201cIntroduction to Breast Cancer\u201d and \u201cArtificial Intelligence for Breast Cancer Detection\u201d given by the Yale School of Medicine and Johns Hopkins Whiting School of Engineering respectively.
The technical deliverable of this BSP revolves around creating a risk assessment tool for breast cancer prediction. A front-end web-based user interface and a machine learning (ML) driven back-end engine are going to be developed. The web-interface is going to contain properly selected questions with predefined answers selectable by the user. Some are going to be addressing the user's medical history as in whether they have any gene mutations or a family member that does. Based on the answers (used as inputs for ML) they selected, the back-end ML engine will predict the probability of being diagnosed with breast cancer. The results are going to be displayed using statistical graphics.
tomer.libal@uni.lu20223SUMO- project in logic and lawThe legal domain contains many concepts from different sources. These concepts have various relationships with each other and are not always consistent. The SUMO project (Suggested Upper Merged Ontology) provides definitions for general-purpose terms and acts as a foundation for more specific domain ontologies. These concepts are defined by logical axioms and are verified via AI, to ensure consistency. The project involves the addition of a list of about 100 legal concepts to the SUMO project and axiomatizing them.

How can we create a tool that will provide clear axiomatization and classification of legal concepts?

The scientific deliverable is completing an axiomatization and classification of legal concepts (mainly from data protection legislation) using first-order logical sentences, as covered in the Discrete Math 1 course.
First-order logic is symbolized reasoning in which each sentence, or statement, is broken down into a subject and a predicate. In this project, we are going to classify and compare the legal terms by the properties they have such that the list which contains the 100 legal concepts is going to have easy manipulation for individuals that are working in the legal field and for civils who are learning law or need a clear view of legal terms.
While the project does not require programming, using the SUMO tool requires some learning. The technical deliverable will be learning and applying the legal SUMO knowledge base.
This involves studying and creating the structure and content of the SUMO to systematically present the highest level and the relations between our 100 legal concepts. We are going to work on an existing tool that is using Suggested Upper Merged Ontology which for the moment needs to improve its methodology such that the individuals that are using this tool will have the opportunity to use an engine for defining and classifying concepts in the legal field that will provide them with clear and correct information.
tomer.libal@uni.lu20225Axiomatization and Classification of Legal Concepts in SUMOLegal ontologies contain a big number of legal concepts from various legal sources and suffer from inconsistencies, duplications, and errors. In this project, we will determine "if the use of the SUMO formal method of creating ontologies can help us provide a correct legal ontology without inconsistencies and duplications?"The SUMO project is an ontology for basic concepts, which are defined by logical axioms and are verified via AI, to ensure consistency. The technical part of this Bachelor Semester project will consist of working with the SUMO tool to create the legal knowledge base.
tomer.libal@uni.lu20223The SUMO ProjectLegal ontologies contain a big number of
legal concepts from various legal sources and suffer from inconsistencies,
duplications, and errors. Now, the project SUMO is the largest formal public ontology in the world, today. With this in mind, we will determine "if the use of
the SUMO formal method of creating ontologies can help us provide a correct
legal ontology without inconsistencies and duplications?"
The SUMO project is an ontology for basic
concepts, which are defined by logical axioms and are verified via AI, to
ensure consistency. The technical part of this Bachelor Semester project
will consist of working with the SUMO tool to create the legal knowledge
Base.
The technical part will also include the learning of a new language / logical syntax, called SUO-KIF, made by Mr. Adam Pease.
tomer.libal@uni.lu20222Comparison and implementation of a collaborative annotation editor in JS
What are the best collaborative annotation software, and how to make one?

Annotation is a very powerful tool. Indeed, it enables documents written in natural language to be translated into a logical language. In consequence, computers are able to interpret these documents using logical language. Thus, in the field of law for example, computers could interpret annotated articles of the law, and give advice on whether to appeal a court decision or not.

Additionally, the time taken to annotate (or edit) a document can be significantly reduced by doing it collectively and in parallel instead of doing it individually. This process is called collaboration.

For the scientific deliverable, the goal is to identify the different important features of the annotation tools as well as those of the collaboration tools. Based on these features, different tools are compared between themselves, and the best collaboration or annotation tools are selected. As no collaborative annotation tool exists yet, the features that must be added to these tools to make them one are elaborated.
In this deliverable, the goal is to transform the tools introduced in the scientific deliverable into collaborative annotation tools by implementing the features presented in the scientific deliverable. These features will also be implemented on an annotation editor called the NAI. This editor enables the user to convert a natural language text into a collection of logical statements. To do this, the important words must be assigned variables, and the pieces of sentences between them must be assigned connectives (AND, OR, XOR,\u2026). Some of these propositions can be specified as conditions, while others can be specified as questions, outputting True or False.
tomer.libal@uni.lu20216Behavior driven development of an AI based legal applicationThe scientific work in this BSP will try to answer the question: how to create a
frontend using state of the art (Behavior Driven Development) BDD technique?

This project will attempt to answer that question through building on, and improving the previous work of students who created tutorials for the use of some technologies in the BBD approach. I will demonstrate, via the creation of a tutorial, how unit tests can
be added to the BDD approach to make it more complete.


Behavior Driven Development normally has two key players: The agile development team and the product owner. It works by the product owner describing desired behaviour, which will be in the form of use cases. Then those use cases will allow, through the creation of refined questions, further investigation of the properties of the product by the development team and the product owner. This will more precisely define the desired behaviour of the software product
The technical work for this project will be the implementation of various components of a web page application (e.g. login and logout) using the BBD approach, via the RESTfull API.
This project will make use of the following technologies to create a webpage application:

-Node.js
-VueJS
-vue-router
-axios
-Vue-cli

For the testing part, it will make use of the following:

-Cucumber
-Cypress
-and cypress-cucumber-preprocessor

The previous work of students will be built upon through the addition of unit tests. The technical deliverable will be the newly written code.
tomer.libal@uni.lu20213Behavior driven development of an AI based legal applicationThe scientific deliverable will contain the research, the description and an addition to the current tutorial of the elements which were added to the app during the project. For example, Higher semester students can choose to work on the legal text editor and will describe the technologies chosen and will create a tutorial of how to use such an editor in future tools. Earlier semester students will focus on simpler frontend tasks and will describe, again using a tutorial, concepts such as RESTful APIs, etc. The legAI app is developed in the university of Luxembourg to support the legal decision making process - https://www.legai.app/ . The project depends on various apps and tools, This BSP is concerned with building a frontend to the app legal knowledge base

The project contains a tutorial for getting up to level with the technology, which was created in a previous BSP.

The project has tasks for students of all semesters.

The project will assume an Agile development approach with the tutor being the product owner.

The technical deliverable of all students will be the code created within the app.
tomer.libal@uni.lu20213Using logic programming to improve compliance with the lawThe scientific deliverble's main aim is to naswer the question : "Given the regulation and a set of basic facts, what further steps do I need to take in order to stay compliant with the law?" In order to answer the question, the student will read and understand research papers on legal text formalization. Then, they will identify legal cases to be used for the project. Finally, a system that supports legal decision making by answering questions should be devised. The main expected technical deliverable is to encode legal use cases in Deontic logic. These Deontic Logic cases should be then encoded in LPS (Logic Production System) and ASP (Answer Set Programming). The programs in LPS and ASP should be used to answer questions about legal cases. In the end, the code should be wrapped in Python.
ulrich.sorger@uni.lu20225Rule-driven behaviors in an artificial life simulationIn what ways do \u201csimple\u201d behavioral rules lead to complex behaviors in an artificial life simulation?
The objective is to use an artificial life simulation following the general idea of Boids (Reynolds, Craig W.) to experiment on the changes certain rules have on the behavior of such a simulated system. Selective rules should be suppressed and new ones created, to observe and report how complex the behaviors within the system can become.
A program responsible for simulating a Boid-like system should be implemented. If feasible, a modular rule system could be created to ease creating additional rules. Ramping up the number of entities in the simulation would require parallelization of both the rule computation and the rendering of individual entities. This could be accomplished on multiple CPU cores and if attainable on the GPU using an OpenGL/DirectX shader.
ulrich.sorger@uni.lu20225Time Series Analysis of Positive Corona Cases in Correlation with Economic IndicesThe ongoing Covid-19 virus has caused a high impact on society as in terms of travel restrictions, the obligation to wear a mask and in some countries restrictions to leave the house. This project aims to analyse the economic impact of several decisions based on the Covid-19 situation. Thus, multiple historic decisions potentially impacting the economy are aggregated. Henceforth, the scientific question arises, how impactful were certain decisions to economic sectors? The resulting work should involve a table that comprises multiple parameters allowing to rank the decision\u2019s impact. Moreover, it should be possible to assess the economic impact with the table for future developments. A correlation of the Covid-19 cases and economic development should be analysed. A time series analysis is to be utilised together with the aggregation of economical impactful decisions acquired from the scientific deliverable in order to identify and measure the decision\u2019s effects. A model should be created to predict future developments. The technical question is, \u201chow to develop a model to predict the economic movement based on Covid-19 data?\u201c as well as \u201cHow well does a developed model perform to predict the economic movement?\u201d
ulrich.sorger@uni.lu20213Mandelbrot fractal calculation and rendering with unrestricted decimal depth/precisionHow can an \u201cunlimited\u201d real number be represented using an expanding number of bits or using other number types?
Calculating and rendering the mandelbrot fractal in the complex plane can be simplified to some calculations of 2 real numbers. However, using floating-point numbers, the precision of small numbers is limited, thus exploration of the fractal is restricted (in terms of zoom/depth).
The objective is to create or research a number system that supports an unrestricted number of decimal places with the intent to use it to render the mandelbrot fractal further than what is possible with floating-point numbers.
Research existing methods or data representation schemes for expanding or arbitrary precision real numbers and report as scientific work.
Implement a program to render the mandelbrot fractal using the number type researched or created in the scientific deliverable.
The program will use, if possible, the GPU by utilizing an OpenGL shader, or in case implementation proves difficult, use only the CPU. The program will use the above number type to render the mandelbrot fractal bounds in color and provide arbitrary zoom+position settings to configure the rendering of the mandelbrot fractal.
vladimir.despotovic@uni.lu20216BSP 5 - Deep Neural Network QuantizationWhat is Neural Network Quantisation and how to achieve it?

There are two types of neural network quantisation: post-training quantisation and quantisation aware training. The simplest form is the post-training quantisation that statically quantises the weights of already trained network from 32-bit floating point to 8-bit integer precision. At inference, weights are converted from 8-bits of precision to floating point and computed using floating-point kernels. In quantisation-aware training all weights and activations are 'fake quantised' during the forward and backward passes of training. 32-bit floating point values are rounded to mimic 8-bit integer values, but all computations are still done with floating point numbers. Thus, all the weight adjustments during training are made while being 'aware' of the fact that the model will ultimately be quantised. This method usually yields higher performance than the post-training quantisation.

A Neural Network with achieved Quantisation

State-of-the-art machine learning algorithms require significant computational resources and consume a considerable amount of energy, i.e. they require powerful hardware for implementation. This significantly limits their applicability on devices with limited processing power and memory (e.g. edge computing devices). This project investigates quantisation approaches to reduce the complexity of deep neural networks using computations and memory accesses with lower precision data, typically int8 instead of 32-bit floating point implementations; thus, reducing the model size and memory bandwidth and enabling faster inference.

The project will consider implementation of two deep neural network quantisation techniques using TensorFlow and/or PyTorch.
Yves.LeTraon@uni.lu20226Dataset Augmentation using Generative Adversarial NetworksThe scientific description of the project is the conceptualization and the explanation of the protocol to use a generative adversarial network in order to make an augmentation of a dataset. The main idea will be to explain theoretical the steps to do in order to use a generative adversarial network in the purpose of increasing the size of a dataset. We will also see how we can transform motion movement into data that can be analyzed by the GAN.The technical description of this project is creating a generative adversarial network in order to increase the size of a dataset. The language of the whole program will be on Python and the dataset will be made of multiple vectors representing the movement of a human during a physical exercise. Thus, the main purpose will be first to have a small set of real concreate data with camera motion capture and after increasing our data with a generator (GAN).