BSc/MSc Dissertation Projects
 
Here is a list of BSc dissertation and MSc summer term dissertation project ideas that require some further thoughts and discussions. Some of these are more research oriented (focusing on building a test bed for scientific investigations, evaluated via experimentation) and others are more software engineering oriented (focusing on software development, evaluated via software and user tests). All projects are open to modification and negotiation, if you think you have a good idea to make them more interesting.
 
You will notice that many projects are related to Agent-Based Modelling and Simulation, my primary research interest. If you want to find out more about the topic, you can watch the video of a presentation I have given at the Isaac Newton Institute for Mathematical Sciences in Cambridge [url].
 
 
The Latest Hype - Large Language Models
 
As detailed on my Research page, my current work delves into the intersection of Large Language Models and Agent-Based Modelling and Simulation. For a related publication, please refer to this link. I am offering several projects in this area, ranging from research-oriented to software engineering opportunities. If you're interested in learning more, please get in touch via email. Below are a few examples:
 
  • Software Engineering: Smart Prompt Manager (including prompt version control)
  • Research: Test Driven Simulation Modelling (TDSM) with the help of Generative AI. More about TDSM [url]
 
Fresh off the Press
 
I am looking for a project student who is interested in designing and coding a comprehensive Agent-Based Social Simulation platform for investigating 'Worker Exploitation'. The platform need to consist of reusable components, so that it is easy to maintain and extend. If you have proficient Software Engineering and strong Python skills and are interested in this project, please get in touch.
 
 
Research Oriented Project Ideas
 
Here is a diverse selection of research-oriented dissertation project ideas, encompassing cutting-edge topics in machine learning, simulation modeling, artificial intelligence, and data science, designed to challenge and inspire innovative thinking:
  • Applying machine-learning and data visualisation methods for analysing JASSS publications
  • Prototyping ideas for SimPy/AgentPy/Mesa extentions (good programming skills in Python required)
  • Testing different ways of knowledge representation in the Hybrid Climate Assessment Model (see here for more)
  • Testing the usefulness of AI decision modelling through "utility theory" and "fuzzy logic" (see here for more)
    • Application example: Optimising software development team compositions
  • Energy-efficient data forwarding in mobile wireless sensor networks
    • Mixing behavioural and software agent modelling + optimisation
    • Application example: Simulating the use of ad-hoc sensors to track elephant movement
  • Benchmarking work efficiency for software maintenance
  • Smart transportation/smart roads/smart cities
    • Using data science methods to improve the "Smarter Travel - Nottingham" platform (see here for frontend)
    • Novel modelling/simulation approaches for exploring smart transportation/smart roads/smart cities ideas (e.g. modelling knowledge as an abstract agent)
  • Exploring opportunities for simulating manual assembly lines more effectively with the help of artificial intelligence (see here for more)
  • Generating synthetic populations for simulation models
 
Software Engineering Oriented Project Ideas
 
Here are some innovative dissertation project ideas in Software Engineering, covering a range of topics from simulation games and web development to multi-agent systems and smart city applications:
  • Developing a 2D simulation game for teaching Systems Thinking (good software development skills required) (see here for more). You could use Godot, which supports the development of 2D platformers.
  • Creating a web presence (frontend + backend) for the Reporting Standard for Rigour and Transparency for Data Use in Agent-Based Modelling (good web development skills required) [paper link]
  • Maintaining and extending the Hybrid Climate Assessment Model (see here for more)
    • Generating synthetic populations for simulation models
  • Maintaining and extending the UoN ABM Toolkit
    • Add editor for state machine diagrams (drawing; error check; translation into code)
    • Add process flow elements to allow hybrid DES/ABS modelling
    • Add an optimisation engine (e.g. HeuristicLab)
  • Developing an uncommon (card)game with virtual (AI driven) players which can help the elderly to have a greater awareness of their own energy consumption (previous implementations include an adapted version of Yaniv)
  • Improving "code2uml", a tool for generating UML class diagrams from java .class/.jar files (see here for more)
  • Creating a multi-agent system basketball emulator in Java/Python (inspired by Buckland (2005) Chapter 4)
  • Providing additional statistics for Google Scholar profiles
  • Smart transportation/smart roads/smart cities
    • Adding more functionality to the "Smarter Travel - Nottingham" platform (see here for frontend)
 
Back to Top

 
Full Year MSc Dissertation Projects
 
I am happy to discuss how to streamline these into UG dissertation projects
 
 
Project 8: Developing an IDE for the UoN Agent-Based Modelling Toolkit
This is a Software Engineering project. In Agent-Based Modelling (ABM), a complex system is represented by a collection of agents that are programmed to follow behavioural rules (like non-player characters in computer games). During simulation experiments, these agents interact with each other and with their environment, producing complex, collective, system-level behaviour patterns. In previous dissertations, students developed a Java-based ABM toolkit from scratch to deepen the understanding of how such simulations work under the hood. However, at present, models must be created manually by writing code. In this project, your task is to develop an IDE that allows users to design agents and other model elements in a GUI. In addition, the IDE must be able to check for design errors and translated design into code. This project requires someone proficient in Java programming.
 
 
Project 7: Understanding Worker Exploitation through Agent-Based Simulation
This is a hybrid Software Engineering and Research project. I am looking for a project student who is interested in developing a comprehensive Agent-Based Social Simulation platform in Python for exploring the dynamics in different 'Worker Exploitation' scenarios. The design part requires some research on the topic to support the development of a conceptual model. The coding part requires some software engineering skills to create a platform that is easy to maintain and extend. Once the platform has been implemented, experiments will be run to better understand the system dynamics related to specific scenarios. This project requires someone proficient in Python programming.
 
 
Project 6: Translating Qualitative Evidence into Agent Profiles with the Help of LLMs
This is a Research project. In many domains, such as social science, policy analysis, and public health, researchers gather rich qualitative evidence from interviews, reports, or ethnographic studies. Turning this information into usable agent profiles for simulation modelling remains a significant challenge. In this project, you will explore how Large Language Models can assist in translating unstructured qualitative data into structured agent profiles, including motivations, decision rules, and social roles. The project involves designing a methodology for parsing and structuring qualitative inputs, testing different prompting strategies, and evaluating the fidelity of the resulting agent behaviours. This project requires someone proficient in Applied Data Science as well as Python programming. Good knowledge of Generative AI is a bonus.
 
 
Project 5: Simulating Stock Market Trading using LLMs for Inter-Agent Communication
This is a Research project. Traditional multi-agent systems for stock market simulations often rely on reactive agents with predefined rules for agent behaviour and limited communication protocols. In this project, you will explore a novel approach where agents use LLMs to interpret information and communicate with each other in natural language. The goal is to simulate a more realistic market environment where agents negotiate, react to news, and influence each other through complex interactions; mirroring how human traders might behave. You will investigate whether this leads to different emergent behaviours compared to rule-based systems. This project requires someone proficient in Applied Data Science as well as Python programming. Good knowledge of Generative AI is a bonus.
 
 
Project 4: Developing a Smart Prompt Manager
This is a Software Engineering project. As the use of Large Language Models (LLMs) becomes more widespread in software applications, managing prompts (how they are written, updated, and reused) has become increasingly important. In this project, you will develop a Smart Prompt Manager, a tool that allows users to store, categorise, test, and version-control prompts used for interacting with LLMs. The system should support comparing prompt performance, tracking changes over time through version control, and recommending improvements based on context or past outcomes. This project requires someone proficient in Software Engineering. Good knowledge of Generative AI and LLM APIs is a bonus.
 
 
Project 3: Test Driven Simulation Modelling with the help of Large Language Models
This is a Research project. Test Driven Development (TDD) is an approach to software development in which tests are written before the actual code. The core idea is to write a failing test first, then write the minimal amount of code to make it pass and finally refactor the code while keeping the test passing. In this project you will consider how this concept can be applied to developing discrete event simulation models and how Large Language Models (LLMs) can assist in generating meaningful tests based on model descriptions, hypotheses, or expert input, and how these tests can be used to guide and validate model development. The project aims to identify workflows, benefits, and limitations of integrating LLMs into test-driven simulation design. This project requires someone proficient in Software Engineering. Good knowledge of Generative AI is a bonus.
 
 
Project 2: Translating Causal Loop Diagrams into System Dynamics Diagrams
This is a Research project. Causal loop diagrams are qualitative tools used to illustrate and understand the relationships and feedback loops within complex systems without requiring numerical data. System dynamics diagrams, on the other hand, often incorporate quantitative elements, modelling system behaviour over time using stocks, flows, and differential equations to simulate and analyse system dynamics. In this project we want to investigate, if we can use AI tools to translate qualitative diagrams into quantitative ones. This project requires someone with interest in Complex Systems Modelling. Good knowledge of Generative AI is a bonus.
 
 
Project 1: Improving and Extending the 'Smarter Travel - Nottingham' Platform
This is a Software Engineering project. In collaboration with Nottingham City Council we have developed the 'Smarter Travel - Nottingham' platform (https://smartertravel.cs.nott.ac.uk/), a website that provides a wide range of travel related information. The platform uses VertX (https://vertx.io/) for the backend. VertX is a toolkit for building responsive, resilient, and scalable JVM applications. The platform uses Bootstrap for the frontend. Bootstrap is a CSS framework directed at front-end web development. Your job is to extend the functionality of the platform by adding some innovative AI-driven widgets. This project requires someone proficient in Java programming and web development. Good knowledge of Applied Data Science would be a bonus.
 
Back to Top

 
Advice for Dissertation Students
 
  • My presentation on Further Studies (explaining what a PhD is and how to survive it) [link]
  • Technical Skills for Thriving in Graduate Studies (YouTube Video Series) [link]
  • David Taylor - Scientific Writing and Reading Skills (YouTube Channel) [link]
    • How to Write a Literature Review in 30 Minutes or Less [link]
    • How to Read a Journal Article in 10 Minutes or Less [link]
    • How to Write a Research Proposal - Undergrad, Masters, Doctoral [link]
    • Giving an Academic Talk (targeted at conference presentations, but but most of this also applies to dissertation presentations) [link]
  • Miscellaneous
    • Academia Stackexchange: Is there a convention on how to write pseudocode in scientific papers? [link]
  • Internal Moodle links (only accessble for students signed up for the module)
    • BSc Project 22/23: Moodle Page [link]
    • BSc Project 22/23: Project Handbook [link]
    • Enhanced MSc Project 22/23: Moodle Page [link]
    • Enhanced MSc Project 22/23: Student Handbook [link]
    • Enhanced MSc Project 22/23: Supervisor Handbook [link]
    • MSc Project 22/23: Moodle Page [link]
 
Back to Top