The King's Computing Education Research Centre develops innovative tools and pedagogy to improve computing education at all ages, around the world. We are committed to improving the quality of computing teaching in schools, universities and for individual learners.
Research topics
The Centre is engaged in a wide range of activities, including research, design and development of software systems, development of pedagogy, dissemination and teacher training.
A special focus area is the development of educational software for novice programmers and the design of pedagogical approaches for programming education.
Projects

Strype
Strype is a frame-based Python editor running in a web browser. It eases entry into Python programming for novice learners. Project members: Michael Kölling, Neil Brown, Pierre Weill-Tessier

MDENet
MDENet is the expert network for model-driven engineering. More information about the network is available on the network website, below. Project members: Steffen Zschaler, Perdita Stevens (University of Edinburgh)

Greenfoot
An educational programming environment designed to make learning programming easy and engaging. Greenfoot is aimed at novice programmers aged 12 to 18. Project members: Michael Kölling, Neil Brown, Pierre Weill-Tessier

BlueJ
BlueJ is an educational IDE for the learning and teaching of object-oriented programming. It supports development in Java and Stride. Project members: Michael Kölling, Neil Brown, Pierre Weill-Tessier

Blackbox
The BlueJ Blackbox data collection project is an initiative by the developers of BlueJ to collect data on how BlueJ is used for the purposes of academic research. Project members: Neil Brown, Michael Kölling
Publications
Selected recent publications |
Analysis of Student Preference to Group Work Assessment in Cybersecurity Courses
Xiao, H, Spring, J & Kuzminykh, I. 2024. 2nd International Workshop on CyberSecurity Education for Industry and Academia (CSE4IA 2024), Genova, Italy.
Automated Grading and Feedback Tools for Programming Education: A Systematic Review
Messer, M, Brown, N, Kölling, M & Miaojing, S. 2024. Transactions of Computing Education, vol. 24, no. 1.
Data-featured computer science programme students’ KASE employability traits – MSc Urban Informatics Programme as a case study
Canty, R. & Li, Y. Advance HE: Lighting the Labyrinth: enhancing student success through the 3Es. p. 71 92 p.
Move your MDE teaching online: The MDENet Education Platform
Zschaler, S, Barnett, W, Boronat, A, Garcia-Dominguez, A & Kolovos, D. 2024. MODELS 2025, Tools and Demonstrations track.
Evaluating the Effectiveness of Online Cybersecurity Program in Higher Education
Salem, M., Samara, K., Pray, J. & Hussein, M. EDUCON 2024 - IEEE Global Engineering Education Conference, Proceedings.
Books |
Barnes, D.J. and Kölling, M., Objects First with Java – A Practical Introduction using BlueJ, Prentice Hall / Pearson Education, Sixth Edition, 2017, ISBN 978-013-447736-7.
Kölling, M., Introduction to Programming with Greenfoot, Prentice Hall/Pearson Education, Second Edition, 2015, ISBN 013-405429-6.
Bennedsen, J., Caspersen, M.E. and Kölling, M. (Eds.) Reflections on the Teaching of Programming, Lecture Notes in Computer Science , Vol. 4821, Springer, 2008, ISBN: 978-3-540-77933-9
All publications |
List of CERC Publications
Activities

Felienne Hermans: Building Hedy: a gradual multilingual programming language for education
In this talk, Felienne Hermans, Professor of Computer Science Education at Vrije Universiteit Amsterdam will share her journey of creating Hedy. Hedy is an easy-to-use, multilingual (currently supporting 62 languages) programming language with gradual syntax that was specifically designed for teaching. Felienne will describe how Hedy began, while she was struggling to teach 12-year-olds Python, and how her perspectives on learning and teaching changed along the way, and how Hedy changed with it. Thu, 1st May 2025, 16:00-17:00, Strand building, room S3.40

Seminars and research meetings
Fortnightly research centre meetings, including seminars, external speakers and research discussions. The list of meeting times and topics is available below.

Workshop: Teaching Python Programming with Strype
Two workshops for school teachers who wish to learn about teaching Python programming with Strype. Dates: 25 November and 10 December. See below for more information and registration.
PhDs
Current PhD Projects

Automated Assessment of Code Quality
This project aims at automatic aspects of assessing code quality, with a focus code documentation quality. It aims to use large language models to provide feedback on aspects of code documentation, including relevance, style and quality. PhD student: Marcus Messer Supervisors: Michael Kölling, Neil Brown, Miaojing Shi

Frame-based programming for vision impaired programmers
This project aims at designing and implementing a novel programming system for vision impaired programmers. It builds on the frame-based editing paradigm to support improved code navigation and manipulation interactions. PhD student: Joshua Lock Supervisors: Michael Kölling, Neil Brown
Future Projects
If you are interested in taking up PhD study with us, please contact us at cerc@kcl.ac.uk or email individual potential supervisors directly.
Projects

Strype
Strype is a frame-based Python editor running in a web browser. It eases entry into Python programming for novice learners. Project members: Michael Kölling, Neil Brown, Pierre Weill-Tessier

MDENet
MDENet is the expert network for model-driven engineering. More information about the network is available on the network website, below. Project members: Steffen Zschaler, Perdita Stevens (University of Edinburgh)

Greenfoot
An educational programming environment designed to make learning programming easy and engaging. Greenfoot is aimed at novice programmers aged 12 to 18. Project members: Michael Kölling, Neil Brown, Pierre Weill-Tessier

BlueJ
BlueJ is an educational IDE for the learning and teaching of object-oriented programming. It supports development in Java and Stride. Project members: Michael Kölling, Neil Brown, Pierre Weill-Tessier

Blackbox
The BlueJ Blackbox data collection project is an initiative by the developers of BlueJ to collect data on how BlueJ is used for the purposes of academic research. Project members: Neil Brown, Michael Kölling
Publications
Selected recent publications |
Analysis of Student Preference to Group Work Assessment in Cybersecurity Courses
Xiao, H, Spring, J & Kuzminykh, I. 2024. 2nd International Workshop on CyberSecurity Education for Industry and Academia (CSE4IA 2024), Genova, Italy.
Automated Grading and Feedback Tools for Programming Education: A Systematic Review
Messer, M, Brown, N, Kölling, M & Miaojing, S. 2024. Transactions of Computing Education, vol. 24, no. 1.
Data-featured computer science programme students’ KASE employability traits – MSc Urban Informatics Programme as a case study
Canty, R. & Li, Y. Advance HE: Lighting the Labyrinth: enhancing student success through the 3Es. p. 71 92 p.
Move your MDE teaching online: The MDENet Education Platform
Zschaler, S, Barnett, W, Boronat, A, Garcia-Dominguez, A & Kolovos, D. 2024. MODELS 2025, Tools and Demonstrations track.
Evaluating the Effectiveness of Online Cybersecurity Program in Higher Education
Salem, M., Samara, K., Pray, J. & Hussein, M. EDUCON 2024 - IEEE Global Engineering Education Conference, Proceedings.
Books |
Barnes, D.J. and Kölling, M., Objects First with Java – A Practical Introduction using BlueJ, Prentice Hall / Pearson Education, Sixth Edition, 2017, ISBN 978-013-447736-7.
Kölling, M., Introduction to Programming with Greenfoot, Prentice Hall/Pearson Education, Second Edition, 2015, ISBN 013-405429-6.
Bennedsen, J., Caspersen, M.E. and Kölling, M. (Eds.) Reflections on the Teaching of Programming, Lecture Notes in Computer Science , Vol. 4821, Springer, 2008, ISBN: 978-3-540-77933-9
All publications |
List of CERC Publications
Activities

Felienne Hermans: Building Hedy: a gradual multilingual programming language for education
In this talk, Felienne Hermans, Professor of Computer Science Education at Vrije Universiteit Amsterdam will share her journey of creating Hedy. Hedy is an easy-to-use, multilingual (currently supporting 62 languages) programming language with gradual syntax that was specifically designed for teaching. Felienne will describe how Hedy began, while she was struggling to teach 12-year-olds Python, and how her perspectives on learning and teaching changed along the way, and how Hedy changed with it. Thu, 1st May 2025, 16:00-17:00, Strand building, room S3.40

Seminars and research meetings
Fortnightly research centre meetings, including seminars, external speakers and research discussions. The list of meeting times and topics is available below.

Workshop: Teaching Python Programming with Strype
Two workshops for school teachers who wish to learn about teaching Python programming with Strype. Dates: 25 November and 10 December. See below for more information and registration.
PhDs
Current PhD Projects

Automated Assessment of Code Quality
This project aims at automatic aspects of assessing code quality, with a focus code documentation quality. It aims to use large language models to provide feedback on aspects of code documentation, including relevance, style and quality. PhD student: Marcus Messer Supervisors: Michael Kölling, Neil Brown, Miaojing Shi

Frame-based programming for vision impaired programmers
This project aims at designing and implementing a novel programming system for vision impaired programmers. It builds on the frame-based editing paradigm to support improved code navigation and manipulation interactions. PhD student: Joshua Lock Supervisors: Michael Kölling, Neil Brown
Future Projects
If you are interested in taking up PhD study with us, please contact us at cerc@kcl.ac.uk or email individual potential supervisors directly.