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

    "What's the sense of using Echo? Social Interaction in a Pair-Programming Session". C. Bates, K. Doherty, K. Grainger. In Proceedings of RAISE 2011. 2011.

    "Studying a Pair-Programming Session Using Discourse Analysis". C. Bates, K. Doherty, K. Grainger. Psychology of Programming Work in Progress Symposium. 2011.

    MVALO, Steve and BATES, Christopher (2017). Students’ understanding of computational thinking with a focus on decomposition in building network simulations. In: CSEDU 2018 Proceedings : 10th International conference on computer supported education. SCITEPRESS, 245-252.

    ROBINSON, Ashley and BATES, Christopher (2017). APRT – Another Pattern Recognition Tool. GSTF Journal on Computing, 5 (2).

    STRATTON, Andy, BATES, Christopher and DEARDEN, Andrew (2017). Quando: enabling museum and art gallery practitioners to develop interactive digital exhibits. In: BARBOSA, Simone, MARKOPOULOS, Panos, PATERNÒ, Fabio, STUMPF, Simone and VALTOLINA, Stefano, (eds.) End-user development : 6th International Symposium on End-User Development, IS-EUD 2017, Eindhoven, The Netherlands, June 13-15, 2017, Proceedings. Lecture Notes in Computer Science (10303). Cham, Springer, 100-107.

    MAJNU, Aathira, BATES, Christopher and ROAST, Chris (2016). Dimension of non-trivial online forms. In: Proceedings of the British HCI Conference 2016. ACM International Conference Proceeding Series . BCS / ACM. (In Press)

    ROBINSON, Ashley and BATES, Christopher (2016). Recovering Design Patterns from Large Codebases. In: 7th Annual International Conference on Computer Science Education: Innovation and Technology, Singapore, 10-11 October 2016. (In Press)

    BATES, Christopher, DOHERTY, Kathy and GRAINGER, Karen (2011). Understanding Programmers Through Discourse Analysis. In: RAISE 2011, University Central Lanacashire, Preston, UK, June 9th 2011.

    BATES, Christopher, DOHERTY, Kathy and GRAINGER, Karen (2011). Facework in a pair-programming session. In: Psychology of Programming Interest Group Work in Progress, Sheffield Hallam University, April 18-19, 2011. (Unpublished)

    YATES, Simeon, BATES, Christopher, AKHGAR, Babak, JOPEK, Lukasz, WILSON, Richard, JOHNSON-MITCHELL, Sarah and KILLICK, Samantha (2011). The Odyssey Project - understanding and implementing user needs in the context of ballistic crime data exchange. In: Intelligence Management: Knowldege Driven Frameworks for Combatting Terrorism and Organised Crime. Advanced Information and Knowledge Processing . Springer, 11-48.

    YATES, Simeon, AKHGAR, Babak, BATES, Christopher, JOPEK, Lukasz and WILSON, Richard (2011). A platform for discovering and sharing confidential ballistic crime data. International Journal of Knowledge and Web Intelligence, 2 (2/3), 202-218.

    WILSON, Richard, JOPEK, Lukasz and BATES, Christopher (2010). Sharing ballistics data across the European Union. In: Computation tools 2010, The first international conference on computational logics, algebras, programming, tools, and benchmarking. IARIA.

    JOPEK, Lukasz, WILSON, Richard and BATES, Christopher (2010). An application of a domain-specific language facilitating abstraction and secure access to a crime and ballistic data sharing platform. In: Computation tools 2010: the first international conference on computational logics, algebras, programming, tools, and benchmarking. IARIA, 29-33. (Submitted)

    BATES, Christopher and YATES, Simeon (2008). Scrum down: a software engineer and a sociologist explore the implementation of an agile method. In: Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering (CHASE '08). New York, N.Y., ACM, 13-16.

    “Web programming: Building Internet Applications” by Chris Bates, Published by John Wiley and Sons, 2006.

    “XML in theory and practice” by Chris Bates, Published by John Wiley and Sons, 2003.

    “Creating Dynamic Content For The Web Using Perl”. C. Bates. In SoftwareFocus. June 2001.

    "Creating Realistic Data For Performance Evaluation". C. Bates, I. Ritchie. In Enterprise Information Systems II, Edited by B. Sharp, J. Filipe and J. Coerdeiro. Kluwer Academic Publishers, 2001.

    "Creating Realistic Data For Performance Evaluation". C. Bates, I. Ritchie. In Proceedings of Second International Conference on Enterprise Information Systems. Springer Verlag. 2001

    "A New Language for Automatic Data Generation". E.Szabo, I.Forgacs, C.Bates, I.E.Jelly. In Lecture Notes in Computing Science (1127), Springer-Verlag, 1996.

    “A Data Generation Language for the Performance Evaluation of Large Relational Database Systems”. E.Szabo, I.Forgacs, C.Bates, I.E.Jelly. In Proceedings of 3rd International ACPC Conference, Austria, September 1996.

    “Semantic Computability: A Mechanism for the Description of Test Data Sets for Scalable Information Systems”. C.Bates, I.E.Jelly, I.Forgacs, E.Szabo, J.M.Kerridge. High-Performance Computing and Networking. Springer-Verlag, 1996.

    “Modelling Test Data for Performance Evaluation of Large Parallel Database Machines”. Chris Bates, Innes Jelly, Jon Kerridge. In Distributed and Parallel Databases Journal, Volume 4, Number 1, January 1996.

    “Simulating Transaction Processing in Parallel Database Systems”. Chris Bates, Innes Jelly, Ivan Lalis, Peter Menhart. In Proceedings of the European Simulation Symposium, Erlangen, October 1995.

    “Performance Evaluation of Large Databases: Techniques and Tools”. Innes Jelly, Jon Kerridge and Chris Bates. In Commercial Applications of Parallel Processing, edited by John Keane. UNICOM Press Ltd, 1994.

    “Benchmarking Parallel SQL Database Machines”. I.Jelly, J.Kerridge, C.Bates. In Directions in Databases, Springer-Verlag, 1994.

    “Towards A Benchmark for Scalable Parallel Database Machines”. J.Kerridge, I.Jelly, C.Bates, I.Tsitogiannis. In Proceedings of PEPS Workshop, University of Warwick, 1993.

  • Other activities

    External examiner at University of Sheffield

  • Post graduate 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?