Skip to content

Chris Bates

Dr Chris Bates

Principal Lecturer in Software Engineering, Graphics and Multimedia


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.

  • About

    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.

    Software Engineering
    Computer Science

  • Teaching

    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

  • Research

    • Communication and Computing Research Centre
    • Cultural Communication and Computing Research Institute


    Research Degree - Message Passing: How software engineers use talk

  • Publications

    Journal articles

    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.

    Conference papers

    Mvalo, S., & Bates, C. (2018). Students’ understanding of computational thinking with a focus on decomposition in building network simulations. SCITEPRESS:

    Stratton, A., Bates, C., & Dearden, A. (2017). Quando: enabling museum and art gallery practitioners to develop interactive digital exhibits. Cham: Springer:

    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.

  • Other activities

    External examiner at University of Sheffield

  • Postgraduate supervision

    Second supervisor on a project entitled "Enhancing usability of non-trivial online forms using models"

Share this page

Cancel event

Are you sure you want to cancel your place on Saturday 12 November?