School of Computing

Mr Tom Castle

Research Student

Photo of T Castle
  • Tel:     +44 (0)1227 82
  • Fax:     +44 (0)1227 762811
  • Email: tc33@kent.ac.uk
  • Room
    School of Computing
    University of Kent, CT2 7NF

Publications

My publications are available from the Computer Science department publications repository.

PhD Project Summary

Under the guidance of Colin Johnson, I am researching the applicability of human programming methods to genetic programming. Human programmers are taught to program using techniques which are quite distinct from the way that the GP algorithm operates. Can machines learn a thing or two about programming from the way humans do it? Maybe.

One of the strengths of the GP technique is its ability to develop novel solutions to problems. It is unlikely that any approach that mimics the way humans program will produce such novel solutions. But, often we don't care about a novel solution, we just want any solution, and sometimes we would like to be able to understand the code that is generated.

Some of the ways in which I am looking to do this, are by encouraging GP systems to look for solutions with properties like those written by their human counterparts, for instance, utilising idioms and following 'good programming practice'.

Research Interests

I am a member of the following research groups:

Automatic Programming

My primary area of interest is in automatic programming with genetic programming. Much of the research in this area is concerned with the generation of simple functional programs. However, I am more interested in the idea of using GP to contribute to the software engineer's task of developing much larger software. My PhD research, outlined above, is towards this purpose.

Computational Intelligence

I am also interested in other applications of evolutionary algorithms, as well as other computational intelligence techniques such as swarm intelligence and neural networks.

Software

In the course of my research I have developed the following software which may be useful:

EpochX genetic programming software for research.

JHeatChart simple Java library for generating heat map charts.

Other software, and updates can be found on my website.

Teaching

I currently teach on the following module:
  • CO320 - Introduction to Object-Oriented Programming
And I have previously taught on:
  • CO326 - Functional Programming
  • CO327 - Web Applications
  • CO357 - Computing for Business and Accounting
  • CO520 - Further Object-Oriented Programming
  • CO871 - Advanced Java for Programmers

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

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

Last Updated: 21/05/2012 03:20