Coronavirus (Covid-19): Latest updates and information
Skip to main content Skip to navigation

Project Ideas

The following project ideas are suitable for both undergraduate and taught masters students, although the format and scope will vary depending on the level.

Towards a Template for a Class of Web Applications (many possible titles)

Co-supervised with Dr Steve Russ.

In some application areas there is a relatively stable framework of entities associated with a dynamically changing collection of contingent events (or objects). Examples would be: the journeys made on a rail or road network, communications between members of an interest group, or employees of a business, images documenting the progress of a disease in a biological system or interventions for its cure. The instance that has prompted this suggestion is of a collection of postcards sent between (or to) members of a large family in the period 1900 - 1950. The data sets concerned (of the order of several hundred items) have largely already been collected, digitised and organised although a new database design for the postcards is required. The idea of the project would be to develop two (or more) case studies of such applications (including the family postcards one) which would assist user interrogation and interpretation of the contingent data. This would comprise the core practical work of the project; the second, or further, application(s) would be according to the interests and initiative of the student. The expected requirements for each case study would be appropriate scripting skills (for web-based environments), design and implementation of databases, appropriate visualisation tools, and a user interface, as well as maintenance documentation. There might also be special purpose notations suited to an application. (For example, family history trees have a simple format, GEDCOM, with open source software to render it in readable form.) The minimum further requirement would be a comparison of the case studies and some analysis of their degree of commonality. There would be potential for an able student to explore the possible range of such applications and the development of a template for generic solutions in a class of applications (to be defined).

Reference Citation Marking and Feedback Software (RCMFS)

This is a large project which is particularly suitable for an MEng group project or an MSc student. A BSc student might take a subset of the material to form a project.

The objective of developing this software is to provide feedback to students about how they cite references, as well as to automatically grade their citations. The target audience for this software is mainly teachers or individuals who are responsible for the grading of thesis or project work, as well as students (for the provision of formative feedback).

The functionalities will include:

  • extracting references from documents written using common formats (ODT, Word, TeX, etc.);
  • processing references to identify the components of the references;
  • comparing references against data sources (such as EndNote or CiteSeer) to identify discrepancies;
  • providing a framework to be incorporated in a VLE (such as Moodle - to allow the preceeding functionalities to be combined in a formative and summative assessment tool.


M.S. Joy and S.K. Toor (2014). Investigative Study about Errors in References and Citation in the Work of Students in Higher Education. Working draft of paper.

Extension of Sherlock Plagiarism Detection Software

This is a tightly-focused project suitable for an MSc student or for a BSc student who is looking for a challenging programming project (2-4), or for a MEng group project (1-4).

The "Sherlock" source-code plagiarism detection software has been used at Warwick for several years now. It compares items in a collection of (Java) source files for similarities and outputs a report as to what those similarities are.

Two recent projects have already addressed refactoring of the code, so the core of the system should now be in a good state to move forward, and is structured using a highly modular architecture using current "good practice". This is therefore an ideal time to look again at the whole Sherlock project.

There are at least four possible (and interlinked) projects:

  1. Develop the Sherlock code to interface it with other systems (for example, automatic assessment software, visualisation tools, and internet search tools);
  2. Expand Sherlock to include further algorithms not currently supported by the tool - these would include novel algorithms, or refactoring algorithms used by other tools such as JPlag or MOSS);
  3. Expand Sherlock (and the algorithms it supports) to work with languages other than Java;
  4. Explore the pedagogy of source-code plagiarism detection through the development of novel interfaces to the software which would software which provide both formative guidance to students, and clear support for investigating academics.


M.S. Joy and M. Luck (1999), “Plagiarism in Programming Assignments”, IEEE Transactions on Education 42(2), pp. 129-133. (DOI 10.1109/13.762946)


Sherlock (GitHub).

Building Learning Objects

This project is suitable for all students, and its scope can be extended as much or as little as required.

Learning objects (LOs) are units of learning material packaged together with appropriate meta-data. A learning object may include a variety of content, such as background reading, interactive elements or quizzes. There are various tools available to create content but it can be difficult to select the most appropriate tool whilst maintaining compatibility across learning environments and platforms. You would evaluate the existing tools and be able to develop a good strategy for producing learning objects.

Computer Science is also involved in a EU-project to develop learning materials in the general area of mathematical logic. You would use what you learn about the tools to create a few interesting learning objects relating to this theme. This may include writing new material, developing interactive examples or building on-line quiz material.

You would:

  • evaluate existing tools available for the creation of learning objects;
  • develop a series of learning objects, probably in the area of mathematical logic;
  • deploy and evaluate your material in a learning environment (such as Moodle);
  • possibility of developing plug-ins or enhancements to Moodle.


J.E. Sinclair, M.S. Joy, J.Y-K. Yau and S.J. Hagan (2013), “A Practice-oriented Review of Learning Objects”, IEEE Transactions on Learning Technologies 6(2) pp. 177-192 (DOI 10.1109/TLT.2013.6).

Automatic assessment

One of my research interests is automatic assessment (both of programming assignments and of other types of submissions such as essays). Projects in the past have included for example add-ons to BOSS ( or Moodle (

In particular, the current version of BOSS allows for "plugins" to be written to add to its functionality. This would be a particularly interesting task, and plugins might include an automatic essay-marking tool or a port of plagiarism detection software. If this interests you, we can discuss the possibilities for plugins in more detail.

Garden design

This project is suitable for all students, and its scope can be extended as much or as little as required.

This is a design-and-build project which involves the construction of a tool which will assist the user to design and manage a garden. This will include:

  • databases for the various plants which may be included;
  • diagrammatic representations of the user's desired (or actual) garden;
  • tools to choose and identify suitable plants to be included within the garden;
  • rapid access to reports on what gardening tasks need to be performed at a given time of the year in the garden.

Software “Design and Build”

More generally, I would be pleased to consider projects that involve the complete software lifecycle and have a clearly specified software deliverable.