Skip to main content Skip to navigation

Project Ideas

General Interests

I am happy to supervise most "software development" type projects that involve the complete software lifecycle and have a clearly specified software deliverable. However, I would prefer not to be involved in projects which are AI related.

My research interests focus around Educational Technology and Computer Science Education, and I am open to suggestions with an educational theme. However, I would discourage the creation of software which would be evaluated on "real people", since ethical consent is likely to be required, which would complicate the project significantly.

Specific 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.


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.

Reference

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)

Resources

Sherlock (GitHub).


Automatic Assessment

One of my research interests is automatic assessment (both of programming assignments and of other types of submissions such as essays). This project would investigate the automatic assessment of either an essay or an item of software. It would be particularly suitable for an MSc student due to the research nature of the activity, or for an MEng group.


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 has also been 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.

Reference

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).


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).

Previous iterations of this work have focused on the following:

  • 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.

However, these tasks have increasingly been overtaken by available external software, and are no longer particularly interesting. However, the development of basic software (leveraging on external open-source tools where available) could be extended as follows:

  • providing a framework to be incorporated in a VLE (such as Moodle - moodle.orgLink opens in a new window) to allow the preceeding functionalities to be combined in a formative and summative assessment tool.

Reference

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.