School of Computing

Colin Johnson

Reader/Faculty Director of Graduate Studies

Photo of CG Johnson, if available
  • Room S102
    School of Computing
    University of Kent,
    CT2 7NF


My publications are available from the University of Kent's Academic Repository.

Research Interests

I belong to the following research groups:

My current research activities fall into two broad areas. Firstly, I am interested in how we can use computational and mathematical ideas to support research and practice in biology, medicine and healthcare. Secondly, I am interested in how we can take ideas from the natural sciences and use these as metaphors for new ways of doing computing and understanding and managing complexity in various contexts. From time to time, I have worked on projects in other areas: robotics, computational mathematics and technologies for music and media.

Computing and Mathematics in Medicine and Biology

In terms of applications to biology, I work closely with a number of research groups in the biosciences department at Kent and elsewhere on simulations of biological systems, particularly at the cellular level. I am also interested in developing novel ways to understand the vast amounts of data generated by modern biological research.

A particular interest at present is in studying what we can learn by considering simulations as computer programs. Clearly we can run such programs; however modern theories of program analysis give us many more formal tools by which we can deduce properties of such programs. Might these techniques be able to generate information which is relevant to biological research?

Link to more details about my research into computational and mathematical biomedicine.

Natural Science as Metaphor in Computational Intelligence

My other main area of work is in what might broadly be called computational intelligence or soft computing, i.e. the application of computers to use "intelligent" strategies to find (often approximate) solutions to hard problems. Examples of such techniques are evolutionary algorithms, neural networks, swarm intelligence methods, artificial immune systems, et cetera.

Within soft computing I have a particular interest in automatic programming techniques such as genetic programming. The aim of these methods is to create software from descriptions of required functionality rather than by stating exactly what programs should do. At present I am interested in how ideas from software engineering (such as specification and modularity) and program analysis methods (such as model checking) can be combined with automatic programming techniques to produce rigorous programs in an automatic fashion. I am also interested in how different soft computing techniques (such as artificial immune systems) can be used for genetic programming.

As well as being interested in the theoretical background to computational intelligence, I am also interested in the application of these techniques. I have been involved in projects applying these ideas to data analysis, music technology, pure mathematics, robotics, multimodal optimization, and bioinformatics.

Link to more details about my research into nature-inspired computing.

Other Areas of Work

I have made occasional contributions to other areas: algorithm development for mathematics research, robotics, technologies for music and media and informatics education. Sometimes, I have combined these interests with the above in e.g. developing novel swarm-based interfaces for computer sound synthesis systems and using visualization techniques in bioinformatics.

Link to more details about my research into music and media technologies.

Some Resources

Here is a collection of software that me and my research team have written and released under various open-source licences.

Research Project Ideas

If you are interested in working in my group then there is a list of ideas for research projects. I am always happy to discuss these ideas and others with potential research students and postdocs.

Research Team

Current research team: Kerstin Neubarth (MSc student), Keith Greenhow, Carol Rizzi-Raymundo (PhD students)

I am always interested to hear from people who might be interested in working in our group as a PhD student or postdoc. Please email me to discuss ideas.

Public Engagement with Science

I am the local organiser of Cafe Scientifique, see the site for the latest talks and discussions. Do get in touch with me if you want to be put on the mailing list.



Currently teaching CO871 Advanced Java and CO323 Databases and the Web, coordinating the CO880 MSc projects, and supervising various undergraduate and MSc projects on knot theory, story creation, data mining and learning analytics.


I was a student at the University of York, where I studied mathematics. After graduating I worked at Napier University in Edinburgh and the University of Exeter, before coming to Kent in 1999. Other areas of life on my personal site.

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 24/04/2014