Final Year Project Proposals from J.J. Collins:
Proposer ID: JC
Title: [JC06] Android app for face recognition
Develop an android app for face recognition. Capture a frontal image of a face, remove the background, and use Principal Components Analysis to name the person in the facial image captured. The student must be numerically literate, and be a competent Java programmer. Knowledge of development on the Eclipse platform would be a help but is not a prerequisite.
Proposer ID: JC
Title: [JC08] Calendar Analyser
A "Business Intelligence" app that analyses a calendar and computes the amount of time spent on specific tasks, meeting specific individuals, etc.
Proposer ID: JC
Title: [JC05] Component Recovery using Evolutionary Algorithms:
Component Recovery using Evolutionary Algorithms: given a dependency graph as a low level view of a software system, use evolutionary algorithms to group nodes in the graph into components, and specify their interfaces using the Component-Based-Development approach advocated by Cheseman and Daniels in their 2002 book “UML Components: A Simple Process for Specifying Component-Based Software”. What is the relevance of this project? One of many examples is that specification of components is a vital step when moving a legacy system towards the Service Oriented Architecture (SOA) paradigm. The Evolutionary Algorithm will be sourced with permission from third parties.
The student should be a competent programmer in at least one of the object-oriented languages.
The student should be a competent programmer in at least one of the object-oriented languages.
Proposer ID: JC
Title: [JC04] Computer Draughts using Reinforcement Learning
Computer Draughts using Reinforcement Learning: train a neural network to play draughts using temporal difference learning, a theme from the field of reinforcement learning paradigm. The network should improve its performance over time by continually playing against itself. This project will introduce the student to one of the principal paradigms in machine learning, and provide insights into the challenges with respect to search and representational bias.
Proposer ID: JC
Title: [JC03] Development of a software teaching resource
Develop a software teaching resource that will be published through the National Digital Learning Repository. Specify requirements, analysis, and design artefacts for a distributed hotel reservation system. The system should be constructed and deployed on an application server in conjunction with a workflow engine. Objective is to develop a set of resources that can be used in the lecture theatre to illustrate how theory translates into practice.
Proposer ID: JC
Title: [JC01] Identification of clones in images
Identification of clones in images: use simple correlation measure such as Euclidean distance in high dimensional space to determine which keys are clones of which, and implement as a smartphone app. Should allow user to associate tags with images when first captured on smartphone i.e office / room number. Has real world applicability. Do keyholders that you know label their keys? Probably not generally. Do they fuss about trying keys iteratively when locking every door in the house prior to going on holidays for example? Probably yes if organised. Further consideration - should offer to store images on a server, but would have to look further into security.
Proposer ID: JC
Title: [JC07] Re-engineer a sequential Simple Genetic Algorithm (SGA) into parallel format using OpenMP for optimal deployment on a multicore platform.
Reengineer a sequential Simple Genetic Algorithm (SGA) into parallel format using OpenMP for optimal deployment on a multicore platform. The availability of parallel hardware at reasonable affordable prices through multicore processor technology has given rise to the Third Software Engineering crisis – the reengineering of code developed using the sequential paradigm into a format that exploits the hardware resource available. This FYP will introduce the student to the OpenMP library that supports the manual parallelisation of software for shared memory deployment.
The student should be familiar with C/C++ or Fortran, and capable of self guided study on OpenMP.
The student should be familiar with C/C++ or Fortran, and capable of self guided study on OpenMP.
Proposer ID: JC
Title: [JC02] Swimming pool identification from satellite images
Swimming pool / solar panel identification from satellite images sourced through Google maps - could use Evolutionary Computation here which has a good track record in target identification where source is fuzzy and/or partly occluded. Should not be an issue for targets of interest here.
This suggestion was proposed by Liam Relihan of ResourceKraft (www.resourcekraft.com), who will provide limited support where appropriate.
This suggestion was proposed by Liam Relihan of ResourceKraft (www.resourcekraft.com), who will provide limited support where appropriate.


