FYP Projects 2016/17 and Proposals for 2017/18
1. Introduction
The information on this page applies to students taking final year projects, Year 5 dissertations, and M.Sc. dissertations in the School of Computer Science and Statistics under the following programmes:
- BA (Mod) in Computer Science
- BA (Mod) in Computer Science and 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)
- BA (Mod) Mathematics
- Master in Computer Science (MCS)
- Master in Computer Science (M.Sc.)
- MAI in Computer Engineering
2. Guidelines for students
Important dates and deadlines for academic year 2017/18
| Course | Activity | Date |
|---|---|---|
| Integrated Computer Science (Yr 4) | Project Selection | Fri Oct 13, 2017 |
| Final Year Project | Project Demonstration Period | April 16-20, 2018 |
| Project Presentation Material and Poster Submission Date | Mon Apr 30, 2018 | |
| Project Report Due | Thu May 3, 2018 | |
| Project Presentation and Poster Session | Fri May 4, 2018 | |
| Integrated Computer Science (Yr 4) | Internship Details Form Submission Date | Fri Dec 15, 2017 |
| Internship | Goals Document Submission Date | Fri Feb 9, 2018 |
| Poster Submission Date | Mon Apr 9, 2018 | |
| Poster Presentation Date | Thu Apr 19, 2018 | |
| Mid Point Submission of Reflective Diary | Fri Apr 27, 2018 | |
| Technical Report Submission Date | Tues Aug 7, 2018 | |
| Final Submission of Reflective Diary | Tues Aug 7, 2018 | |
| Master in Computer Science (Integrated, Yr. 5) | Project Demonstration Period | Mon May 21, 2018 & Tues May 22, 2018 |
| Project Presentation Material and Poster Submission Date | Mon May 21, 2018 | |
| Project Presentation and Poster Session | Thu May 24, 2018 | |
| Dissertation Submission Date | Fri May 25, 2018 | |
| Master in Computer Science (M.Sc.) | Research Supervisor Confirmed | Wed Nov 15, 2017 |
| Research proposal written up and shared with supervisor for signing off |
Thur Dec 14, 2017 | |
| Signed off research proposal submitted | Fri Dec 15, 2017 | |
| Ethics applications deadline for any dissertation where a human study/trial is an integral part of the dissertation. | Fri March 2, 2018 | |
| Project Demonstration Period | Mon 6th - Friday 17th August, 2018 | |
| Submission date for printed and bound copies of the dissertation | Thur August 30, 2018 | |
| Computer Engineering (Yr 4) | CS4E2/CE4E2 Ethics Clearance Application Deadline | Mon Dec 11-Fri Dec 15, 2017 |
| Project Demonstration Period | April 16-20, 2018 | |
| Final Year Project | Project Report Due | Thu May 3, 2018 |
| Computer Engineering (Yr 4) | Internship Details Form Submission Date | Fri Dec 15, 2017 |
| Internship | Goals Document Submission Date | Fri Feb 9, 2018 |
| Poster Submission Date | Mon Apr 9, 2018 | |
| Poster Presentation Date | Thu Apr 19, 2018 | |
| Mid Point Submission of Reflective Diary | Fri Apr 27, 2018 | |
| Technical Report Submission Date | Tues Aug 7, 2018 | |
| Final Submission of Reflective Diary | Tues Aug 7, 2018 | |
| Master in Computer Engineering | CS5E2 Research Methods - Preparation of a Research Proposal | Mon Nov 6- Fri Nov 10, 2017 |
| CS5E2 Research Methods - Presentation of Research Proposal | Mon Nov 6- Fri Nov 10, 2017 | |
| CS5E1 Ethics Clearance Application Deadline | Mon Dec 11-Fri Dec 15, 2017 | |
| CS5E1 Interim Report Due | Mon Dec 11-Fri Dec 15, 2017 | |
| CS5E2 Research Methods - A short discussion on research ethics related to CS5E1 | Fri March 2, 2018 | |
| CS5E2 Research Methods - Research paper submission | Mon April 16, 2018 | |
| Project Demonstration Period | Mon May 21, 2018 & Tues May 22, 2018 | |
| Dissertation Submission Date | Fri May 25, 2018 | |
| Management Science and Information System Studies | Interim Presentations | Mon Dec 4, 2017 - Fri Dec 8, 2017 |
| Project Report Due | Thu March 22, 2018 |
|
| Computer Science & Business / Business and Computing | Project Demonstration Period | April 16-20, 2018 |
| Project Report Due | Thu May 3, 2018 | |
| Computer Science Linguistics and Language | Project Demonstration Period | April 9-13, 2018 |
| Project Report Due | Thu May 3, 2018 |
* 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:
-
BAI Dr Mike Brady BA (CS) Dr Kenneth Dawson-Howe BA (CSLL) Dr Martin Emms BA (B&C) Dr Hugh Gibbons MSISS Dr Brett Houlding Mathematics Dr Brett Houlding
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 Final.Year.Project.Coordinator@scss.tcd.ie
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:
Notice: Trying to get property of non-object in /srv/scss/StudentProjects/index.php on line 570
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.
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, M.Sc., 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 WhiteUpdated 29/09/17. email: arwhite@tcd.ie or phone +1062. I am based in room 144, Lloyd Institute. I am interested in problems in computational statistics, where we use algorithms to infer the parameters of a model. The following project areas are suitable for MSc students taking the Data Science strand. I'm afraid that I'm unable to supervise final year undergraduate students this year. In all cases a good working knowledge of statistical methods, e.g., maximum likelihood estimation, Bayesian inference, and Monte Carlo methods will be helpful, and a general interest in statistics will be essential. Each project will be expected to involve:
Scalable clustering methodsMode-based approaches are a popular way to perform clustering in a principled and coherent framework. The standard approach to clustering involves running an iterative algorithm that computes summary statistics using the entire dataset at every iteration. In this project we would investigate alternative approaches that locally re-assign observations to different clusters. There is scope to parallelise elements of this algorithm, or to cluster only a subset of the data at a single iteration. This would make it possible to scale up the clustering method to much larger datasets.
Social network analysis involves studying the relationships between a set of objects. In many situations, there are patterns to the types of relationships that are formed - for example, communities of people who are more likely to link to each other than to other people in the network, and leader/follower dynamics. The stochastic blockmodel is a popular statistical method for detecting these patterns. The project would involve investigating novel several areas of interest, including overlapping community detection, degree corrected blockmodels, or non-binary edges for example, looking at email exchanges between users.
Reference: Arthur White and Thomas B. Murphy, "Mixed-Membership of Experts Stochastic Blockmodel" Network Science, Volume 4, Issue 1 March 2016, pp. 48-80
| ||||
Dr. Joeran Beel
Position: Ussher Assistant Professor The following projects are only suggestions, and I am open for your own ideas in the areas of:
Please note that I am not always sure that the following ideas are novel and feasible. It is your responsibility to do some research before you start the project to find out if the idea is novel and if you are capable of completing the project in the given time frame. Many of the projects are suitable for business start-ups. If you are interested in doing a business start-up based on one of the project ideas (as part of your FYP or in some other context), contact me to discuss the details. Improving Research-Paper Recommendations with One of Various Methods (Machine Translation, Machine Learning, Natural Language Processing, ...)One of my main projects is Mr. DLib, which is a recommender-system as-a-service that delivers every month some million research-paper recommendations via an API to partners such as JabRef, Sowiport, MediaTUM and soon also TCD's TARA. In the context of Mr. DLib there are many projects you could do. The advantage of participating in Mr. DLib is that you will work with a real-world system that is used by real-users, i.e. you can evaluate your work with thousands of users instead of evaluating it with a small user study as you would probably do in many other projects. In addition, you will work closely with the team of Mr. DLib, i.e. you are involved in an active ongoing project instead of sitting alone on your desk and pursuing your FYP. To work with Mr. DLib you need good JAVA programming skills and basic Linux knowledge. Knowledge in APIs and (REST) Web Services, Python, and web standards (XML, JSON, HTTP, ...) are helpful, though not a requirement. A few project ideas are outlined in the following. Self-Learning Recommender SystemsProblem/Background: Our different partners have different needs when it comes to calculating and displaying recommendations. Currently, we manually tune our recommender system to find the ideal algorithm(s) for each partner. However, especially in the long run, when we have hopefully dozens or even hundrets of partners, manually tuning the algorithms is not feasable any more. Solution/Goal of the Project: We aim at developing a "self-learning" recommender system that identifies for each partner (and each user/item of the partner) the potentially most effective algorithm. The idea is that once we delivered some recommendations to a partner, machine-learning is able to identify in which scenario (i.e. which partner, which user of the partner, ...) which recommendation algorithm is most effective. If a partner then requests recommendations again in a similar scenario, our self-learning recommendation framework should use the potentially most promising algorithm. To accomplish the goal, there are two challenges to solve (you would focus on one of the two in your FYP). First, we need a method to effectively collect data, i.e. doing A/B testing and gain insights about what parameters of algorithms etc. might be most effective. Second, we need to find out which machine-learning algorithms are best suited to learn from the collected data. Machine-Translation-Based Recommendations: improve our content-based recommendations with machine-translationsProblem/Background: In Mr. DLib, we have millions of documents in various languages (English, German, French, Russian, ...). This leads to a problem when users look at e.g. a German document, and Mr. DLib should recommend related documents. Assuming that every researcher speaks English, it would make sense to recommend English documents, even when a user currently looks at a German document. However, Mr. DLib's current content-based recommendation approach can only recommend documents in the same language as the input document. Solution/Goal of the Project: You apply different machine-translation frameworks to translate all non-English documents (title and abstracts) to English. This way, all documents are available in the same language in our database, and we can also recommend e.g. English documents when a user looks at a German document. You will find out, which machine translation frameworks are best suitable for this task, and analyze how this approach overall improves the effectiveness of Mr. DLib. Personalized Research-Paper Recommendations for JabRef UsersProblem/Background: We have integrated Mr. DLib into the reference management software JabRef already. However, so far, users can only receive non-personalized related-article recommendations. This means, a user looks at one article, and receives a list of similar articles. The problem of such recommendations are that they don't take into account what articles a user has previously looked at. Solution/Goal of the Project: You extend the integration of Mr. DLib in JabRef, so that more comprehensive data of the users is transfered to Mr. DLib's servers, and on the servers persoanlized recommendations are generated. You will work with REST web services during this project, JAVA, MySQL, and recommendation frameworks.
| ||||
Dr Mélanie BourocheI am happy to supervise projects in the Smart Cities area, if you have any idea that might make our cities smarter, get in touch! I am particularly interested in (connected) autonomous cars and their effect on cities, addressing questions such as how can such smart cars share the road with human-driven cars? What proportion of them is needed to make traffic safer and more efficient for everybody? While those are big research questions, a number of projects can be carved out depending on students' specific skills and interests. | ||||
Traffic Analysis from Advanced Bus Transportation Systems (ABTS)
Open Street Map Contribution.
Open Street Map Contribution.
| ||||
Dr. Andrew Butterfield
BackgroundMy 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 AreasSpaceflight SoftwareWork 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 formal models of these using Haskell and/or CSP in conjunction with the FRD4 Refinement Checker. A connected project is to take the CSP parser associated with FDR4, which is open-source at libcspm, and revise it to support so-called literate programming, in a similar fashion to that available in Haskell. The parser is written in Haskell, by the way. Work ProcessesI 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 inferFacebook 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 ProjectsIn 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 - 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:
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. | ||||
Dr Ciarán Mc GoldrickURL: www.scss.tcd.ie/Ciaran.McGoldrick :: www.ciaranmcgoldrick.net
I am happy to supervise projects at both senior undergraduate and MSc level. In recent years I have predominantly been mandated to supervise MSc projects. In general you should have a strong academic record, an interest in networking, communications and control/signal processing, be motivated to succeed and solve problems, be a solid programmer and have some affinity for hardware. I will be a variety of projects in 2017/18, some of which may include the opportunity to collabrate with colleagues in UCLA. Vehicular CommunicationsI will be offering two project on vehicular communications. Underwater NetworkingI will be offering two projects on Underwater Networking. ControlI will be offering a project involving the development and evolution of a new form of primitives for use in distributed control modalities. Your project ideas ...If you have an interesting or compelling idea in the networking, communications, security,control 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: 12/7/2017 | ||||
Prof Dave Lewisemail with "PROJECT IDEA" in the subject line. Privacy Canvas:The Business Model Canvas is a popular tool for the iterative modeling of business ideas. Recently we have adopted the affordances of the business model canvas (simplicity, graphical layout, ease of design iteration) to the problem of modelling the ethical issues of an digitial application project. This has resulted in the Ethics Canvas design and application, which has been used to help teach ethics considerations at undergrad, postgrad and postdoc levels. A similar tool may be useful when considering and teaching privacy and data protection concerns. This project will refactor or redesign the ethics canvas code to offer a canvas style interface for brainstorming the data protection issues in a digital application design, in a way suitable for supporting training in this topic in remote groups. Multilingual GDPR annotator:With multiple approaches emerging to support compliance to the EU’s new General Data Protection Regulation, supporting the linking of different privacy policy or privacy impact assessment documents back to the GDPR source text becomes of interest to those needing to demonstrate compliance. This project will provide web annotation tool support for linking GDPR text with organisation specific data protection documents, and enable this for different languages. This could then be used for other regulations or standards requiring compliance tracking internationally. The approach should follow a standardized web annotation approach and should build on the linked data representation of the GDPR text developed in the school. This project would suit a student with strong language skills in a European language in addition to English. Generic Data Management Artefact Meta-Management:Data management is becoming an increasingly complex and vital part of any organisation attempting to leverage big data assets. Declarative data objects using standard vocabularies and data manipulation languages provide powerful data management features, but as they become popular these objects themselves must be managed over their useful lifecycle, so they can be indexed, discovered, revised, corrected etc. This project will explore open vocabularies and tools to provide support for such lifecycle management over a small sample set of artefacts, namely, semantic mapping in SPARQL and it explicit representation in SPIN, data uplift mapping in R2RML, data protection compliance queries in SPARQL/SPIN. Open Data for Research Ethics:Research ethics clearance needs to be secured for scientific studies within research institutes, but the details and provenance of such data is typically not available if experimental data is later shared with other researchers. This project will explore a linked open data vocabulary to complement existing open science data models (e.g. that of OpenAire) to allow the ethic clearance associated with that data to be recorded and shared in an interoperable manner between research institutes via an open API. Asserting Collective Control over the Means of Cognition:Big web-based companies, often referred to as digital ‘platforms’, are able to leverage personal data on a massive scale for use in targeted advertising and other opaque behavioural influencing activities. Modern machine learning techniques lead to a massive information asymmetry between user and such companies, i.e asymmetry between what they know about us and what we know about how they leverage, share and use our data. While data protection regulation aim to redress this balance, it only operates at the level of the rights of individuals, so this power asymmetry may not be greatly impacted for the population of users overall. This project will explore ways in which social media groups can be used to share concerns about the aggregation, sharing and processing of personal data and to organise collective action around these concerns, upto and including mass transfer of personal data to another platform. Tools to enable mass, collectively organised transfer of data to another platform can exploit both the enhanced right to portability users now enjoy and interoperability standards from the World Wide Web Consortium’s working group on the Social Web. Digital Ethics Observatory:News stories about Big Data and AI ethics appear in the media daily. However, there are few resources available for those wishing to monitor these fast moving issues. This project will develop an application that allow news stories to be archived and then annotated by interested volunteers using the ethics canvas tool (ethicscanvas.org), to provide an open, searchable index of digital ethics news stories for researchers, journalists and concerned citizens alike. Data Protection Process Browser Widget:The EU’s new General Data Protection Regulation offers users across EU common rights on how their data is processed by organisations. This project will develop and evaluate a web widget that can be integrated into different web sites and offer a simple graphical, process-oriented visualization for exploring the rights offered by a specific service’s privacy policy, based on an existing model developed in the ADAPT Centre for Digital Content Research. Blockchain for Value-chain Consent Management:The EU’s new General Data Protection Regulation offer users right to rectify or erase data previously provided to a service provider. Response to requests that exercise this right must be propagated to any other organisations with whom that user’s data has been shared and its implementation must be recorded for regulatory compliance purposes. This potentially adds significant complexity to systems for sharing data along business value chains. This project will explore the level to which existing blockchain platforms can reduce this complexity and the cost involved, especially in order to mitigate the risk of this regulation becoming an excessive burden on small to medium enterprises data sharing. Visualising provenance for data and consent lifecycles:The upcoming General Data Protection Regulation requires companies and organisations to maintain a record of the user’s compliance and data lifecycles. These lifecycles can be complex as the same consent and data can be used in several activities which makes it difficult to track their usage. Visualisations are a great way to display information in a concise and simpler manner, and can prove to be helpful in navigating complex pathways such as the lifecycles. The project explores various ways to visualise provenance traces in a granular manner so as to enable tracing data and consent from an user to all the activities that use it, based on an existing model developed in the ADAPT Centre for Digital Content Research. Integration of Building Data Sets in a Geospatial Context:Currently, building information is often dispersed and fragmented across different storage devices, different file formats and different schemas. This data must be integrated in order to support a range of use cases relevant to smart buildings and cities, such as those related to navigation, building control and energy efficiency. In this project you will explore available standards and data sets, and using established methodologies for data uplift, convert these datasets into Linked Data, making them available over the web and linking them to other available data sets, such as geospatial data. You will answer the question, can existing open datasets be used to derive useful information about buildings to support the aforementioned use cases. Exploratory technologies for supporting data uplift - https://opengogs.adaptcentre.ie/debruync/r2rml Conversion of building information geometry into geospatial geometric data:The Industry Foundation Classes (IFC) is a standard for exchanging building information. Currently, a large part of the standard is dedicated to storing and exchanging geometric data about the geometry of the building and building elements. A complex set of relations are maintained within the IFC schema to support geometry, which when converted to RDF leads to significant overhead in terms of storage as triples. In this project you will explore methods for reducing the size of the geometry of IFC models, in particular, through their conversion to Geographical Information Systems standards such as Well Known Text answering the question, are GIS geometry models a suitable way to store building geometries. Exploratory technologies for working with IFC geometry (removes geometry from an IFC OWL conversion - https://github.com/pipauwel/IFCtoSimpleBIM) Visualisation of building geometry in a geospatial context:Open and accessible building information can support multiple use cases relevant to smart buildings and cities. The OSi has a large dataset of building data, which includes geospatial data about building location, and other properties like its current use, the type of building (its form and function). In this project you will explore an interface for the visualization of the OSi building data to support the querying of buildings, but also interaction with the building geometry through a web interface, e.g. point and click selection of buildings (with HTML5 and the three.js WebGL library). You will examine what is an appropriate way to visualise building data so that it can support users when generating and exploring queries. Exploratory technologies for visualising building information, is available that shows a very simple three.js GIS model which integrates OSi county data. Online questionnaire tool for GDPR compliance assessment:The General Data Protection Regulation (GDPR), agreed upon by the European Parliament and Council in April 2016, will replace the EU Data Protection Directive (EU DPD). Organizations dealing with personal data of EU citizens must ensure that they’re compliant with the new requirements of the GDPR before it becomes effective on 2018. It is important for the organization dealing with personal data to assess their compliance with GDPR to identify risks before regulatory violations occur, as the fines under GDPR can be upto 4% of a company's global turnover. This project will build a online support tool for GDPR compliance based on assessment questionnaires. The tool will show the important aspects of GDPR and based on answers to the questions of compliance assessment, the tool will show whether they are fully compliant or they need to work in that area to improve compliance. | ||||
Prof. David Gregg
Note: I will not be supervising projects in the 2017/18 academic year. Sorry about that. | ||||
Dr. John Dinglianahttps://www.cs.tcd.ie/John.Dingliana/
Some general infoI am a member of the graphics, vision and visualisation research group interested in the areas of:
Suggested Projects:
| ||||
Dr. Ivana DusparicPlease note: Due to project selection timelines, I am currently accepting MSc/MAI projects only. I am open to supervising projects developing novel artificial intelligence techniques and applying these techniques in intelligent urban mobility and transport systems, and smart cities in general. In particular, I am interested in learning-based agents and multi-agent systems, with particular focus on reinforcement learning, including deep reinforcement learning, transfer learning, multi-agent collaboration and self-aware systems . I am interested in applying these techniques to emerging urban transport models and their impact on cities, eg intelligent urban traffic control, car sharing, ride sharing, mobility as a service, multi-modal travel planning, learning-based personalization of travel etc. I am particularly interested in applications leveraging large amounts of diverse sensor data for learning-based optimization. I am also open to proposals applying learning-based multi-agent techniques to management and optimization of other large-scale infrastructures - if you have an interest in learning-based optimization and have an application area in mind, let me know! | ||||
Stephen BarrettSocial Software EngineeringMy 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:
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. thanks, Stephen. | ||||
Fergal Shevlin, Ph.D.
Note!
Android VisionProjects in the general area of "Computer Vision" (viz. image processing and analysis,) implemented on the Android platform for mobile devices. Thus the programming language(s) required would be at least Java with possibly some C/C++.Mathematical MethodsProjects in the general area of "Mathematical Methods for Computer Graphics, Computer Vision, Robotics, Physical Simulation, and Control" implemented using appropriate method libraries. The most appropriate programming languages are likely to be C/C++ or Python. | ||||
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.
Using CASL to Model a software systemCASL (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.
Imperative Programming within a Functional Programming SettingWhile 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 ProgrammingOver 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 ProofsSystems 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 VivioVivio 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 JMLThe 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 JMLThe 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 SparkSpark 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 Gerard Lacey
ProjectI am currently a part time academic as I am currently working in a Trinity spinout www.surewash.com My main research areas are computer vision, robotics and augmented reality. My research focus is the development and empirical evaluation of mixed media solutions using real world problems. Problem / BackgroundAugmented reality(AR) is the overlay of interactive graphics onto live video such that it reacts to the content of the video image e.g. selfie filters that track face movement. Mobile phones are becoming one of the main platforms for AR. This project focuses on the tracking of hands in mobile phone images for gesture recognition, content overlay and gaming. General purpose hand pose tracking is a complex problem but custom hardware solutions: www.leapmotion.com , www.usens.com and complex software libraries: www.manomotion.com are available. One of the biggest challenges is achieving high speed and reliable segmentation of the hands against real-world backgrounds and under variable lighting conditions. The next main challenge is the identification of the fingers and matching them to a hand pose model. If the hand gesture problem can be constrained this may be simplified and good performance achieved. Solution / Goal of the Project:This project will aim to develop a mixed reality application that will allow someone to “try on a glove” using their mobile phone. The goals of this project are to:
The application will be developed using www.unity3d.com and www.emgu.com . | ||||
Glenn Strong
Many of these projects involve some knowledge of functional programming. No prior knowledge is needed before starting the projects, we provide support for learning this new programming paradigm for students who have not been previously exposed to it. Of course, if you already know a language like Haskell you'll be able to start the project a little quicker. Functional programming and Live Music CompositionThis project would involve working with the Haskell embedded DSL "Tidal" to produce one or more variants on the existing system. Some interesting options could include:
Drag and drop PythonThis project would involve building a structured programming editor for the Python programming language, probably using an existing framework such as Google's Blockly. While there are some tools that can generate Python from Blockly programs the source that the users work with don't tend to look much like Python programs. The goal with this project would be to provide a Python-oriented system (perhaps in the style of the old Carnegie Mellon structure editors, or the Raise Toolkit) An initial version of this wouldn't need to parse existing Python programs, only provide the editing environment, and perhaps capture the output of a running program. There are a lot of potential extensions possible for this project, depending on whether the student's interests. Other projectsI am happy to discuss project ideas in the Functional Programming, Literate Programming, Theoretical Computer Science, or other similar areas. If you have a specific project in mind then send me an email. I am also willing to discuss software implementation projects with a bias towards rigour (using formal techniques, or design-by-contract ideas). I am also interested in creative ways to support novice programmers and in the study of Free Software related projects, | ||||
Mads Haahr
AI for card-based gameGambrinous is an indie game studio based in Dublin, best known for Guild of Dungeoneering. They are now working on their second game and have an opportunity for someone to improve the AI for the project. The game is a 1-on-1 card game in the style of Magic: The Gathering, Ascension, or Hearthstone. The player plays against an AI opponent taking turns playing cards until one wins. We have a prototype built in Unity with a very simplistic AI. Gambrinous are looking for the following improvements:
| ||||
Lucy Hederman
My proposed projects/areas should suit MSc CS students on the Intelligent Systems and Data Science strands. Some projects may be suitable for Final Year Projects for ICS and CSB students. To discuss, please email me at hederman@tcd.ie Broadly I am interested in "data wrangling" for health IT and clinical research purposes. The following projects relate to the AVERT project which is concerned with predicting relapses (or flares) of ANCA vasculitis, a relapsing and remitting rare autoimmune disease that results in rapidly progressive kidney impairment and destruction of other organs. Epidemiological data seem to show a strong environmental impact on relapse in ANCA vasculitis, though it is unclear which exactly environmental factors are responsible for this. The rapidly emerging discipline of data science - alongside massive increases in computing capability, machine learning and artificial intelligence - is poised to allow the incorporation of such highly complex health big data environments, and the generation of outputs with potential applicability in personalised medicine. We aim to integrate a wide array of unstructured data streams to define the signature of relapse of the disease. We believe this approach will represent a new paradigm in managing chronic conditions governed by interaction between patient-level factors and their environment, and could be scaled up if successful for use for other autoimmune diseases. Data integration for AVERT is using linked data principles. Different streams of data are combined in an RDF triple store.
|
Interactive Anatomy Illustration from Real-world 3D Data:
In anatomy education, it is quite common to use artistic illustrations such as the one pictured to the right by Frank Netter who created thousands of images, used in most of the anatomy textbooks worldwide. Illustrations are purported to be easier to understand, learn, and remember when compared to scanned or photographed images of anatomy. However such illustrations require a skilled artists also well versed in anatomy and a large amount of effort and time to produce.

