Research interests:

Educational tools and technologies, learning profiles, machine learning for education.

If you have a project idea related to the mentioned research interests, feel free to email me

Back to main page.

3D-OS Algorithms


The aim of the project is to develop an educational platform for students who wish to learn about algorithms used in operating systems.
It should provide 3D visualisations of some of the key data structures and algorithms such as process scheduling algorithms, and synchronisation.

The advantages of such a system are the following:

(*) Provide a 3D, interactive view of the execution of an operating system algorithm
(*) Provide a testing platform allowing the user to enter input and customise an algorithm and then display the new result
(*) Provide a concise accompagning documentation of each algorithm and include examples.


Keywords: HTML, Bootstrap, Angular, Node.js, THREE.js and tween.js.
Status: Not available

Lab ticketing system


The aim of the project is to implement a ticketing system similar to apple genius bar for managing lab sessions. The system would be a web-based application. It would support four user profiles.
- A student profile
- A Teaching assistant profile
- A module administrator profile
- A general system administrator profile

Here are the main use cases, more details will be given during meeting with the supervisor:
(1) During the lab session, a student can request help by pressing a button on the application
(2) All Tas get a notification, the one pressing the respond button will go and support the student
(3) Each student is given a 10 minute-slot. This way, students don’t count entirely on Tas support and give a chance to other students to request support
(4) The request expires 10 minutes later or when one of the two parties click a completed button (student or TA)
(5) The application is web-based and cross-platform, thus browsable using any browser or mobile device
(6) All requests are logged into the database with the name of the student (if allowed), supporting TA, time of request and optional comment.
(7) The application allows the administrator bulk uploading students info, modules info, requests types info, etc
(8) A set of charts displays statistics about support requests

The advantages of such a system are the following:
(*) Have a real-time view of what's going on in the labs
(*) Have a clear idea about students needs and engagements
(*) Clearly identify and justify needed resources in terms of number of Tas for a given module as modules have different requirements.
(*) Have a notification system when there are too many requests so the tutor can go to the lab and help
(*) The collected data is a valuable source of information to identify students learning profiles and predict their outcomes.


Keywords: django, web applications, databases, charts, data analytics.
Status: Not available

Students attendance dashboard

Status: Available

We aim at implementing a dashboard that allows tracking students attendance in lectures and labs. The web-app consists of 3 different profiles: Module admin, teaching staff and student. The web application has the minimum following list of features:

(1) A module admin can create a module and upload a list of students
(2) The module admin can also add teaching staff to the module.
(3) Admin and other teaching staff can register students attendance by clicking on a button on the dashboard.
(4) The dashboard displays statistics about students attendance by week/term/module.
(5) Students can log in to the dashboard and display their attendance statistics by week/term/module

Keywords: django, web applications, students attendance.
Status: Not available

A web-based students projects management system


As part of their degree, UCL-CS students are required to work on a programming project. Projects are proposed by different clients including external companies such as Microsoft, Google, the NHS, etc, but also by internal research groups.
We intend to build a webapp that can automatically: (1) Accept projects submissions by clients (2) Allow students to search for projects by keywords, client name, etc and then register their interests to work on a specific project (3) Allow projects to be automatically allocated to students based on their research interests and search history

Keywords: django, web applications, strength finding.
Status: Not available

Digital Clerk


UCL-CS is introducing a new mentoring system that allows 3rd year students to support their mates in their studies. In addition to students mentors, other staff members such as lecturers and teaching assistants are also involved in answering students questions and providing guidance during office hours. This project aims at implementing a web application that allows students to register their support request and provide a minimum of information regarding their request so they are directed to the right person. The web application has the minimum following list of features:

(1) Students monitor office hour usage remotely and come only when staff members are available
(2) Students are asked to formulate their questions before asking for help, saving time for staff members.
(3) Interaction timers warn staff members when interactions become too long, so they can make the most efficient use of their time.
(4) The interface encourages staff members to help the same students again, eliminating time spent understanding students' work.
(5) Collect data in order to gain valuable insight

Keywords: django, web applications, automatic time scheduling, data analytics.
Status: Not available

Visualisation and analysis of the internet movie database


This project aims at analysing the IMDB(Internet Movie Database) and extracting useful information about genres, most popular film topics by year,
actors profiles in terms of films acted in, collaborations, number of stars by film, etc.
The output is a set of graphs visualising the above information.

The student, should
(1) Study the anatomy of the IMDB
(2) Set-up a list of features to extract.
(3) Study existing librairies and tools to extract/analyse/visualise data from a large database
(4) Provide an extensible set of graphs and charts to visualise the extracted features
(5) Automatically analyse [youtube] clips and [articles] about a given film released before, during or after the official release date of the film
(6) Provide the user with a detailed summary about a given actor/film/genre and publicity strategy
(7) Implement a generic/extensible software framework to be applicable to any movie database not only IMDB.

Keywords: Java, Python, data mining, text analysis, film industry.
Status: Not available


Any question, feel free to email me

Back to main page.