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.
Business, Technology and Enterprise
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
- Culture and Creativity Research Institute
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. http://doi.org/10.1504/IJKWI.2011.044124
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. In CSEDU 2018 Proceedings : 10th International conference on computer supported education, (pp. 245-252). SCITEPRESS: http://doi.org/10.5220/0006693302450252
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: http://doi.org/10.1007/978-3-319-58735-6_7
Robinson, A., & Bates, C. (2016). Recovering Design Patterns from Large Codebases. Computer Science Education : Innovation and Technology (CSEIT) Conference, 136-143. http://doi.org/10.5176/2251-2195_CSEIT16.15
Majnu, A., Bates, C., & Roast, C. (2016). Dimension of non-trivial online forms. In Proceedings of the British HCI Conference 2016. BCS / ACM: https://www.scienceopen.com/document/read?vid=42ecf067-9b8d-46ac-8c84-3a551f4e204e
Bates, C., Doherty, K., & Grainger, K. (2011). Understanding Programmers Through Discourse Analysis. In RAISE 2011, University Central Lanacashire, Preston, UK, 9 June 2011. http://www.agilenorth.org/wp-content/uploads/2011/05/Whats-the-Sense-of-Using-Echo.pdf
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. http://extra.shu.ac.uk/crr/wip_ppig_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. http://doi.org/10.1145/1370114.1370118
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. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 1067, 677-682. http://doi.org/10.1007/3-540-61142-8_613
Szabó, É., Forgács, I., Bates, C., & Jelly, I. (1996). A new language for automatic data generation. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 1127, 221-222.
Kerridge, J., Jelly, I., & Bates, C. (1994). Evaluation of high performance parallel database machines. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 796 LNCS, 424-429. http://doi.org/10.1007/bfb0020412
Jelly, I., Kerridge, J., & Bates, C. (1994). Benchmarking parallel SQL database machines. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 826 LNCS, 105-120.
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: http://doi.org/10.1007/978-1-4471-2140-4
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). http://doi.org/10.1007/978-1-4471-2140-4_2
External examiner at University of Sheffield
Second supervisor on a project entitled "Enhancing usability of non-trivial online forms using models"