|Last Update: 24 June 2018|
Back to the Main Page
Individual Dissertation (Relevant for UG and PG Projects)
See the CS Project Handbooks for general information about individual projects.
See the individual project guidelines (for students that I supervise).
Areas of Interest for Supervising Projects
The project ideas listed here are related to my areas of research, which in a summarised way include the application of search and optimisation methods including artificial intelligence techniques to tackle a range of real-world problems in the broad area of modelling and optimisation. Also, some of the these project ideas are related to the modules that I currently teach, Linear and Discrete Optimization and Simulation and Optimization for Decision Support. Other modules related to these project ideas are Artificial Intelligence Methods and Fundamentals of Artificial Intelligence.
I would also supervise projects in other topics of computer science if the project is within my interests and I feel competent to supervise the project. Please contact me if you are interested in me supervising your project so that we can have a conversation before agreeing to supervise a project. Note that all the projects ideas listed below involve both research and programming but they can also be tailored for a practical application that is in your interests.
What is required to undertake the projects suggested here? One typical question is: is this project adequate for obtaining a high grade? and the answer for all projects listed here is YES BUT IT STRONGLY DEPENDS ON THE STUDENT'S COMMITTMENT TO DEVELOP A HIGH-QUALITY DISSERTATION. The projects listed here have the potential to carry out research and develop a computer system. You definitely need to do considerable programming but also search the literature, select, read and analyse sources of information. As a computing student you are expected to produce good quality computer code. At first sight, these projects might seem too challenging, particularly if you are not familar with the problems or techniques. However, these are project ideas for which I can offer specific guidance. Selecting a challenging project does not guarantee you to obtain a high grade, that is only a good start. It is your performance and achievements which will be reflected in the final grade.
Are these project ideas suitable for MSc, MSci or BSc dissertations? Most of the project ideas suggested here can be adapted for developing a dissertation according to the degree type and subject (computer science, artificial intelligence, software engineering, etc.). Please see the corresponding project handbook for more guidelines and the requirements that your project should meet according to your degree. For all these project ideas, there is a potential for producing a publication if that is something that interests you.
Some ideas for individual projects are listed below, they are intentionally described very briefly in order not to be too
prescriptive. The intention is that such ideas trigger your interest, then you can conduct some research and shape the project idea to your
own liking. If you want some more specifics on these ideas, please contact me to have a conversation. You can also look at the
postgraduate projects that I have supervised in previous years as
they could also trigger some project ideas of your own.
Some Ideas for Individual Projects
Benchmarks and Visualisation Tools for Selected Combinatorial Optimisation Problems
In combinatorial optimisation problems the aim is typically to find the best (optimal) arrangement of objects that satisfies a given set of constraints. Examples of these type of problems are the travelling salesman, bin packing, vehicle routing, timetabling, workforce scheduling, sudoku, etc. Projects can be conceived about the development of software tools that facilitate the better understanding of these problems, most of which have real-world applications in business and industry. Note: Some previous dissertations have done some work in this area. There is scope for more work in this area and projects can be oriented to software engineering, to algorithm implementation, or other area of interest.
Computational Intelligence and Software Engineering for Puzzles
Project ideas can be conceived for the development of software aimed at solving puzzles. There is a great variety of puzzles and many are computationally difficult to solve. In some cases, well-known algorithms exist and hence projects could be about applying software engineering to develop interfaces, mobile apps, web applications, collaborative playing tools, etc. In other cases, identifying some computational intelligence approach to solve the puzzle could be a good project. There is scope for many ideas in this topic depending on the particular interests of the student. The solution of some puzzles through computational intelligence algorithms can give an insight into a variety of real-world applications of these techniques.
Educational Software Tools for Search and Optimisation Algorithms
There is good variety of search and optimisation algorithms and many bibliographic resources that describe these algorithms at various levels of detail, but not many software tools to facilitate the 'self-learning' of how these methods work. Heuristic search is an important technique from Artificial Intelligence that is also subject to intensive research because it can help to solve very difficult and large search and optimisation problems. The goal here is to develop tools that interactively illustrate the way in which some algorithm works. The focus should be on effectively visualisation and interactivity, can be a tutorial or even a computer game. Note: Some previous dissertations have developed tutorials for the graphical method to solve linear programming problems and for heuristic local search.
Further Development With Existing Search and Optimisation Algorithms
Recent research work has resulted in the development of search and optimisation algorithms for tackling
some optimisation problems. There are various ideas that would seek to extend some of this work by for
example, conducting systematic computational experiments, adapting algorithms to different scenarios,
comparing the performance of different algorithms, etc. That is, projects that do not aim at conceiving
a new algorithm, but instead, aim at studying and/or modifying existing ones. For example, algorithms
that we have developed recently include non-linear great deluge, dynamic lexicographic approach, etc.
Mobile and Web Services for Scheduling Problems
The goal here is to develop software tools to facilitate the automated creation of schedules through modern smartphones and other mobile devices and via the Web. There is a variety of scenarios in which a schedule needs to be created in order to make the utilisation of resources more efficient. For example, workforce scheduling, meetings scheduling, sports scheduling, timetabling, tasks scheduling, etc. could be suitable scenarios for the application of search, optimisation and computational intelligence techniques. Note: Some previous dissertations have developed mobile applications and web-based applications for some scheduling scenarios, there is scope for extending this work.
Search and Optimisation Through Mobile or Cloud Computing
Traditionally, search and optimisation algorithms are developed for running on powerful standalone computers
given that these type of algorithms usually consume considerable computation power and memory. The goal here
is to evaluate the suitability of developing this kind of algorithms for other computing platforms such as
mobile devices and cloud computing. Projects could be about conducting a systematic evaluation of opportunities
or about actually developing a computing solution to some selected scenario using such computing platform.
Software Solutions for the Office Space Allocation Problem
The office space allocation problem refers to allocating people to office space in order to ensure an adequate utilisation of the available office space while also satisfying additional constraints. Various works have been done on this problem, developing algorithms, problem instance generators and graphical user interfaces. There are opportunties for developing various project ideas in this problem domain. The projects could be on computers algorithms, visualisation tools, survey and analysis of existing software, etc. Note: There is a number of resources (test data sets, various articles, several prototype systems, etc.) for projects in this area given the work that has been undertaken over several years.
Social Media and IT in Healthcare Logistics Provision
There are many logistic challenges in the provision of healthcare, particularly considering an ageing population. Computing technologies including IT and social media could play an important role for improving healthcare provision. Project ideas could be conceived to understand the ways in which these technologies can be beneficial and drivers for a better quality provision of healthcare by means of helping to achieve more effective and efficient logistic operations in this context.
Tutorial on the Graphical Method for Optimization
The graphical method is one of the essential concepts for optimization, it is based on solving a system of linear algebraic equations in order to find the values for the variables that optimize some objective function. A previous student project developed a very good basis for a tutorial on the graphical method for optimization. The program was developed as a web application and the functionality was rated as very good. The goal of this project is then to further develop the application towards a product to be released. The graphical method is taught in the module 'Linear and Discrete Optimization' and the students in that module would be available as actual users in order to inform the project development.
Various Other Project Ideas for Discussion