I lead on Undergraduate Recruitment for the Department. My teaching is in interesting areas of programming with a particular focus on the design of both programming languages and of software frameworks.
Whilst much Software Engineering research focuses on tools and techniques, I am interested in the act and craft of programming. I study the ways in which programmers make sense of their work, how they talk to each other about that work and the methods which they use to produce and share understanding.
I am an experienced academic teacher, author, researcher and software engineer.
The art of writing software interests me. My research uses data gathering techniques and analytical approaches which are heavily informed by the social sciences, in particular ethnography and conversation analysis. In my work I try to reveal what programmers do as they think about, develop and talk about the code which they create.
My background is in the design, implementation and testing of parallel and distributed computer systems. For ten years I researched the performance of parallel database servers. During this time I wrote software which automated the generation of large test data sets which could be used to evaluate the performance of decision-support applications.
I was Scientific and Technical lead on the EU FP7 funded Odyssey project. This project investigated ways in which Police forces from across the EU could share data about gun-crime through a single secure, automated platform. The project successfully demonstrated that such sharing was feasible but that doing so required much higher quality data than is normally gathered. Odyssey was built on top of a number of technologies including ontologically sound semantic data structures, Oracle’s Netbeans platform, and industry-standard Java libraries such as ApacheMQ.
I am the author of a number of best-selling undergraduate textbooks about Web development and XML. My Web Development book is used as a set-text at a number of Universities both in the UK and around the World.
Department of Computing
Science, Technology and Arts
Academic supervisor on a KTP to develop a business process management system for the construction industry
Software Engineering, Graphics and Multimedia
BEng Software Engineering
MEng Software Engineering BSc Computer Science
Fundamentals of Programming Languages
55-6787 Functional Programming 12-6321 Applications Architectures and Frameworks
- Communication and Computing Research Centre
- Cultural Communication and Computing Research Institute
Bates, C., Jelly, I., & Kerridge, J. (1996). Modelling test data for performance evaluation of large parallel database machines. Distributed and Parallel Databases, 4 (1), 5-23. http://doi.org/10.1007/BF00122146
Mvalo, S., & Bates, C. (2018). Students’ understanding of computational thinking with a focus on decomposition in building network simulations. SCITEPRESS: http://doi.org/10.5220/0006693302450252
Stratton, A., Bates, C., & Dearden, A. (2017). Quando: enabling museum and art gallery practitioners to develop interactive digital exhibits. Cham: Springer: http://doi.org/10.1007/978-3-319-58735-6_7
Wilson, R., Jopek, L., & Bates, C. (2010). Sharing ballistics data across the European Union. In IARIA, Lisbon, Portugual, 10 November 2010. IARIA
Szabó, É., Forgács, I., Bates, C., & Jelly, I. (1996). A new language for automatic data generation. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 1127, 221-222.
External examiner at University of Sheffield
Second supervisor on a project entitled "Enhancing usability of non-trivial online forms using models"