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.


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


Department of Computing

College of Business, Technology and Engineering

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


Journal articles

Robinson, A., & Bates, C. (2017). APRT – Another Pattern Recognition Tool. GSTF Journal on Computing, 5 (2).

Yates, S., Akhgar, B., Bates, C., Jopek, L., & Wilson, R. (2011). A platform for discovering and sharing confidential ballistic crime data. International Journal of Knowledge and Web Intelligence, 2 (2/3), 202-218.

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. In CSEDU 2018 Proceedings : 10th International conference on computer supported education, (pp. 245-252). SCITEPRESS:

Stratton, A., Bates, C., & Dearden, A. (2017). Quando: enabling museum and art gallerypractitioners to develop interactive digital exhibits. In Barbosa, S., Markopoulos, P., Paternò, F., Stumpf, S., & Valtolina, S. (Eds.) End-user development : 6th International Symposium on End-User Development, IS-EUD 2017, Eindhoven, The Netherlands, June 13-15, 2017, Proceedings, (pp. 100-107). Cham: Springer:

Robinson, A., & Bates, C. (2016). Recovering Design Patterns from Large Codebases. Computer Science Education : Innovation and Technology (CSEIT) Conference, 136-143.

Majnu, A., Bates, C., & Roast, C. (2016). Dimension of non-trivial online forms. In Proceedings of the British HCI Conference 2016. BCS / ACM:

Bates, C., Doherty, K., & Grainger, K. (2011). Understanding Programmers Through Discourse Analysis. In RAISE 2011, University Central Lanacashire, Preston, UK, 9 June 2011.

Bates, C., Doherty, K., & Grainger, K. (2011). Facework in a pair-programming session. In Psychology of Programming Interest Group Work in Progress, Sheffield Hallam University, 18 April 2011 - 19 April 2011.

Wilson, R., Jopek, L., & Bates, C. (2010). Sharing ballistics data across the European Union. In IARIA, Lisbon, Portugual, 10 November 2010. IARIA

Jopek, L., Wilson, R., & Bates, C. (2010). An application of a domain-specific language facilitating abstraction and secure access to a crime and ballistic data sharing platform. In IARIA, Lisbon, Portugual, 10 November 2010 (pp. 29-33). IARIA

Bates, C., & Yates, S. (2008). Scrum down: a software engineer and a sociologist explore the implementation of an agile method. Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering, 13-16.

Bates, C.D., Jelly, I.E., Forgacs, I., Szabo, E., & Kerridge, J.M. (1996). Semantic computability: A mechanism for the description of test data sets for scaleable information systems. In High-Performance Computing and Networking, (pp. 677-682). Springer Berlin Heidelberg:

Szabó, É., Forgács, I., Bates, C., & Jelly, I. (1996). A new language for automatic data generation. In Parallel Computation, (pp. 221-222). Springer Berlin Heidelberg:

Jelly, I., Kerridge, J., & Bates, C. (1994). Benchmarking parallel SQL database machines. In Directions in Databases, (pp. 105-120). Springer Berlin Heidelberg:

Kerridge, J., Jelly, I., & Bates, C. Evaluation of high performance parallel database machines. In High-Performance Computing and Networking, (pp. 424-429). Springer-Verlag:

Book chapters

Yates, S.J., Bates, C., Akhgar, B., Jopek, L., Wilson, R., Mitchell, S.J., & Killick, S. (2011). The Odyssey Project – Understanding and Implementing User Needs in the Context of Ballistic Crime Data Exchange. In Advanced Information and Knowledge Processing. (pp. 11-34). Springer London:

Mcseveny, K., & Waddington, D. (2011). Up close and personal : the interplay between information technology and human agency in the policing of the 2011 Sheffield Anti-Lib Dem protes. In Akhgar, B., & Yates, S. (Eds.) Intelligence management : knowledge driven frameworks for combating terrorism and organized crime. (pp. 199-212). Springer:

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"

Cancel event

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