Trinity College Dublin

Skip to main content.

Core links

FYP Projects 2016/17 and Proposals for 2017/18

1. Introduction

The information on this page applies to students taking final year projects and Year 5 dissertations in the School of Computer Science and Statistics under the following programmes:

  • BA (Mod) in Computer Science
  • BA (Mod) in Computer Science, Linguistics and a Language
  • BA (Mod) in Computer Science and Business or Business and Computing
  • BAI in Computer Engineering (D Stream)
  • BA Management Science and Information System Studies (MSISS)
  • BAI in Computer Engineering and Microelectronics (CD stream)
  • Management Science and Information Systems Studies
  • BA (Mod) Mathematics
  • Master in Computer Science (MCS)
  • MAI in Computer Engineering

2. Guidelines for students

Important dates and deadlines for academic year 2016/17

Course Activity Date
Integrated Computer Science (Yr 4) Project Selection Fri Oct 14, 2016
Final Year Project Project Demonstration Period April 3-7, 2017
  Project Presentation Material and Poster Submission Date Mon Apr 10, 2017
  Project Report Due Fri May 5, 2017
  Project Presentation and Poster Session Thu Apr 13, 2017
Integrated Computer Science (Yr 4) Internship Details Form Submission Date Fri Dec 9, 2016
Internship Goals Document Submission Date Fri Feb 10, 2017
  Poster Submission Date Mon Apr 10, 2017
  Poster Presentation Date Thu Apr 20, 2017
  Mid Point Submission of Reflective Diary Fri Apr 28, 2017
  Technical Report Submission Date Mon Aug 7, 2017
  Final Submission of Reflective Diary Mon Aug 7, 2017
Master in Computer Science Project Demonstration Period Tues May 2, 2017 & Thu May 4, 2017
  Poster Submission Date Mon May 8, 2017
  Project Presentation and Poster Session Thu May 11, 2017
  Dissertation Submission Date Thurs May 18, 2017
Computer Engineering (Yr 4) Project Demonstration Period April 3-7, 2017
Final Year Project Project Report Due Fri May 5, 2017
Computer Engineering (Yr 4) Internship Details Form Submission Date Fri Dec 9, 2016
Internship Goals Document Submission Date Fri Feb 10, 2017
  Poster Submission Date Mon Apr 10, 2017
  Poster Presentation Date Thu Apr 20, 2017
  Mid Point Submission of Reflective Diary Fri Apr 28, 2017
  Technical Report Submission Date Mon Aug 7, 2017
  Final Submission of Reflective Diary Mon Aug 7, 2017
Master in Computer Engineering Project Demonstration Period Wed March 22 - Fri March 24, 2017
  Project Report Due Thurs May 18, 2017
Management Science and Information System Studies Interim Presentations Mon Dec 5, 2016 - Fri Dec 9, 2016
  Project Report Due

Fri March 24, 2017

Computer Science & Business / Business and Computing Project Demonstration Period April 3-7, 2017
  Project Report Due Fri April 21, 2017
Computer Science Linguistics and Language Project Demonstration Period March 13-17, 2017
  Project Report Due Tues Apr 4, 2017


* Due to scheduling constraints it may be necessary to hold some demonstrations later in the week.

When to choose a project

An initial list of project proposals (from lecturing staff) will be released on the Thursday of the last week of Semester 2 in your Junior Sophister year. Supervisors will not accept supervision requests before this time. Further project proposals may be added to this list by lecturing staff over the summer vacation.

Students should select a final year project before the end of the third week of Semester 1. Where students have not selected a project by the deadline, a project supervisor will be allocated to them in consulation with the relevant course director out of the supervisors who have not yet reached their supervision limits. The chosen supervisor will assign the student a project or help them to specify a project in an area selected by the supervisor.

How to choose a project

Students may either

  • select a project from the list of project proposals put forward by the lecturing staff, or
  • alternatively propose their own projects. If you have a project proposal of your own and if you are having trouble finding an appropriate supervisor, then contact your course director:

In either case students must get the agreement of a supervisor before they will be considered as having selected a project. Supervisors may require a meeting with the student to discuss the project before accepting a supervision request. Once a supervisor agrees to supervise a project, details of the project assignment will be recorded centrally by the supervisor.

Students may only select a single project, but they may change their minds and select an alternative project before the end of the third week of Semester 1. However, if a student selects a new project, they must notify both the old and new supervisors that their previously chosen project is to be cancelled.

Choosing a project supervisor

Students should note that each supervisor will only take a limited number of students. If you find the information is incorrect please send details to

Students should also note that there are only a limited number of supervisors in any area. Hence students are not guaranteed a project in their area of choice.

Project demonstrations and reports

See the following documents:


3. Supervisors' project areas

The following table indicates the broad areas within which projects are generally supervised, together with the potential supervisors in these areas. Each name is linked to a list of projects proposed by that lecturer.

Subject AreaSupervisors willing to supervise projects in this area
Artificial Intelligence Michael Brady, Vincent Wade, Martin Emms, Tim Fernando, Rozenn Dahyot, Carl Vogel, Khurshid Ahmad, Joeran Beel
Computational Linguistics Martin Emms, Tim Fernando, Carl Vogel, Khurshid Ahmad
Computer Architecture Jeremy Jones, David Gregg, Michael Manzke, John Waldron, Jonathan Dukes
Computer Vision Kenneth Dawson-Howe
Distributed Systems Vinny Cahill, Stefan Weber, Mads Haahr, Dave Lewis, Jonathan Dukes, Melanie Bouroche, Siobhan Clarke
Foundations and Methods Hugh Gibbons, Andrew Butterfield, Glenn Strong, Tim Fernando, Vasileios Koutavas
Graphics, Vision and Visualisation Kenneth Dawson-Howe, Fergal Shevlin, Michael Manzke, John Dingliana, Carol O'Sullivan, Rozenn Dahyot, Khurshid Ahmad, Rachel McDonnell, Aljosa Smolic
Health Informatics Lucy Hederman, Gaye Stephens, Mary Sharp
Information Systems Mary Sharp
Instructional Technology Brendan Tangney, Mary Sharp, Glenn Strong, Richard Millwood
Interaction, Simulation and Graphics John Dingliana
Knowledge and Data Engineering Vincent Wade, Lucy Hederman, Mary Sharp, Declan O'Sullivan, Dave Lewis, Owen Conlan, Khurshid Ahmad, Seamus Lawless, Kris McGlinn, Kevin Koidl, Alex O'Connor
Networks and Telecommunications Donal O'Mahony, Hitesh Tewari, Stefan Weber, Meriel Huggard, Ciaran McGoldrick, Jonathan Dukes, Melanie Bouroche, Marco Ruffini, Douglas Leith, Lory Kehoe, Georgios Iosifidis
Other David Abrahamson, Michael Brady, Stephen Barrett, Eamonn O'Nuallain, Khurshid Ahmad, Melanie Bouroche, Marco Ruffini, Vasileios Koutavas, Douglas Leith
Statistics Mary Sharp, Rozenn Dahyot, John Haslett, Simon Wilson, Brett Houlding, Jason Wyse, Arthur White, Douglas Leith, Bernardo Nipoti

4. Project proposals for the academic year 2017/18

The following is a list of suggested projects for final year BA (CS), BA (CSLL), BA (CS&B /B&C), BAI, MAI, MCS and MSISS students for the current year. Note that this list is subject to continuous update. If you are interested in a particular project you should contact the member of staff under whose name it appears.

This is not an exhaustive list and many of the projects proposed can be adapted to suit individual students.

Dr. Arthur White

Using Social Media Analytics to Facilitate Hepatitis C Immunology Study - TAKEN


In 1977-79, hundreds of Irish women fell victim to hepatitis C virus (HCV) infection when they were given virus-contaminated anti-D. Usually anti-D is a blood product of great benefit given to women with blood groups incompatible with their new-born baby. However, in 1977-79 this normally beneficial product was unknowingly contaminated with HCV, which can invade and gradually destroy the liver. Until recently, researchers believed that receiving HCV-contaminated blood products, where high viral loads directly enter the blood stream, would inevitably lead to infection.

In the aftermath of the outbreak, it was discovered that, when screened for HCV, almost half of the women who clearly had contact with the virus showed no signs of infection. Researchers in the School of Biochemistry and Immunology are interested in comparing the genetic profiles of naturally resistant people with those who were unable to resist infection, with a view to uncovering the mechanism behind the mystery of natural HCV-resistance. Exploiting this knowledge could lead to new ways to make vaccines and anti-viral drugs.

To facilitate this study, the research team seek volunteers who were exposed to HCV via contaminated anti-D in 1977-79 to help with the study. A publicity campaign is currently being launched (see video here) , which will incorporate both traditional and more modern social media elements. For example a Facebook page has been launched. We are interested in understanding how effective these elements will be in identifying the cohort of exposed women from the general public.

Anticipated Outcomes

This project will be principally concerned with the social media elements of the media campaign. In particular, a Facebook page and Twitter profile will be created to in order to share information related to the project. The student will be required to:

  • Conduct a literature review of similar previous social media campaigns.
  • Construct datasets of interest based on the campaign's social media interactions.
  • Profile the audience demographics using data analytics and social network analysis tools.

For further information, I can be reached by email ( or phone (+1062). I am based in room 144, Lloyd Institute.

Dr Mélanie Bouroche

I will be on leave from October 2016 so will not be supervising projects this academic year.

Dr. Andrew Butterfield



ORI G.39



My research interests are in the areas of Formal Methods, for verifying the correctness of hardware and software systems through the use of mathematical modelling and proof. The current focus is on the use of the so-called Unifying Theories of Programming paradigm (UTP) for linking together theories that model different types of programming languages. Also of interest is the use of Functional Languages, particularly pure lazy ones like Haskell and Clean.

Most of these projects can be scoped to suit Senior Sophister projects, or 5th year MCS/MAI Dissertations

Application Areas

Spaceflight Software

Work for the European Space Agency (ESA) has raised the issue of using formal techniques to reason about the correctness of C code that handles interrupts in hypervisors. Of interest is seeing how high level models might be connected to tools that analyse code with appropriate formal annotation (e.g. Frama-C). A set of baseline requirements for a Seperation Kernel are now available. Of interest is building formals of these using Haskell and/or CSP in conjunction with the FRD3 Refinement Checker.

Work Processes

I have been working with John Noll who is a colleague in Lero, the Irish Software Research Centre, based in UL. He and colleagues from his former job in Santa Clara had developed a language originally for describing software development processes, called Process Modelling Language (PML). They developed some tools to analyse PML descriptions. I have been collaborating with him to give PML a formal semantics, and to develop new tools written in Haskell. The language can be used to describe a wide range of processes, from general business, through to so-called clinical healthcare pathways. We are also interested in using them to model software development standards for medical device software. Projects could range from progressing the analysis tools, to using it to model some real process.

Facebook's infer

Facebook have open-sourced their radical new approach to verifying memory safety in Android and iOS code (see Infer). It would be interesting to explore the use and extension of this technique.

Haskell based Projects

In addition to specific projects listed below, I am willing to supervise projects that use Haskell or similar functional languages (e.g. OCaml, Lisp).

UTP Calculator (a.k.a. "Theory Hacking")

Developing UTP theories involves a lot of test calculations. A rapid theory prototyping tool UTPCalc has been developed in Haskell that allows the user to code up theory definitions using the Haskell language itself. Possible projects include extending and improving the calculator, and/or applying it to check new or existing UTP theories.

Theorem Prover Tool Support

Of particular interest at the moment is the development of proof support tools for UTP, most notably "Unifying Theories of Programming Theorem-Prover - U(TP)2" , a proof assistant written in Haskell.

I am willing to supervise projects that either use the tool to build a theory of some interesting language, or help to improve the power and quality of the tool in some way. Example project ideas include:

  • Improved pretty-printing of large expressions and predicates, using nice fonts, and with every component "clickable".
  • Enhancing (induction) proofs through the use of "rippling"
  • Connecting the proof-engine to known secure theorem provers to justify/verify basic proof steps.

Working with the tool requires knowledge of Haskell, as would be obtained by taking module CS3016 in JS year and ideally followed up with CS4012 in the SS year.

Grand Challenge 6 : Dependable Systems Evolution

Flash Memory Controller Model

Using UTP/Haskell to describe and model a Flash Memory Controller.

Dr Ciaran McGoldrick



Lloyd 1.10a (inside 1.11)


I am primarily mandated to supervise projects on our taught MSc programmes and at taught MSc/MCS/MAI level.

In general you should have a strong academic record, be motivated to succeed and solve problems, be a solid programmer and have some affinity for hardware.

I will be offering 4 projects in 2015/16 tht will include the opportunity to collabrate with colleagues in UCLA.

Vehicular Communications

I will be offering two project on vehicular communications.
One will be on the use of Visible Light Communications and associated systems as a side channel for secure V2V and V2I communications. This project will involve the assembly of some straightforward hardware circuits
A second project will focus on efficient, low-loss medium switching in response to rapidly changing and dynamic vehicular mobility.

Underwater Networking

I will be offering two projects on Underwater Networking.
Both will involve (contribution to) the development of a community accessible undewater networking test and evaluation platform. There will be two separate development, integration and practical evaluation strands that will complement activites in our H2020 project.

Your project ideas ...

If you have an interesting or compelling idea in the networking, security or STEM education domains please feel free to get in touch. In doing so please be able to clearly and concisely tell me: i) what you propose to do; ii) why you want to do it; iii) what the interesting (research) hypothesis is; iv) how or why anyone be interested in your completed project.

Further info: Ciaran Mc Goldrick

Last updated: 14/8/2015

Dr David Lewis

TAKEN: Title: Common repository API to PHP-based web content management systems:

Content management systems are essential for enterprises to manage the large numbers of documents used to publish manuals, provide user support and market their products on the web. Increasingly this content is supplemented by user-generated content, such as forum posts or wiki pages. Enterprise often have to handle content and data across many different content management systems, a situation which is exacerbated when applying content strategies across web content that is intended for different markets in different languages. This is a major problem and to address this the content management industry, via an OASIS group, has developed a Content Management Information Service (CMIS). While many enterprise content management systems are now implementing this standard, it has received relatively attention in the important class of open source web content management systems (WCMS), such as drupal and joomla. This project will investigate the feasibility and performance issues related to developing a common php library to implement CMIS that can be integrated into such WCMS, plus some additional asynchronous notification features designed to support content processing value chains.

Title:Javascript HTML editor for internationalisation and localisation

Internationalisation is the important task of developing web content so that it can be easily translated and localised for different market. This involves identifying terms or phrases that should not be translated, or not translated into specific target market language, identifying terms that need to be translated in a particular way, annotating content to identify its application domain so that specialised translators can be selected when translating it. The internationalisation Tag Set is a standard set of HTML and XML tag that allows content to be annotated with such internationalisation information. However, the java script HTML5 editors often used in online content management systems do not allow content authors to easily and efficiently annotate HTML document with such mark-up. This project will develop a java script library for annotating HTML5 documents with ITS markup and investigate how this can be integrated into existing Java script web content editors is a user friendly manner. Such an editor could also be used to support the checking and editing of content that had been automatically machine translated.

Visualization and tracking of differences in literature translations

The focus of this work is to allow literature translators to understand the flow of translations over time by visualizing differences in translations of the same source. This may be done in conjunction with the TCD MPhil class in literature translation. This project will involve research in comparative visualisation of alternative translations, annotations of styles, idioms and metaphors. Furthermore, state of the art translation technologies will be used with the view to extend current approaches for larger scale use.

In first instance contact Dr. Kevin Koidl

Understanding the flow of rumors in social media.

The focus of this work is to identify and understand the impact (negative and positive) of rumours in social media. This project will involve research in social community analytics and visualization as well as Natural Language Processing and sentiment analysis. Furthermore deeper research in the understanding of how rumours impact society and how rumours turn into facts is expected.

In first instance contact Dr. Kevin Koidl

Prof. David Gregg



027 Lloyd Institute


Note: I will not be supervising projects in the 2017/18 academic year. Sorry about that.

However, if you are a very strong C, C++, OpenCL or assembly programmer, and you are interested in contributing to my research group's work on accelerating deep neural networks on embedded systems then we might be able to sort something out.

Dr. John Dingliana



0.41 Lloyd Institute


Some general info

I am a member of the graphics, vision and visualisation research group interested in the areas of:

  • 3D Visualisation
  • Computer Graphics and Virtual Reality
  • Graphical aspects of Mixed and Augmented Reality
  • Stylised Rendering / Non photo-realistic rendering
  • Physically-based Animation

Suggested Projects:

  1. Remote telemetry using head mounted Virtual Reality/Augmented Reality displays [TAKEN]: video and 3D information acquired from a remote sensor (possibly on a drone) will be transmitted live to a user wearing an HMD (an occulus rift DK2 or metavision AR head mounted display will be available for use). Instead of the user merely seeing through "the eyes of the camera", the spatial information gathered will be displayed asynchronously in order to minimize motion sickness effects and allow the user to explore the data independently. Potential challenges include the following (each of which could be the focus of a project):
    • reducing latency between acquisition, processing and display of 3d environments on AR/VR displays
    • adaptive level of detail in interactive AR/VR
    • blending different modalties (e.g. fusion of different sensors or seamless integration of real and virtual).
  2. Engaging with characters in VR/AR [TAKEN]: This project is concerned with how immersive, high detail, stereo displays change how we react to virtual characters in Virtual Reality. For instance, are characters that are displayed within our personal space, more engaging or discomforting. The project will require competence at using and exploiting off-the-shelf graphics engines (Unity, Unreal, etc) and datasets however the main focus is in quickly engineering a number of test cases for user studies. A pilot study will be conducted as part of the project, but it is intended that the system developed should be usable in more detailed follow-up user experiments.
  3. Computing visibility of features in 3D Volume Data [TAKEN]: The purpose of this project is to implement a function to determine how visible particular features are in a 3D graphical dataset, when viewed from any given viewpoint.
    Figuring out whether a viewer can see an object in a 3D scene is a ubiquitous problem, with already many solutions, in interactive graphics and games. Visibility is relevant for instance to determine whether an AI agent can see certain objects or whether an object is occluded from the viewer and therefore need not be rendered. This project deals with a specialized area of graphics called Volume Graphics where the scene is represented as a 3D uniform grid. An advantage of such graphics is that it deals effectively with semi-transparent objects with interior details such as smoke. In such a case visibility is not an issue of whether or not a point can be seen but to what degree it is visible. As a starting point, baseline code for a volume renderer will provided. The objective is to modify this to return a dataset that represents the visibility of all points in the dataset when viewed from a given viewpoint.
  4. Superhuman vision using augmented reality. [TAKEN]: The objective of this project is to address some of the challenges of merging virtual graphical objects with dynamic real-world objects to provide information about the object to the user in augmented reality (AR). Many AR applications already exist that overlay textual and 2D-graphic information for similar purpose. In addition, various graphical applications in entertainment add augmented objects to real-world environments. This project will deal mainly with graphical (and, where possible, 3D) augmentations of the real-world and the augmentation should be done in real-time. Some example application areas include night vision, “audio vision”, X-Ray vision, enhancing visibility of threats in an environment etc. Microsoft ran a competition for serious applications proposals for the Hololens AR display – and some of the winners are listed [HERE]. As an input the shape of the model captured using imaging and depth sensors will be used. Then the data might be post-processed or filter before blending into the real environment. Data from advanced sensors such as X-ray, audio etc. will likely not be available but might be simulated for the purposes of this project.

Stephen Barrett

Social Software Engineering

My research is focussed on the identification of the unique contribution and impact of the software engineering practice of individuals and the teams they work in. My approach is to treat software engineering as a sociological phenomenon, with source code as the primary artefact of a constructive social network process. My aim is to develop toolsets that capture expert domain knowledge regarding software engineering practice and management in a form that enables us, in the language of Daniel and Richard Susskind, to externalise its qualitative assessment.

The technical basis of the approach is the application of defeasible/non-monotonic argumentation schemes, borrowed from proponents of the strong AI model such as John L. Pollock, but applied to the assessment of human behaviour rather than the replication of human decision making. We apply this method to infer judgements regarding software engineering practice, this analysis being grounded in data derived from code quality measurement, software development process monitoring, and a social analysis of software construction.

This research work is being conducted in the context of a Haskell based software platform that gathers and processes 'ultra-large' scale data sets regarding active opensource and closed source software development. Projects sudents will thus need to be willing at least to take on Haskell as a programming language. Prior experience is not necessary but you should consider yourself to be a strong programmer to work with me.

Some example topics from which suitable projects can be developed include:

  • Automation of Software Development Methodology Adherence Testing: the use of fine grained behavioural measurement regarding software engineering to quantify adherence to development methodology. In this topic, we are interested in delivering practical tools and methods by which software teams can encourage and monitor process development goals.
  • Privacy Preserving Gamification of Software Engineering Processes: the use of gamification in the assessment and management of software engineering processes. In this topic, we are interested in exploring how gamification can positively impact on the performance of teams and individuals.
  • Situated Learning Framework for Software Engineering Community of Practice: the development of a model for the automated identification and recording of engineering activity for practice learning. In this topic, we are interested in developing ways in which the best practice and skill of senior and experienced team members can be automatically packaged as learning resources for the organisation.
  • Sociometrics in Software Engineering: the use of sociometric and biometric data to predict individual and team performance in software engineering. In this topic, we are interested in studying the environment and social network structure of software engineering teams in order to provide actionable measures of team performance and health.
  • A Platform for Social Software Engineering Research: the development of a scalable platform for social software engineering analysis. In this topic, we are interested in developing high level domain specific languages to enable sophisticated bespoke analysis by non-technologists of social network and software quality data pertaining to the software engineering effort.
  • High Scale Code Quality Measurement: a data evolution based cloud platform for the efficient computation and continuous re-computation of code quality metrics. In this topic, we are interested in exploring how predictive relationships might exist between various possible ways of measuring software engineering, such that more efficient and rapid result computation can be achieved.

Please note that I am unfortunately unable to take on projects outside this broad research space.

If these topics interest you, do send me an email, briefly summarising your interest, and software development experience.



Dr Hugh Gibbons





Support for Literate Programming in Java

Literate Programming is defined as the combination of documentation and source put together in a fashion suited for reading by human beings. It is an approach to programming which emphasises that programs should be written to be read by people as well as compilers.
There are many tools available to support Literatre programming but they are mostly available on Unix systems and for programming languages such as Pascal and C. While Javadoc is available to document Java programs, the aim of the project is investigate the benefit of using Literate Programming in Java.

Using CASL to Model a software system

CASL (Common Aalgebraic Specification Language) offers the possibility of formal specification and development while allowing a more informal working style. The project would investigate using CASL to develop a formal model of some software problem which may or may not have already been previously presented in formalisms such as VDM or  Z. This model could then be informally translated into a programming language such as Java.

Developing Programs using Perfect Developer or How to develop a Java program without writing Java.

Perfect Developer is a program development system which allows one to develop provably correct programs. First one develops the program in the notation of Perfect Developer and then the system can verify the program written. Once one has a correct program, Perfect Developer can automatically translate the notation to Java, C++ or Ada.
(See Perfect Developer: How it works)

Imperative Programming within a Functional Programming Setting

While Functional Programming (FP) supports Lists better than Arrays, it is possible to write FP programs that are based on arrays. Since FP programs are side-effect free, it is usually easier to prove FP programs correct than Imperative programs. The aim of the project is to develop Java type programs within an FP setting.

Simulating Puzzles or Games in Functional Programming

Over the last many years there have been successful projects in using Functional Programming to provide animations or simulations of puzzle type programs. Since Functional Programming languages such as Haskell are very high level language, expressing solutions to puzzle type problems may prove easier than in imperative languages or declarative languages such a Prolog or Lisp/Scheme. Possible puzzle problems would be cryptarithms where one has to fill in the missing digits in a arithmetic calculation, logic puzzles or puzzles involving Graph Theory. Puzzles and games from the works of Martin Gardner would be an interesting starting point.

Support Systems for Teaching Logic and Logic Proofs

Systems such as Tarski's World and Hyperproof have proved very valuable in teaching an understanding of both propositional and predicate logic. These systems are part of a more general Logic project Openproof at Stanford's Center for the Study of Language and Information (CSLI). An alternative logic proof system is provided by Jape, a system developed by Richard Bornat and Bernard Sufrin which supports Bornat's book Proof and Disproof in Formal Logic . A more modern Logic Proof System, KE, has been developed by Marco Mondadori and Marcello D'Agostino with associated computer program systems WinKE by Ulle Endriss and LogicPalet by Jan Denef. It would be useful to provide support tools for these system so that these systems could be more widely used. An example of a logic support system is given by the Logicola system by Harry Gensler to support his logic book Introduction to Logic.

Ruler and Compass Construction within Vivio

Vivio is an animation tool that allows one to animate algorithms and simulations. The project would involve investigating the use of this tool for creating classical Euclidean constructions, for example, the construction of a pentagon using a compass and ruler.

Program Transformation of Z into JML

The development of the Java Modelling Language (JML) was influenced by specification languages such as Z. Many software projects make use of tranforming specifications into imperative programs. An example of this approach can be seen, in particular, in the book "Introduction to Z", by Wordsworth. The examples in Wordsworth's book could be used as a starting point in transforming Z specifications to programs into JML.

Annotated Java with JML

The Java Modeling Language (JML) is a behavioral interface specification language that can be used to specify the behavior of Java modules. It is based on the approach of Design By Contract  (DBC) The draft paper Design by Contract with JML (by Gary T. Leavens and Yoonsik Cheon) explains the basic use of JML as a design by contract (DBC) language for Java. See also Joe Kiniry (University of Copenhagen)  presentation, Introduction to JML. A given project would investigate the use of JML providing examples of its use.  For example, how would a program for Binary Searching an array be implemented in JML.


Developing High Integrity Code in Spark

Spark is a high level programming language designed for developing software for high integrity applications. Spark encourages the development of programs in an orderly manners with the aim that the program should be correct by virtue of the techniques used in construction. This 'correctness by construction' approach is in marked contrast to other approaches which aim to generate as much code as quickly as possible in order to have something to demonstrate. Quoting from the book on Spark  "High Integrity Software, the Spark approach to Safety and Security " by John Barnes
" There is strong evidence from a number of years of use of Spark in application areas such as avionics and raliway signalling that indeed, not only is the program more likely to be correct, but the overall cost of development is actually less in total after all the testing and integration phases are taken into account"
SPARK will be familiar to programmers with knowledge of imperative languages such as C, Java and Ada. There is some effort involved with learning how to use the annotations correctly. 
A project using Spark would involve the development of reliable programs that can be proved correct by the Spark system.

Dr Lucy Hederman



ORI G.13


Apps for Health or Social Care

I will supervise projects where students come with an idea for an app or other system designed to improve health or social care. I will be advocating a user-oriented approach, with a strong focus on understanding what is actually likely to work, as opposed to technology for technology sake. As an example, people who live alone and are in good health may nonetheless fear that a few days might pass before anyone notices that they have not surfaced due to a fall or a heart attack. Design an app/service that intelligently and unobtrusively alerts loved ones to appropriate patterns of smartphone (non-)usage.

Develop a database for a health research project using RDF and GeoSPARQL.

This project will use semantic web technologies and goespatial tools to support a health research project. The project needs to work with location specific data about weather and air pollution and incidences of infection as well as clinical data, a person's activity data, and a wealth of other data that may correlate with the health condition of interest. You will be expected to provide tools to \"uplift\" data to RDF, to \"downlift\" data from RDF to formats requred by statisticians.

Knowledge Management.

I am open to suggestions within the broad realm of knowledge management, including the design and implementation of tools to leverage existing data and information in support of knowledge work. 

Updated 1 April 2016

Dr. Hitesh Tewari



Lloyd 131


Last Updated 30th May 2016

Fully Anonymous Transferable E-Cash (Assigned)

In this project we will further develop and implement an anonymous E-Cash scheme which allows for the unlimited transfer of coins within the network. The work builds upon the foundations of David Chaum's "Blind Signature Protocol"and combines it with the "Discrete Logarithm Problem" to allow for delegated signatures and anonymous transfer of coins. The system also makes use of "Blockchain" technology for the network participants to collectively verify the authenticity of coins in the system to prevent double-spending of coins.

The student who undertakes this project will be required to familiarize themselves with the number theory aspects of the cryptographic primitives used within the FATE system. They will be required to study and enhance the existing FATE protocols. More details about the FATE system can be found in this paper. Finally, they will be required to implement a working prototype of the system.

SSLChain - Secure Login App (Assigned)

The basic premise of the SSLChain technology is to make use of "Blockchain" technology to store and disseminate X.509 certificates. This project is a continuation of work that was carried out in a FYP in 2015/16 whereby the student built a basic prototype of the backend using the Bitcoin distribution, and developed a cryptographic add-on for Gmail.

In this project we would like to refactor the backend and make it more robust. We would then like to build a secure login application that allows for a one-time-password (OTP) to be sent to a user who is trying to login to a web service. This secure OTP mechanism will eliminate the need for passwords to be remembered by users for various websites that they use of a daily basis.

The student undertaking this project will be required to have a good understanding of cryptography, and in particular the specific protocols used within the SSLChain system (X.509, Blockchain, XMPP etc.). They will quickly need to familiarize themselves with the Bitcoin distribution and the current codebase. Finally, they will be required to develop a robust prototype that we hope to trail on the College network.

Secure Voting Protocols in the Irish Context of a Single Transferable Vote (Assigned)

You may remember the fiasco of the electronic voting machines that the state bought in 2002 at a cost of millions of Euros, and which were finally scrapped in 2012 because they were deemed to be unsafe, as no one could guarantee the correctness of the results produced by the machines.

Keeping that in mind in this project we would like to explore the state-of-art in secure voting protocols today, with a view of developing a system for the Irish context of a single transferable vote (STV) i.e. the proportional representation system that we have in Ireland. We would like to explore the possibility of using "blind signature" protocols, Blockchain technology, threshold cryptography etc. to try and solve the problem of electronic voting in Ireland.

The student that takes up this project will be required to develop a solid understanding of the Irish electoral system. They will be required to study in detail the state-of-art in the area of secure voting protocols which in itself is a challenge as this will require additional study of cryptographic primitives and number theory. As a result of our understanding of the above two we will then develop a secure STV protocol, and develop mathematical proofs to backup our claims.

Banning Cookies - What's Next? (Assigned)

As users have become both more aware and wary of cookies - the technology that tracks browsing activity for advertising purposes many people, therefore, avoid cookies, either by turning them off or using services that block them. Companies in turn have started experimenting with new tracking methods that don't use cookies.

One of those concepts includes "user-agent fingerprinting" a technique that allows a web site to look at the characteristics of a computer such as what plugins and software you have installed, the size of the screen, the time zone, fonts and other features of any particular machine. Another mechanism is to track users using some other persistent local/client side storage. Your browser transmits all sorts of information that has nothing to do with cookies. All of those things put together form a unique identity that can be assigned an identifying number and then used just like a cookie.

In this project we would like to explore the various new techniques that are currently being developed or used to track users. Armed with this knowledge we would like to develop a browser add-on (similar to ad-blockers) that will prevent transmission of machine/user specific information which allows organizations to track users.

Dr Jonathan Dukes



Room F.27, O'Reilly Institute

Firmware Updates for Bluetooth Low Energy Devices in the Internet of Things

Several projects related to this topic are proposed. Traditional firmware updates for the constrained devices we find in the Internet of Things (IoT) employ a very simple approach. An update controller transmits the new firmware image in its entirety to the target device. This is wasteful of constrained target communication and memory resources.

Alternative approaches that aim to reduce this cost are based on modular updates (updating a small part of the firmware only) and incremental updates (transmitting only the differences between the old and new versions.)

Projects in this area will investigate both of these approaches for constrained devices that communicate using Bluetooth Low Energy (BLE).

  • [TAKEN] Incremental Updates: This project will investigate the use of incremental over-the-air firmware updates for BLE Devices. The key contributions of the project will be (i) identification of one or more appropriate representations of the binary difference between two firmware viersions, (ii) extension of an existing BLE over-the-air firmware update protocol to support incremental updates, (iii) impementation of a prototype firmware update controller and target, including (iv) impementation of an algorithm to apply the firmware update in flash memory on the target device and (v) a performance evaluation of the prototype system.
  • [TAKEN] Modular Updates: This project will investigate the potential to perform modular updates of parts of the firmware on a target device. A number of approaches will be considered, but all approaches are likely to involve linking firmware modules on the target device, representing a significant departure from the "monolithic" firmware approach widely used in industry. The contributions of the project will be (i) identification of a suitable model for developing modular firmware (granularity), (ii) extension of an existing BLE over-the-air firmware update protocol to support modular updates, (iii) impementation of a prototype firmware update controller and target, including (iv) impementation of an algorithm to apply the firmware update in flash memory on the target device and (v) a performance evaluation of the prototype system.

Opportunities for a collaborative comparison of the prototypes developed by the above two projects will be explored, including opportunities to implement hybrid (incremental/modular) approaches.

Remote Patient Monitoring in the Internet of Things

Two projects are proposed in this area. Both will explore the application of emerging, standards-based Internet of Things transport protocols to remote monitoring of patients (biometric data). It will be assumed that monitoring (e.g. temperature, motion, blood pressure, heart rate, ECG, EMG) is performed by resource constrained, wearable devices.

In both cases, communication will be based on RFC7668 (IPv6 over BLUETOOTH(R) Low Energy) and other suitable higher-level protocols, making the constrained sensor nodes addressible IPv6 devices.

  • [TAKEN] On-Demand and Event Driven Remote Patient Monitoring: This project will explore two models for communicating biometric data from the constrained sensor device to a central or cloud-based service. In the on-demand model, sensors will store a small amount of recorded data in flash memory. By implementing a simple (standard-based?) query language, central services will be able to query the stored data, with query results transmitted back to the central service. In the event-driven model, in addition to storing data, sensors will communciate events of interest (e.g. when the measured heart rate exceeds some configurable threshold.) Again, the application of a standards-based protocol (e.g. MQTT) will be explored.
  • [TAKEN] Real-Time (live) Remote Patient Monitoring: This project will explore the feasibility of transmitting real-time biometric data (e.g. ECG, EMG, motion) data from strained sensor devices to a remote central server. Communication will be over Bluetooth Low Energy initially to a router, which will forward the data to a central or cloud-based monitoring service.
  • [TAKEN] Remote Patient Monitoring using LPWAN Communication

Last update: Friday 02 June 2017

Dr Jeremy Jones (updated 20-Sep-16)

F.11 O'Reilly Institute top floor

1.      Have you ever had difficulty remembering someone’s name? Imagine what it’s like being a lecturer standing in front of a large class trying to remember student names. The object of this project is to use a Google Glass equivalent and face recognition software to recognise student faces and project their names onto a heads up display in real time.

2.      In 2013, Intel introduced the Haswell CPU which supports retricted transactional memory (RTM) through the TSX extension to its instruction set. TSX can greatly simplify the implementation of many parallel algorithms. The objective of this project is to develop a self-tuning parallel implementation of a skip list (or any other interesting data structure or algorithm) that can determine dynamically the optimum settings needed to maximise throughput. This project would particularly suit students taking CS4021.

3.      Most of you will have used the Vivio animations as part of the CS3021/3421 Computer Architecture II module. The Vivio animations have now being re-implemented using JavaScript and HTML5 so that they are truly portable and can run in any web browser. The objective of this project is to implement a touch interface (in JavaScript and HTML5) so that the animations can be controlled on a phone or tablet where there is no mouse or mouse wheel.

4.      As stated above, the Vivio animation system is being re-implemented in JavaScript and HTML5. The system comprises a JavaScript runtime (vivio.js) and a compiler which converts Vivio source code into JavaScript (IDE written in VC++ and Qt). The compiler converts the parallelism visible to the Vivio programmer into JavaScript, which is ONLY single threaded. The object of this project is to improve the generated JavaScript code patterns and to add functionality such as classes within classes, functions within functions, more GObjs, more transitions, automatic testing etc. This project would particularly suit a student interested in compiler front and back ends.

These projects could form the basis of a final year project or year 5 dissertation.


Prof. Khurshid Ahmad

    My principal area of interest is in artificial intelligence, including expert systems, natural language processing, machine learning and neural networks. My other area of interest is in the ethical issues of privacy and dignity in the realm of social computing. I have recently finished a largish EU project on the impact of social media (monitoring) in exceptional circumstance ( ¨C this brings together social media analytics (natural language processing/image analysis), geolocation, and ethics. My research has been applied to price prediction in financial markets and in forecasting election results. The projects on offer in this academic year are:

  • 1. Social Media Analytics and monitoring:

    Microbloggs and social networks are large and noisy source of data that is valuable for marketing and sales specialists, law enforcement agencies, disaster NGOs, and policy makers. This project will help you in acquiring social media data, in using natural language processing techniques for processing this data, and techniques for visualise the results of the analysis. You will be expected to include a brief discussion of questions of privacy and ownership of social media users. A proficiency in Java and/or Python is required for this project.

  • 2. Sentiment Analysis:

    This is an exciting branch of computer science that attempts to discover sentiment in written text, in speech fragments and visual image excerpts. The sentiment is extracted from streams of texts (messages on social media systems, digital news sources) and quantified for inclusion into econometric analysis or political opinion analysis systems that deal with quantitative data like prices or preferences: the aim is to predict price changes or ups and downs of a political entity. You will write a brief note on questions of divulging identities of people and places. You have an option of developing your own sentiment analysis system or use a system developed in my research group.

  • 3. Machine Learning and Big Data:

    Large data sets, for example genomic data, high-frequency trading data, meteorological data, and image data sets, pose significant challenges for curating these data sets for subsequent analysis and visualisation. Automatic categorisation systems, systems that have learnt to categorise arbitrary data sets, are in ascendance. One fast way of building such systems is to integrate components in large machine learning depositories like Google¡¯s TensorFlow, MATLAB, Intel Data Analytics, to build prototype systems for text, videos, or speech streams for instance. Issues of data ownership will be briefly outlined in your final year project report.

Dr. Kenneth Dawson-Howe

I supervise projects which have a computer vision component (and most particularly in the area of object tracking at the moment!!). To give you a feel for this type of project have a look at some previous projects. For further information (about project organisation, platform, weighting for evaluation, etc.) see this page. If you want to talk about a project or suggest one in the area of computer vision my contact details are here.

The following are my proposals for 2017-18. If any of them catch your imagination (or if you have a project idea of your own in computer vision) come and talk to me or send me an email.

Illustration. Project Details.
Image linked from another site

(AVAILABLE) CPR Assistant & Assessment.Cardiopulmonary resuscitation (CPR) is a technique used to keep oxygenated blood flowing in the human body when the heart and breathing of a person have stopped. It is a repeated combination of chest compressions (30 in a 15 second period) and artifical breaths (2 within a 5 second period), and has to be continued until other measures are taken to restore spontaneous operation of the heart and breathing. This project aims to create a mobile phone based assistant which (through analysing a video of CPR being performed) will guide the person giving CPR in the rates of compression and the rates & timings of breathing.

Image linked from another site

(AVAILABLE) Lobster Pot Monitoring.Believe it or not sometimes people interfere with other people's lobster pots! This project aims to build a system which monitors the bouys of a number of lobster pots and identifies when they are removed. We will need to get ethical approval to record the video.

Image linked from another site

(AVAILABLE) Automatic Traffic Light Recognition. Develop a system to implement automatic traffic light recognition using the LARA dataset (

Image linked from another site

(AVAILABLE) A tool for organising personal photographs. Many people have years of digital photographs and videos organised into folders (or not) for each event or period of time. Most of the pictures will have peculiar names which are generated by the camera. The pictures

  • may come from multiple cameras,
  • probably have almost useless names (generated by the camera),
  • could have incorrect date information (as many digital cameras easily lose the current date and time),
  • may or may not have location metadata,
  • may be out of focus
  • may have poor contrast
  • may exhibit red eye
This project aims to create a tool to manage personal digital photos allowing photos to be grouped, renamed, identified with different levels of importance (so that short or long photo slide shows can be created), enhanced, annotated (describing what/who is pictured), etc. The scope of this project is up to the student…
Image linked from another site

(TAKEN) Detecting product placement OR smoking. Increasing advertising is being embedded into images and videos, and the detection of product logos has become of significant importance. Datasets of logo images are available (See and and this project aims to develop software to automatically detect product placement in videos (e.g. in movies), and perhaps develop a metric quantifying the amount of embedded advertising... Or we could look at how much smoking happens in a video...

Prof Doug Leith

The following projects are related to recent research in online privacy and recommender systems being carried out here in TCD, see They could form the basis of a Year 5 dissertation or of a final year project.

Recommending WiFi/4G Access Points/Cells

A recommender system collects information on items that a user likes/dislikes e.g. items which the user has bought, rated, viewed or clicked (such as a movie, hotel review, news item). By comparing this information with the information for other users, the system tries to predict which new items the user might like, to predict the rating which the user might give for a new item, what adverts/services are most likely to be of interest to the user etc. Such recommendations are often a core part of personalised web services. One popular approach to making recommendations (and which won the netflix prize) is based on matrix factorization, where a matrix R containing user-item ratings is approximated by product UV where the inner dimension of U and V is much smaller than the number of users or items (see reference below for more details). In this project the aim is apply this approach to recommending WiFi hot spots to users based on ratings supplied by other users plus information on their location etc. We will also investigate use of recent clustering approaches to enhance privacy, e.g. with regard to location. This project will require familiarity with matrices/linear algebra, probability and ideally python programming.
Reference: Y.Koren, R.Bell, C.Volinsky, 2009, "Matrix Factorization Techniques for Recommender Systems",

Privacy-Enhanced HTTPS

Recently a number of successful attacks have been demonstrated against encrypted HTTPS web traffic. Even though the contents of packets are encrypted, the packet size and timing information is often sufficient to allow details of the web pages being browsed to be inferred with high probability. Similar approaches can also be used to successfully attack VPNs and Tor. In this project we will look at possible defences against such attacks, focussing particularly on defending against timing attacks since these are amongst the hardest to defeat. The aim will be to implement recent server-side defences exploiting the push feature in HTTP/2 on either apache or node.js. The project will require good programming skills.
Reference: Feghhi,S., Leith,D.J., 2015, "A Web Traffic Analysis Attack Using Only Timing Information", Technical Report,


The project will involve implementing a peer-to-peer system for web cookie sharing/management. Our online "identity" is largely managed via cookies set by web sites that we visit, and these are also used to track browsing history etc. With this in mind, recently a number of approaches have been proposed for disrupting unwanted tracking by sharing and otherwise managing the cookies presented publicly to the web sites that we visit, the aim being to allow personalisation to still occur (so simply deleting cookies is not a solution) but avoiding fine-grained tracking of individual user activity. The project will involve implementing a browser plugin for cookie management and selection plus a service for cookie sharing. The project will require good programming skills.

Wireless Augmented Reality

There is currently much interest in adding augmented reality to mobile handsets. Augmented reality systems typically involve heavy computational burdens e.g. using deep learning to tag objects in the scene currently being viewed. This computation is offloaded to a server or the cloud. Currently most augmented reality systems are tethered i.e. connected to this server via wires, in order to ensure that there exists a high bandwidth low delay connection between mobile handset and server. In this project we will investigate the impact of replacing this wired link with a wireless WiFi/LTE link and using local processing within the mobile handset to mask network impairments (latency, loss). The project will involve android app development, image processing and simple socket/WebRTC programming.

Dr. Kris McGlinn

3D Building Information Modeling with Googles Tango

Googles project tango is a tool for smart phones and tablets for creating 3D models of buildings (or apartments) by simply carrying the device around! In this project you will explore the use of tango to develop 3D models, and examine methods for annotating and linking these models to existing building information models standard like IFC (Industry Foundation Classes). You will examine how objects are identified and labeled using the tango sdk, you will see if you can tag those objects and export them as IFC entities. You will see whether walls and other objects can be given additional properties, like materials and thickness. This integrated data can then be used for different applications, ranging from navigation too energy simulations.

Dr Richard Millwood

Room Lloyd Institute 0.29
Extension 1548

Keywords: education - programming - HCI - emulation - learning design

My background is in education and technology, I am course director for the MSc Technology and Learning. You can read more about me at and you can also have a look at my recently completed PhD by Practice.

Here are some areas of interest which may inspire a project, some based on my research plan:

1. Learning computer programming

Two ideas here:

  1. Developing in Blockly to meet some of the challenges made in my blog on Jigsaw Programming
  2. Constructing an online research instrument for tapping in to teachers' tacit knowledge about teaching computational thinking. This may be an extension using Python to an existing content management system such as Plone to add functionality for innovative interactive forms of survey.

2. Collaborative support in learning computer programming

This is directed at 'educational github' to suit young learners. The development will create an interface that better clarifies and support the roles and workflow in collaborative work online so that this can be more readily learnt in use. It is not clear exactly what software development would be appropriate and would suit someone with imagination and drive to be very creative.

3. UK National Archive of Educational Computing apps

The design and development of device-responsive educational apps (for mobile, tablet and web) based on historical educational programs, such as Snooker:

  1. Original Snooker - from 1978 in BASIC
  2. Prototype Snooker Angles - from 2013 as iPhone Web app

Key features are that the app includes a faithful emulation of the original educational program as a historical account, and that the modern app maintains similar educational objectives but may be updated to take advantage of new technology and new pedagogy. The app must be able to scale appropriately and work on phone, tablet and web page. This is an HTML5 development project using Scaleable Vector Graphics for interactive visuals.

I have a list of apps that I have prioritised to support the the UK National Archive of Educational Computing.

Dr Martin Emms



O'Reilly LG.18


I would be interested in supervised FYPs which centre around applying computational techniques to language.

Machine Learning and Word Meanings

An interesting question is the extent to which a machine can learn things about word meanings just from lots of textual examples, and there has been a lot of research into this (see Wikipedia intro), all based on the idea that different meanings show up in rather different contexts eg.

move the mouse till the cursor ...

dissect the mouse and extract its DNA ...

Several kinds of project could be attempted in this area, starting either from scratch or building on code that I could supply.

  1. One kind of system would do what people call unsupervised word sense disambiguation, learning to partition occurrences of an ambiguous word into subsets all of which exhibit the same meaning.

    Someone last year added the diachronic twist of attempting to recognise, from time-stamped text, that semantic matters concerning that word have undergone a change over a period of time: mouse (1980s) and smashed it (last 10 years?) have acquired novel meanings.

  2. Another possibility is to investigate to what extent it is possible to recognise that a particular word combination has a non-compositional meaning, that is a meaning not entirely expectable given its parts, for example that shoot the breeze means chat

There are a number of corpora that can be used to drive such systems, such as the Google n-grams corpus, spanning several hundred years (viewable online here, also available off-line)


I have interests in (and sometime knowledge in!) a number of areas in which a project would be possible

Projects Exploiting Treebanks
We have copies of several so-called treebanks, which are large collections of syntactically analysed English. Each treebank contains a large number of items of the following kind


One issue that such corpora allow the empirical exploration of is whether or not Multiple Centre Embedding occurs in English (left, right and centre embedding is illustrated below):

[S I think [S he said [S I'm deaf]]] right embedded
[NP$_{gen}$ [NP$_{gen}$ john's] father's] dog left embedded
[NP the candidate that [NP the elector that I bribed] chose] centre embedded

Tree distance
Ways to calculate the difference between two trees, and things you might do with that (a paper)

Lambek Calculus Categorial grammar
for anyone keen on Logic, a logic inspired way to do grammar

Continuations of projects from 15-16

Virtual Erasmus
Erasmus students spend a year of their study in a distant land. The idea is to simulate as much as possible of that process into a program that outgoing students could interact with, probably telescoping a year out into a few weeks. One part would be to emulate the bureaucratic obstacle course that such a year entails: you want to open a bank account, is it open Tuesday afternoons, have you got your residence permit, you want your residence permit, have you got your insurance, have you got another 3 passport photos ....

There is the possibility of continuing a development of this from last year

Someone wrote an interactive scrabble game, with computer opponent. This could be reworked and developed further.

DOM Projects

Dr. Donal O'Mahony



Dunlop-Oriel House


My projects (for 2016-2017 ) will center on themes related to networking, computer security and sustainability.  I will be adding to this list between now and September 2016

Protecting Against Blockchain (Bitcoin Technology) Failure

The core idea in the Bitcoin currency was the concept of a distributed ledger called a Blockchain.  The technology world is currently captivated by this and banks, stock exchanges and governments are ploughing huge investments into applying the technology in the form of 'smart contracts' for share purchase, simple bank accounts, complex derivatives, lotteries etc.  There is even a report of a couple who used  a Blockchain to record their pre-nuptial agreement!
While the Blockchain does do a good job of eliminating the need for intermediaries in establishing trust, it replaces this with an algorithm encoded in a structure where no one person or body is in control.   Students of computer science will know that algorithms can have bugs and unintended consequences.  Unlike when trusted individuals make mistakes, the Blockchain cannot easily be swayed by a court order.  This project will survey Blockchain and Smart Contract technology using Ethereum as the experimental envrionment.  The project will look at some recent failures reported in the news and come up with some categories of failure.  It will then try to design mechanisms whereby the failure can be contained or recovered from.
The project will involve developing an understanding of the Cryptography underlying Blockchain; use of Ethereum tools written in C++,Go and Java;; writing smart contracts in languages like Solidity - good programming skills, a knowledge of networking, crypto and perhaps UNIX skills would be good to have at the start and will defintely be present at the successful conclusion of the project.

Using the Blockchain as a general purpose identity mechanism

For many years now, users have used Public Key encryption to assert their identity on the net. A vital support tool for this has been Public Key Infrastructure (PKI) which allows people to link their 'identities' to their public key. One of the main thinkgs holding back digital identity is the difficulty in managing this public key infrastructure: establishing the link in the first place, dealing with lost or stolen keys etc.
Blockchain technology has potential to vastly improve on this - opening up a new digital identity system that can not only be used for electronic payment and participation in smart contracts, but can open up a whole new world of trusted network interaction. This project will investigate how this might be done on the Ethereum blockchain. It will draw lessons from the experience in PKI and also the work of startup companies in this space (e.g.

Electricity Trading Between Smart Nano-Grids

Today, we draw all of our electrical power from the electicity grid.  This is largely powered by fossil fuels and distributes power to consumers 24/7 based on a fixed price per kWh.  In an energy constrained future, it is more likely that energy will be generated in a distributed fashion from renewable sources such as wind and solar with limited amounts of storage (batteries) to help even out the peaks and valleys of supply and demand.  Managing the energy flows in such an environment will be challenging.  This project will invove developing computer processes that will control small inter-connected sub-sets of the grid known as Nano-Grids.  These will be implemented as Python programs running on the popular Raspberry Pi  computing device.    You will develop processes that communicate with each other in real-time over sockets/wi-fi.  Novel algorithms to allow auctions and game-theoretic approaches to matching supply and demand will be tried.  It will be helpful, but not essential, if you already have some knowledge of UNIX, Socket Programming, Python Programming, and perhaps some experience in programming hardware devices (to read voltage/current etc).
A number of projects will be run in this area that can operate on our prototype nanogrid hardware - These may include: A trading framework for Nanogrids. This will involve the development of aprotocl to conduct on-line auctions and other forms of dynamic price negotiation between nanogrids. It will draw inspiration from Stock Market trading systems, real-time electricity markets and Electronic Commerce Applications. User Preference Systems: This will try to solve the problem of eliciting from users the right parameters to drive the inter-nanogrid trading processes. This will allow users to express (in an easy intuitive way) how and when they want (say) their electric car charged, their clothes washing done etc. The specified desires will then be used to drive the trading process.
Declan O'Sullivan

Prof. Declan O'Sullivan

I am generally interested in projects in the area of data/information integration.

I also have an interest in the ethics of the use of technology in digital content technology. (see

Typically the projects I supervise use techniques such as linked data, semantic web, semantic mapping, and XML-based technologies such as RDF, SPARQL, OWL and SPIN.

There are also opportunities to work on aspects of research ongoing within the Science Foundation Ireland ADAPT centre focusing on Digital Content Technology, and ongoing digital projects with the TCD Library and Ordnance Survey Ireland .

Professor Carol O'Sullivan

Updated: 04/10/2016

I am interested in supervising projects related to physical interaction and response in virtual and augmented reality. If you have an idea for another related project, we can also discuss that.

Virtual Reality (VR) involves immersing yourself in a virtual world, perhaps wearing a head-mounted device such as the Oculus Rift or the Microsoft HTC Vive. It can also involve a large projected environment or even a normal desktop monitor.

Augmented Reality (AR) usually involves remaining fully or partially in the real environment, but augmenting that real environment with virtual objects, characters and other graphical elements. These virtual augmentations can be delivered through a device such as the new Microsoft Hololens or similar headset. It need not, however, involve wearing any glasses or device, and the virtual objects can be projected onto the real world surfaces.

I am interested in interactions between the user, objects and the environment in such systems, and in particular in ensuring that the physics of objects is plausible and/or accurate. Therefore, I am proposing several project areas to explore these issues further. You will need to have a reasonable understanding of computer graphics and/or computer vision in order to undertake one of these projects. If you are interested, and have the necessary experience, please email me and we can meet to discuss.

Capturing the physics of real objects

Check out this paper for an idea of what might be involved. (Image from the paper)

Interactions with real objects

How do you drop or throw a virtual object in AR or VR so that the physics are believable or accurate? (Image from Ironman movie)

Interactions with real environments

How do you create the illusion of physical objects interacting with a real environment and the user? (Photo of Goofy's playhouse in Disneyland Tokyo. Checkout the video here)

Interactions with characters

How do you create the illusion of virtual characters physically interacting with a real environment? (Image from MotionBuilder, though we may not necessarily use this system...)

Prof Owen Conlan

Location: O'Reilly Institute, Room F.29 Phone: +353-1-8962158

Supporting the construction of Visual Narratives

Available Research in narrative visualisations or visual narratives has been growing in popularity in the Information Visualisation domain and in online journalism. However there is limited support offered to authors in constructing visual narratives, specifically non-technical authors.

This project will aim to advance the state of the art in visual narrative construction by supporting authors to build visual narratives, namely the visualisation in the narrative including automatic sequencing between the visualisations.

In the first instance, contact Dr Bilal Yousuf

Visualised Search

Available Modern internet based search prizes precision over recall, striving to present users with a select few relevant resources. Users can quickly examine these resources to determine if they meet their needs. There are other situations, such as patent search or performing research on Medieval corpora, where recall, i.e. retrieving all relevant documents, is essential. This project will examine visual techniques to support users in determining and refining recall in a search environment. The project builds on over 10 years of Personalisation, Entity-based Search and Visualisation work surrounding the 1641 Depositions and more recent work on the 1916 Pension Statements.

In the first instance, contact Prof Owen Conlan


Available The ethical implications of modern digital applications is growing as they encroach on more and more aspects of our daily lives. However the techniques available for analysing such ethical implications struggle to keep up with the pace of innovation in digital businesses, and tend to require the mediation of a trained ethicist. The Ethics Canvas is a simple tool to enable application development teams to brainstorm the ethical implications of their designs, without oversight of a trained analysts. It is inspired by Alex Osterwalder’s Business Model Canvas which is now very widely used in digital business formation. The Ethics Canvas exists both as a paper-based layout and as a responsive web application (see Currently the online version can only be used by individuals, but cannot be used in the collaborative mode that is a key benefit of paper version. This project will extend the ethic canvas implementation to support remote collaborative editing of the canvas. User should be able to form teams and then review, make changes, comment on discuss, accept/reject changes and track/resolve issues. Further, the digital application development community could benefit from sharing previous ethical analyses using the online ethics canvas. The benefit of such sharing would be magnified if it led to a convergence in the concepts used in different canvas analyses. Therefore the project will allow teams to publish their canvas into a public repository and to annotate its content with tags from a shared structured folksonomy, i.e. a community-formed ontology capturing concepts such as different types of users, user groups, personal data, data analyses, sensor data, and risks. Within an individual canvas, tags can be used to link entries in different boxes to provide more structure to the canvas. The aggregation of tags from different completed canvases forms a folksonomy that can be made available as an open live linked-data data set and searchable by ethics canvas users."

In the first instance, contact Prof Owen Conlan

Dr. Marco Ruffini

Final year projects:

End-to-end capacity reservation in Software Defined Networks

Software Defined Networks have revolutioned computer networks, by introducing a means to enhance network programmability through the use of standardised and open access interfaces. The aim of this project is to implement an end-to-end capacity reservation mechanism across aggregation and core networks based on the use of stacked Multi-Protocol Label Switching (MPLS) labels. User requests are forwarded to a centralised controller that takes into account available capacity to allocate the requested capacity over an end-to-end link. A background in network programming and python programming language is strongly advised

Prof. Siobhan Clarke



Lloyd 1.17


I am interested in software systems that make cities smarter! Below are some examples that I am co-supervising. If you have any ideas of your own for smart cities - e.g., smart transport, smart energy management, smart water management, do please contact me, as I am happy to supervise projects in this area.

Co-Supervised with Dr. Mauro Dragone

HeatMap App (Participatory version)

The goal of this project is to build an Android application that can be used to assess the number of users present at the entrance of museums, shopping malls, in buses and around bus stops, art exhibitions, car parks, or any other public, shared places where people occasionally congregate and/or queue. To this end, the student will build a solution using one of the available frameworks for peer-to-peer communication between multiple handsets [1].

HeatMap App (Vision version):

The goal of this project is to build a system that is able to estimate the length  of the queue of visitors waiting to enter a museum, art exhibition or other place of public interest,  such as the Old Library and the Book of Kells Exhibition in Trinity College. The student will use a Galileo single-board computer and a pan & tilt camera, and will develop a computer vision algorithm using the OpenCV library [2] to segment, track and count people in the queue. There is also scope to develop adaptive solutions to account for different visibility conditions, and to build an Android application.

Bus Tracker:

The goal of this project is to build an Android application to infer and gather useful knowledge about the travel habits of users carrying smart mobile phones. Specifically, the target application should be able to recognize which public transport route (e.g. train, bus, LUAS), and between which stops  the user is currently traveling. The student will use current publish/subscribe and middleware for location-aware applications, such as [3][4][5], and ]investigate the adoption of machine learning techniques, such as neural networks, to classify routes based on the analysis of  streams of noisy sensor data.

Extension of Funf:

The Funf Open Sensing Framework [6] is an extensible sensing and data processing framework for Android mobile devices. The core concept is to provide an open source, reusable set of functionalities, enabling the collection, uploading, and configuration of a wide range of data signals accessible via mobile phones. The goal of this project is to extend Funf with support for peer-to-peer communication between multiple handsets, in order to enable the coordination of the efforts of multiple users involved in participatory sensing campaigns.

Urban GeoLocation:

The goal of this project is to assess and improve the ability to locate users carrying smart mobile phones while driving, cycling, or simply walking along urban pathways. In particular, the student will tackle the problems suffered by GPS-based location in urban environments, where the signals from the positioning satellites are often blocked or bounced off buildings and other structures. Contrary to existing approaches which try to explicitly account for these  phenomena, the student will assess the benefits of using multiple sensor data and the feedback gathered from multiple users over time, to build solutions that are able to exploit the power of the crowd to acquire complex models and improve their accuracy over time. The work will require the student to familiarise themselves with Particle Filter [7] as the overall framework that is likely to be used to integrate the various components of this project.


The goal of this project is to develop an Android application using the sensordrone kit [8]. Sensordrone is a modular device the size of a key-chain, equipped with temperature, luminosity, 3-axis accelerometer and air-quality sensors. The device can be paired with the users' mobile phone over low energy bluetooth. A number of useful applications may be built by exploiting the combination of sensors available on the Sensordrone and the sensors and the geolocation functions available on the user's smart phone. Of particular interest are applications targeting:

  • Road quality information - is the road deteriorating in specific locations? E.g. early pothole formation identification
  • Bike scheme monitoring - real time info. on where and when the cycle fleet is being used and what the cycles are encountering.
  • Map urban pollution data information - noxious gases, noise, temperature.
  • Cyclist routing - using information on pollution, journey times for bikes, stats on areas where cyclists swerve or brake suddenly.
  • Localised weather alerts for cyclists (and potentially data collection on the device)

Smart Home Projects:

Project ideas are also welcome for projects addressing the development of smart home services and their integration within city-wide participatory sensing frameworks [9]. The student will be required to develop software prototypes for the OpenHAB open source software platform for home automation [10]. A range of hardware is available for these projects, including a  single board computer and home automation sensors and actuators, such as occupancy sensors, energy monitors and wireless switches.

Links to relevant technologies and further readings:

[1] Peer-to-peer frameworks for Android:,,,
[2] OpenCV: http://www,
[3] MQTT:
[4] OwnTracks:
[5] Google Pay services for Android developers:
[6] Funf:
[7] Particle Filter: ,
[8] SensorDrone:
[9] CityWatch:
[10] OpenHAB:

Co-Supervised with Dr. Ivana Dusparic

Smart energy grid: Intelligent Residential Demand Response

The European Union's 2050 roadmap is resulting in the increasing penetration of renewable energy sources and electric vehicles (EVs) in Europe. In Ireland, it is expected that 80% of electricity will come from renewable sources by 2050, and 60% of new cars sold in 2050 will be electric. As a consequence, the electrical energy grid is facing significant changes in the supply of resources as well as changes in the type, scale, and patterns of residential user demand.

In order to optimize residential energy usage, demand response (DR) techniques are being investigated to shift device usage to the periods of low demand and to the periods of high renewable energy availability. DR refers to modification of end-user energy consumption with respect to their originally predicted consumption patterns.

This project will investigate use of intelligent learning-based techniques in implementation of large-scale DR aggregation techniques suitable for residential customers. Some of the aspects to be addressed within the scope of the project include: household energy use learning and prediction (as enabled by e.g., smart meters or smart heating devices like Nest and Climote), evaluation of centralized vs decentralized DR approaches, responsiveness of techniques to different usage patterns and different renewable energy generation patterns, types of devices most suitable for DR programmes (e.g., heating, EVs) etc.

Smart energy grid: Home energy usage prediction and optimization based on sensor data

This project will investigate how can home energy usage be learnt, predicted and optimized. Patterns of energy use can be learnt and predicted based on historical occupants' behaviours (e.g., learning that the user generally leaves for work at 8:15am, plays football after work on Wednesdays, goes out straight after work on Fridays etc), combined with various sensors and data sources to provide more accurate amended predictions (e.g., mobile phone calendar, GPS location of the user, level of battery charge in electric vehicle, outside temperature etc). Use of learning and intelligent agent techniques will be investigated and applied to learning the observed patterns and establishing demands and constraints on user device usage (e.g., the duration of charging an electric vehicle will require based on the duration of daily trip, the time heating needs to be turned on to achieve optimal temperature by user arrival time, estimated time why which hot water is required for the shower etc). Multi-objective optimization techniques will then be applied to schedule required device usage so as to satisfying their use requirements and constraints as well as desired policies set by users (e.g., minimize energy price, maximize use of renewable energy etc).

Untitled Document

Prof. Seamus Lawless

I supervise projects in the areas of Information Retrieval, Personalisation and Digital Humanities. The common focus of these projects is the application of technology to support enhanced, personalised access to knowledge. If you would like to talk about a project or suggest one in these areas, my contact details are here.

Project Details.

Personalised Talent Search on LinkedIn. Summary: The main idea behind this project is to help employers find suitable employees on LinkedIn. Every corporation has its own culture, background, and core business etc., so different corporations will have different requirements, even for identical positions. Information related to the corporation can be used to 'personalise' the search for talent, with the purpose of helping corporation HRs efficiently and accurately find the talent they need. As part of our existing research in this area, we have collected over 300,000 LinkedIn profiles. Experiments can be conducted on these profiles to evaluate the methods to be proposed.

The Search for the Searcher: User Identification using Web Search Log Mining. Summary: When making decisions about how best to support users in web search, it is extremely helpful if we can determine who they are, why there are searching and how they interact with the search site. This type of information can be difficult to obtain, particularly when users are anonymous. Server log files contain a huge amount of information about user actions: what pages they viewed; what queries they issued; how much time elapsed between interactions with the site. But there is a deeper meaning behind this data. Buried within the contents of a log file is a rough outline of who each user is. Are we watching a novice investigator gradually learn about a topic? Do we see them refine the precision of their question based on new knowledge? Are we witnessing an expert scholar, rapidly issuing specific, targeted queries as they gather sources for their research? Did they find an answer to their question? If so, how much effort did it take for them to complete their search? How does their behaviour change depending on what the site presents? How does the relevance change as the user expertise and interactions change? This project will investigate the mining of a large search log with the aim of deriving information about the users' interests and levels of expertise [1].

[1] Zhang, Junte, and Jaap Kamps. "Search log analysis of user stereotypes, information seeking behavior, and contextual evaluation." Proceedings of the third symposium on Information interaction in context. ACM, 2010.

Relevance in Web Search: What Makes and Answer the Right Answer? Summary: When making decisions about how best to support users in web search, it is extremely helpful if we can determine who they are, why there are searching and how we can satisfy their information needs. This type of information can be difficult to obtain, particularly when users are anonymous. Server log files contain a huge amount of information about user actions: what queries they issued; what pages they viewed; how much time elapsed between interactions with the site. But there is a deeper meaning behind this data. Buried within the contents of a log file is a rough outline of who each users is and how they tried to satisfy each information need expressed as a query. For instance, if we observe a user issuing a query, for 'The Book of Kells', what pages on the website seemed to provide the most satisfying response? This project will investigate the notion of 'relevance' in search queries. This is an extremely challenging problem as we are trying to interpret our user's behaviour from a distance and with limited context. Is a user spending a long time on a page because they find it interesting, or have they simply left their computer to make a cup of coffee? How does the relevance of a result change as a user's expertise and interactions change? This project mine a large search log with the aim of deriving information about relevance in search sessions [1].

[1] Zhang, Junte, and Jaap Kamps. "Search log analysis of user stereotypes, information seeking behavior, and contextual evaluation." Proceedings of the third symposium on Information interaction in context. ACM, 2010.

Perception of Trust in Search Result Presentation. Summary: When searching for content online, trust in the impartiality of the search algorithm and the ranking and presentation of results is of paramount importance. Different users display varying levels of trust, and this trust can be impacted by the design of a search interface and the visual aspects of results presentation. This project will investigate user characteristics and the design and common features of search interfaces which impact users' perceived level of trust. An evaluation will be conducted on a collection of well-known search sites. Each site will be 'distorted' by removing or adding visual features of the website design. Users will then be asked to rate their trust of each website. An in-depth statistical analysis of the results will be performed.

Kicking them while they're down. Summary: Previous research has been conducted into bias in the images used in news. It was shown that certain newspapers were prone to using unflattering images of politicians whose position they opposed, and more flattering images of politicians they supported or had endorsed [1]. We propose updating and extending this study. We aim to examine news media's likelihood of using good or bad images based on individual politicians' popularity ratings. The intuition is that it is more probable that news media will use unflattering images of politicians whenever they have a 'bad week'. It would also be interesting to look at the use of images of politicians in relation to specific political issues, for example, images of An Taoiseach Enda Kenny used in articles related to the "Repeal the 8th" when compared to pictures of Mr. Kenny on news articles related to jobs announcements.

[1] Barrett, A. W., and Barrington, L. W. (2005). Bias in newspaper photograph selection. Political Research Quarterly, 58(4), 609–618.

Imagery in Political Propaganda. Summary: Previous research has been conducted into bias in the images used in news. It was shown that certain newspapers were prone to using unflattering images of politicians whose position they opposed, and more flattering images of politicians they supported or had endorsed [1]. However, limited research has been conducted into the imagery that political parties themselves use in the content they generate. We propose a study into the images used in election material to investigate which political parties used the least flattering images of their opoosition party members, for political purposes. This study does not need to be limited to Ireland, however, an archive of election material from GE16 does exist, including leaflets related to contentious issues such as Irish Water [2].

[1] Barrett, A. W., and Barrington, L. W. (2005). Bias in newspaper photograph selection. Political Research Quarterly, 58(4), 609–618.


Credibility in Graphical Presentation of News Content. Summary: This project will investigate the credibility of graphics used in news media cotent to assess if there is a pattern of Accuracy / Bias / Trust / Credibility / Fairness etc. Previous research has demonstrated that it is possible to design and communicate misleading graphics and other visual representations of statistical information. It has also been shown that bias exists in the content of news articles, what about the information news media provide us in other formats? This project will examine a number of news items which have been covered in the media to a significant extent. e.g. Ireland's Bailout etc. We will identify articles which have used graphics to summarise and explain the issue. The researcher will then create, as much as is possible, an independent and accurate depiction of the same information using current information presentation guidelines. A comparison study can then be conducted to measure peoples' opinion of each representation with relation to any/all of Accuracy / Bias / Trust / Credibility / Fairness etc. The intuition is that certain news media sources are more likely to use biased graphics than others.

Dr. Stefan Weber



Lloyd 0.32


This year I will be offering projects that are in the general area of distributed systems, information-centric networking, wireless sensor networks and mobile games. My interests include wireless communication among mobile devices such as laptops, mobile phones and embedded devices. Below are a number of projects that cover some of my interests. if you have an idea for an interesting project that involves any of the areas above, please get in touch.

Message Adaptation in the Internet of Things

Transport protocols such as the Transmission Control Protocol (TCP) were developed to support the transfer of files from a source to a destination. The development of the architecture of the Internet has The Internet of Things will present a significant challenge for the current Internet architecture if large numbers of sensors transmit individual small messages. This project will investigate the effect of small messages on routers in the current Internet architecture and develop a solution that attempts to prevent the flooding of networks with small messages.

Game Design using Information-Centric Networking

Information-centric networking enables the caching of content within infrastructure components in a network in order to reduce network traffic and latency. This project will investigate the design of a communication protocol for games based on an information-centric approach such as NDN/CCN.

Design Characteristics of Honeypots - with an Aim to Study Botnets

This project will investigate the design of honeypots and the available information of botnets and develop a design for a honeypot that will allow the gathering and evaluation of information about the distribution and design botnets such as their size, use, etc. As a means to study these botnets, a honeypot or set of honeypots should attract the attention of botnets, collect samples of the communication of these networks and provide an analysis of the collected traffic.

Adaptive Communication in Mobile Networks

Communication between sets of mobile devices in networks such as 3G/4G networks generally rely on well-known hosts that coordinate the communication between the devices. Similar to approaches to multicast communication, this project will investigate the development of a protocol that allows the adaptation of communication from an initial centralized model via a rendezvous node to a distributed model where the devices will communicate directly with one another.

Warning: include(/users/staff/tfernand/StudentProjects/main.2016-2017.shtml): failed to open stream: Permission denied in /srv/scss/StudentProjects/index.php on line 593 Warning: include(): Failed opening '/users/staff/tfernand/StudentProjects/plink.shtml' for inclusion (include_path='.:/usr/share/php:/srv/scss:/srv/scss/Local') in /srv/scss/StudentProjects/index.php on line 593

Dr. Vasileios Koutavas

Areas of interest: programming language implementation and theory, concurrent and distributed systems, formal methods, software verification.

A number of projects are available in these areas which involve the development of part of a compiler, or the use of tools such as Why3 and Coq for verifying software systems. Theoretical projects are also available. These projects are particularly suitable for students who have taken at least one module on compilers, software verification or programming languages.

Dr Carl Vogel





All projects include review of the relevant literature, and where appropriate, argumentation in support of analyses given.

Note that implementation is not an essential component of every project in computational linguistics -- there's definitely more to the field than computer applications -- however, formal rigor is quite essential.

Don't worry if you don't recognize the name of the systems/languages mentioned. If the theme itself interests you we can sort out the technical details in person. Of course, these are all just suggestions, we're assuming that the final project description will be individually tailored in most cases.

Students who do projects with me will agree to regular weekly meetings at which we discuss the preceding week's work, and plans for the following week's. The initial weeks typically involve a considerable amount of diverse readings. Students intending to work with me on their project are encouraged to contact students who have done projects with me in the past. (See here for some details on that.)

Some project possibilities actually contains several constituent project possibilities, some of which may be feasible for students not taking part in the CSLL degree, the rest of that project and also the other projects on the list are quite well suited to CSLL 4th year students.

  1. Develop an HPSG (Head-driven Phrase Structure Grammar) grammar for a fragment of Irish and Implement it in the LKB focusing on the syntax of one of the following construction types:
    • Noun Phrases
    • Embedding Verbs
      1. proposition embedding verbs
      2. question embedding verbs

    Some examples of comparable projects are available for Irish, French, and German.
  2. Design and implement a chart parser for a CFG grammar with a dominance interpretation for phrase structure rules. This is essentially a framework for underspecified semantics. A disambiguation method must also be provided.
  3. Extend the semantic coverage in one of one of the frameworks included in the CLEARS (Computational Linguistics Education and Research Tool for Semantics) system.
    Particular areas of interest might be: negation, spatial modifiers, belief reports. An example of a project that did this in the past is available here.
  4. Extend the functionality of a generic interface for web-based experimentation in cognitive science (this will involve empirical research in an area of cognitive science to be agreed upon).
    This offers several possible topics and with varying degrees of implementational requirements. For all, some implementational extensions to the underlying system are necessary. Some will involve more or less actual experimentation using the system. Previous stages of the system are described, among other places, here, here, and here.
  5. Improve on the design and implementation of a web based multiplayer scrabble game, with the feature that point assignments to letters are calculated dynamically, on the basis of frequencies derived from corpora. A description of the base system is provided here. An extension of that work is described here here. There are many delightful ways in which this work can be extended. One example is including a facility for team play. Another is in implementing an automated player that humans can choose to play against.
  6. Extend and experitment with a platform for experimenting with models of dynamic systems, with particular attention to modeling evolution of linguistic behaviors. A starting point is described here, subsequent work is described here.
  7. Extend work on utilities for statistical analysis of linguistic corpora and apply them to specific tasks such as detection of grammatical errors, and automated correction suggestion.
  8. Develop and validate lexical resources for sentiment analysis.
  9. Develop methods within computational stylistics for investigating text-internal linguistic variables with external variables using large online textual resources. A comparable project is described. here.
  10. Develop methods for tracking events under varying descriptions in journalistic prose.
  11. Develop a Prolog implementation simulating the operation of theories in dynamic semantics.
  12. Develop a Prolog implementation of real-time belief revision systems.
  13. Extend an automatic crossword generator implemented in Java and Prolog. Documentation of its state in 2003 state is available here A more recent version is documented here. One avenue in which to extend this is to establish it as a system fully anchored on the Suns, with application in language learning and other topical areas.
  14. Develop online tools for other forms of fun with words -- an innovative anagram server, a crossword clue generator, etc.
  15. Formal syntactic and semantic analysis of dialog. Example past attempts at this are available here and here.
  16. Extend a computational model of Latin morphology, with lexical lookup to achieve Latin to English Machine Translation.
  17. Extend a prototype grammar checker for Irish implemented in Prolog, integrating it with a spelling checker for Irish.
  18. Implement an efficient spelling checker for Irish in java, in the context of a webserver that collects words and their frequencies of use in checked documents, along with some other utilities for corpus linguistics.
  19. Parse a large Irish-English Dictionary (the O Donaill). A description of the comparable project is provided here, and here.
  20. Projects in psycholinguistics. Past Examples appear here, here, here and here.
    Some specific topics I would like to explore further:
    1. Linguistic priming and unconscious coordination in written communication.
    2. Incorporate an Irish language spelling checker and general proofing tools facilities into StarOffice/OpenOffice.
    3. Degrees of grammaticality and acceptability.
    4. Human reasoning with mildly inconsistent information.
    5. Computational stylistics (corpus driven syntactic and semantic analysis).
  21. Some general purpose utilities that can replicate standard offerings such as "DoodlePolls" and shared calendars, but with local data stores that accommodate varying levels of privacy and data protection.
  22. Develop tools to harvest from online sources a multi-lingual database of named entities.
  23. Build computational tools in support of structuralist analysis of myth and mythic-metaphorical representation (in the style of Levi Strauss).
  24. Topics in collaboration with Dr. Maria Koutsombogera: Analysis and modelling of multimodal and multiparty interactions. The projects will exploit a newly created corpus of multimodal interactions between three participants. The objective of the projects is to address some of the challenges in developing intelligent collaborative systems and agents that are able to hold a natural conversation with human users. A starting point in dealing with these challenges is the analysis and modelling of human-human interactions. The projects consist in the analysis of the low-level signals of speakers (e.g. gaze, head pose, gestures, speech), as well as the perception and inference of high-level features, such as the speakers' attention, the level of engagement in the discussion, and their conversational strategies. Some examples of similar work are documented here and here. Indicative literature is available here. Samples of other existing corpora will also be made available to interested parties.
    1. Prediction of the next speaker in multiparty interactions based on multimodal information provided by the participants' (a) gaze, (b) head turn/pose, (c) mouth opening and (d) verbal content.
    2. Measuring participants' conversational dominance in multiparty interactions by exploring (a) turn length, (b) speech duration, (c) interruptions (d) feedback responses and (d) non-verbal signals (mouth opening, gaze, etc.)
    3. Create a successful attentive listener: investigate and decide upon the features that constitute an active listener, based on the analysis of feedback responses, as well as their frequency, duration, and intensity.
    4. Prediction of success in collaborative task-based interactions: investigate the factors on which the perception of the success on a task depends. This will involve a series of perception tests examining the team role of the speakers and their conversational behavior.
  25. Topics in collaboration with Dr. Erwan Moreau: supervised and unsupervised methods for author verification and related application.
    The author verification problem consists in identifying whether two texts A and B (or two groups of texts) have been written by the same person. This task is the keystone of authorship-related questions, and has a range of applications (e.g. forensics). This problem can be addressed in a number of different ways, in particular in a supervised or unsupervised setting: in the former case, an annotated set of cases is provided (each case is a pair of texts A and B, provided with "yes" or "no" depending on whether A=B); in the latter case, no answer is provided.
    Given the availability of several datasets as well as a state of the art authorship software system, the project consists in exploring a certain aspect or application of the topic, for example:
    1. What makes a case more difficult to answer than another? The task would be to study this question through experiments, and then implement a method to predict the level of difficulty of a given case.
    2. Design and implementation of a web interface around the authorship system, possibly presented as some kind of game with text.
    3. While ML systems can be good at giving the right answer, they are not always able to give a human-understandable explanation of the result. The task would consist in studying how to explain the results of some of the methods.
    4. It is harder to answer the question of authorship verification across genres (e.g. by comparing an email and a research paper). One way to improve the system in this case is to distinguish the features which are related to the author from those which are related to the genre.
  26. Other topics to appear.
  27. Still other topics to be agreed upon individually.

Last Modified: Tue Sep 20 14:39:49 2016 (vogel)

Last updated 8 May 2017 by .