Master/Semester projects

Overview of available semester/master projects

Back end software development/
software architectures
DataBase ManagementApplication DevelopementSystem/low level programming
Automatic Connection Establishmentxxx
Collaborative working space in virtual realityx
Develop a controller for the NAO robotxx
Develop a “Wizard-of-Oz” GUI for robot controlxxx
Tangible card-based programming interface for Cellulo Robotxx
EPFL Rocket Team – Simulator Graphical Interfacex
Master’s project with EdTech startup company (Classtime Inc.)xxx
Master’s project with EdTech sartup company (Magma Learning)xx

The CHILI lab is inventing learning technologies that exploit recent advances in human-computer interaction (e.g. eye tracking, augmented reality, …) and in human-robot interaction. We are working on several educational platforms described below. Each platforms offers possibilities for semester and master projects. While semester projects are often limited to development, master projects usually include an empirical study with learners, supervised by our team.  The platforms are:

  1. NEW ! We have funding for supporting master theses in the field of learning technologies in Fall 2019, Spring 2020 and Fall 2020. In 2017, EPFL has launched the Swiss EdTech Collider which now gathers 77 start-ups in this field.  Some of them will be interested to host master theses. You will be supervised by Prof. Dillenbourg or his team members but you will  located in a start-up (different cities in CH).  Contact: pierre.dillenbourg (at) 
  2. A variety of projects in LEARNING ANALYTICS, i.e.  data sciences applied to education are offered by my lab (contact: jennifer.olsen (at) as well  by the Center for Digital Education. See their project list here.
  3. Dual-T is a research project on vocational education and training (VET). Currently it has two parts: (i) development of novel technologies to support VET learners and (ii) training needs analysis. For developing novel technologies, we are focusing on virtual reality in order to expand the learners’ experience. Training needs analysis concerns itself with finding methods for identifying the newest skills needed for people in a profession, and involves the use of data science and applied machine learning. Current projects concern the augmented/virtual reality tools, as well as training needs analysis for software developers. Contact: (at), ramtin.yazdanian (at)
  4. CELLULO is a small robot for education and rehabilitation. It moves by itself and can be moved by pupils. The hardware is ready and projects concern the software environments as well as designing and experimenting with new learning activities and rehabilitation games. Contact: hala.khodr (at), arzu.guneysu (at)
  5. JUSTHINK project aims to improve the computational thinking skills of children by exercising algorithmic reasoning with and through graphs, where graphs are posed as a way to represent, reason with and solve a problem. Contact: utku.norman (at), jauwairia.nasir (at)
  6. CO-WRITER is a project in which kids who face writing difficulties are offered to teach Nao how to write. Nao is a small humanoid robot available on the market. The projects concerns smoothening the interaction between the robot and young children. Contact: thibault.asselborn (at), barbara.bruno (at), negin.safaei (at)
  7. CLASSROOM ORCHESTRATION is a project to support teachers for managing learning activities with technologies, specifically educational robots. The project concerns designing awareness tools and intervention strategies about what students are doing with robots in the classroom. Contact: [email protected]

Some of these projects are described below, but since research is moving on permanently, we always have new opportunities. You can always contact the names above or pierre.dillenbourg (at) if you are interested in advancing digital education.

Swiss EdTech Collider

Research question

Does machine-learning supported assessment question creation, based on contextual suggestions and a library of metacognitive questions, increase the quality of questions and speed of question creation?


In this study, we would like to engage with a Master Student to achieve the following: 

  • Programming/product extension: Machine-learning based extension of our Classtime question creation editor to support question creation by 
    • Providing Contextual suggestions (e.g., when starting to type “London” as a first multiple-choice question, the solution would auto-suggest options like “New York”, “Madrid”, etc.
    • Inclusion of good pedagogical practices (e.g., hints like “incorrect options should not be longer / look different from correct options”
  • Programming/product extension: Machine-learning based extension to suggest context-based reflection questions, suggesting additional questions for pedagogical reasons such as , 
    • Deeper understanding: “What is this problem about?” or “What is sought, what should the answer look like?”
    • Connection questions: “In which aspects is the present problem similar to others that I have already solved?”
    • Strategic questions: “Which solution strategy is the right one for the problem at hand – and for what reason?”
    • Reflection questions: “Is the result meaningful?” or “Can I solve the problem in another way?” or “Have I considered all important information?”
  • Data analytics: Reviewing our existing data set based on sessions with ~5 m students, whether there are specific characteristics of questions that drive engagement and deeper thinking and use these in the automatic question generation
  • Data analytics and research: Devising a study set-up to assess the effectiveness of (1) ML supported question creation (contextual suggestions of multiple-choice options + reflection questions) vs. (2) non ML supported question creation. Conduct of study and analysis of results

Info about Classtime

Classtime ( is a web-based engagement and examination platform for modern teaching. Classtime allows to intensify the interaction between teacher and learner, increases the transparency of learning progress and saves the teacher time (auto-correction of homework/examinations) – be it in face-to-face or online/distance learning. Further applications include pre-knowledge check, assessments, flipped classroom, gamification, etc.

See video: Link

Key activities of the Master student

  • Programming using machine-learning concepts and libraries based on contextual proximity
  • Working closely with the CTO, CEO, and Product / UX specialists
  • Data science and analytics activities
  • Pedagogical research, supported by the team and with academic experts on the roles and types of metacognitive questions
  • Define academic follow-on questions
  • Study execution and write-up

Benefits for Master student

  • Engage in highly relevant Learning Sciences and learning analytics research. Digital assessment tools are becoming more important, fueled by the recent distance/online learning push. Solutions need to make sure that they maximize the educational value
  • Access to a large pool of teachers, students and schools internationally to conduct meaningful experiments
  • Development of a product extension that will be used in real-life with millions of students and teachers
  • Collaboration with a dynamic and entrepreneurial team running a growing and promising start-up, on-site in Zurich

Contact: aditi.kothiyal(at)

Research goals
Long-term retention is known to be improved by the principle of spaced repetition, according to which a learner should wait until a concept is almost forgotten before revising it. Standard implementations of spaced repetition are however rather rigid and do not adapt to the learner’s personal memory abilities. This is the case for the Leitner system, where the interval until the next
revision is simply doubled in case of correct answer, or halved in case of incorrect answer.

MAGMA Learning has developed a novel spaced repetition system in which the forgetting rate is gradually adapted to each learner thanks to machine learning. Since personalization is also known to improve the effectiveness of learning, its combination with spaced repetition is indeed a natural step to produce even more beneficial results.

The goal of this project is to conceive a rigorous experimental setup in which to test the effectiveness of personalized spaced repetition compared to standard spaced repetition. The various algorithms to be tested will be implemented in our personal AI tutor app ARI 9000, which will be used by hundreds of students at EPFL and other universities. The experimental setup should be general enough to apply to other settings, such as corporate training in companies.

Beyond measuring the effectiveness of personalized spaced repetition, the project also aims at analyzing the importance of the many parameters that enter the learning process. This includes for example the recall probability to reach before revising (what does “almost forgotten” mean?), the frequency and duration of revision sessions, learning paths, difficulty of concepts, familiarity with related concepts, etc. These analyses will lead to a better understanding of performance improvement and provide a strategy of personalized recommendations for ARI 9000 users.

Activities of the Masters student
• Review literature about spaced repetition systems and their experimental testing
• Conceive practical experiments to test the effectiveness of personalized spaced repetition
• Analyze resulting data and quantify improvement metrics
• Evaluate the importance of the parameters involved in the algorithm
• Devise recommendation strategies to optimize learning

Contact: aditi.kothiyal(at)

Learning Analytics 

Learning analytics involves applying techniques in data science for optimizing and understanding learning. In CHILI, the projects range from applying existing algorithms to new data sets, comparing the use of algorithms to address a goal, and visualizing data in a meaningful manner to support learning. 


In the Dual-T project, we are interested in how to “expand the experience” of the learners in vocational education. We consider digital technologies as a means to approach the problem. We are particularly interested in expanding the experience by generating and exploring digital variations of designs. Exploring design variations can help the learners in acquiring a better understanding of the design space. We are currently exploring this idea with two professions – florists and gardeners.

Training Needs Analysis is the identification of skills that will help people in a profession improve their performance and obtain the skills they need. Currently, we are focusing on performing training needs analysis on software developers, for whom we have much publicly available data, in the form of Stack Overflow questions, Stack Overflow Developer Survey, and Google Trends.

Following are the list of available projects and their descriptions. In case of interest, please send an email to the contact person.

VR can offer an opportunity for learners to create and explore designs in an immersive environment. What could be more interesting is when multiple learners interact in the virtual space. This project involves developing a VR application that provides a collaborative working space for multiple learners. We are currently working on garden designing as a target application.

Requirements: experience or interest in learning Unity, C#, VR app development

Contact: (at)


The JUSThink project aims to explore how a humanoid robot can help improve the computational thinking skills of children by exercising algorithmic reasoning with and through graphs, where graphs are posed as a way to represent, reason with and solve a problem. The project targets at fostering children’s understanding of abstract graphs through a collaborative problem solving task, in a setup consisting of a QTrobot as the humanoid robot and touch screens as input devices.

To help improve the learning outcomes in this context of human-human-robot interaction, this project aims to use data generated in the experiments to explore models of engagement and mutual modelling for adapting the robot behavior in real time using multi-modal data (interaction logs, speech, gaze patterns and facial expressions) and machine learning techniques among other things. 


The CoWriter Project aims at exploring how a robot can help children with the acquisition of handwriting, with an original approach: the children are the teachers who help the robot to better write! This paradigm, known as learning by teaching, has several powerful effects: it boosts the children’ self-esteem (which is especially important for children with handwriting difficulties), it get them to practise hand-wrtiing without even noticing, and engage them into a particular interaction with the robot called the Protégé effect: because they unconsciously feel that they are somehow responsible if the robot does not succeed in improving its writing skills, they commit to the interaction, and make particular efforts to figure out what is difficult for the robot, thus developing their metacognitive skills and reflecting on their own errors.

We are developing a Child-Robot Interaction system to support children with severe handwriting difficulties and motivate them to exercise. The system includes: (1) a proprietary app (Dynamico), running on an iPad, able to assess the handwriting quality of a child at runtime, and including a set of mini-games purposely designed to help the child train specific skills required by handwriting; (2) a robot, interacting with the child to guide and motivate him/her in the mini-games; (3) a “Wizard-of-Oz” GUI for a therapist, through which the therapist can get insights on how the child is interacting with Dynamico and send commands to the robot.

The current setup envisions the use of QTrobot (, a small humanoid robot that can interact via natural language and facial expressions (screen). The goal of this project is to integrate in the setup a NAO robot ( which, beside natural language, mostly interacts through gestures, to allow for research studies that compare the two robots and determine which interaction model is the most effective in this context.

Concretely, you will program in Python, get familiar with ROS (the de-facto standard middleware in Robotics) and learn how to control NAO, one of the most widely used social robots in the world.

Requirements: experience or interest in learning Python, ROS, robot programming.

Contact: barbara.bruno (at)

We are developing a Child-Robot Interaction system to support children with severe handwriting difficulties and motivate them to exercise. The system includes: (1) a proprietary app (Dynamico), running on an iPad, able to assess the handwriting quality of a child at runtime, and including a set of mini-games purposely designed to help the child train specific skills required by handwriting; (2) a robot, interacting with the child to guide and motivate him/her in the mini-games; (3) a “Wizard-of-Oz” GUI for a therapist, through which the therapist can get insights on how the child is interacting with Dynamico and send commands to the robot.

The current “Wizard-of-Oz” GUI is very basic, with labels displaying the data collected by the Dynamico app (about the handwriting quality of the child, and his/her interaction with the mini-games) and buttons to send commands to the robot. The goal of this project is to enhance the existing GUI, by providing new, advanced functionalities (e.g., graphs to display the evolution of the handwriting quality, or the scores in the mini-games) and by improving the overall interface clarity and usability.

Concretely, you will program in Python, get familiar with ROS (the de-facto standard middleware in Robotics) and learn how to develop a modern GUI using Qt creator, a widely used IDE for GUI design, and its Python plugin PySide2.

Requirements: experience or interest in learning Python, ROS, GUI design.

Contact: barbara.bruno (at)


In the Cellulo Project, we are aiming to design and build the pencils of the future’s classroom, in the form of robots. We imagine these as swarm robots, each of them very simple and affordable, that reside on large paper sheets that contain the learning activities. Our vision is that these be ubiquitous, namely a natural part of the classroom ecosystem, as to shift the focus from the robot to the activity. With Cellulo you can actually grab and move a planet to see what happens to its orbit, or vibrate a molecule with your hands to see how it behaves. Cellulo makes tangible what is intangible in learning.

The aim of this project is to improve robotic programming interfaces. Currently, students have to use programming languages on computer screens or tablets which is not convenient for collaboration and classroom management. In this project the student will build a tangible programming interface which will  enable students to program cellulo robots with cards.

Cellulo is a versatile and low-cost educational robot that can localize itself and move on printed paper sheets that contain learning activities. Each Cellulo can sense user touch and provide haptic and visual (LEDs) feedback. The card-based tangible programming interface for Cellulo consists of three parts: 1) the visual programming cards, each containing a set of commands to make the cellulo robot take a certain action, 2) the cellulo robot which serves as a controller to move over the cards, read the code on each card and send it to the compiler on a tablet 3) the cellulo robot which acts according to the commands on the cards. The student will implement all three parts using Qt/QtQuick software and QML.

Requirements: Experience with or interest in learning: robot programming with Qt/QtQuick software, QML programming, working with git, educational activity design, user experience design.

Contact: aditi.kothiyal (at), sina.shahmoradi (at)

The goal of this project will be to implement a solution for automatic connection establishment to desired robots to move towards an easy mass interaction with a swarm of robots.

Currently the connection is handled by performing a scan of all nearby devices, then filtering on the physical addresses to obtain only our robots, then the user would manually choose the desired robots. A more scalable method would be to develop an automatic connection to robots. One idea is to rely on the Near-Field Communication (NFC) technology to physically bring the desired robots close to the master device, at which point the connection attempt is automatically started on both devices. More alternatives can be discussed as a first part of the project.

  • The student will :explore few alternatives for the most suitable approach
  • choose one approach
  • build a working prototype

Requirements: Experience in the following skills or interest in learning: electronics design, prototyping, QML

Contact: hala.khodr (at)

Classroom Orchestration



The EPFL Rocket Team is an interdisciplinary project and an association whose goal is to build a rocket and participate in an international competition in the USA. At the competition, the rocket must reach 10’000 feet (3048m) and in the future, we will aim at 30’000 feet.

In particular, a goal is to reach as precisely as possible a pre-determined altitude. As in Switzerland, we have a very densely used airspace, we cannot do as many flights as we would like, so we cannot be empirical. We have developed an intern simulator that simulates very precisely the rocket’s flight. This simulator allows us to choose what physical equations simulate the flight. Nevertheless, our simulator is currently very cryptic to be used.

Project description

The purpose of this project is to upgrade our simulator so it gets a User Interface. This user-friendly upgrade will allow everybody to use the simulator instead of only a few specialists. The simulator is in MATLAB, it has already been partially translated in python and given a UI for a simplified simulator with only one degree of freedom.

A possible list of steps for this project could be:

1. Understanding how the simulator works in MATLAB, with the help of the simulation sub-system members

2. Understanding what has already been done in python

3. Linking between the output of the translated 1D simulator and the already coded IU

4. Implementing the state of the rocket in 3 dimensions

5. Adapting already translated classes, or creating classes to have a functional 3D simulator in Python

6. Comparing the results of the 3D simulator in MATLAB and python

7. Realising/Adapting the GIU for the 3D simulator

8. Developing error handling.

The realisation of the GUI (point 7 above ) is the main interest of the project, it can be decomposed by doing the following steps:

  • Interviewing ERT members, and observe offer from market leaders to understand functional and technical specifications of the GUI.
  • Realizing the GUI, using already coded embryo or not.
  • Linking between simulator and GUI.
  • Developing error handling and testing both functional and technical aspects.
  • Envisaging OpenSource diffusion if the project can compare itself to market leaders.


  • Having interest in Human-Computer-Interaction, in particular for realizing a GUI.
  • Knowledge of MATLAB and python, or motivation to learn these languages.
  • Willing to be part of a team of passionate students launching rockets.

Contact: antoine.scardigli (at) (EPFL Rocket Team simulation Team-Leader) and hala.khodr(at) (CHILI lab)