PIs: Prof. Dr. Gordon Fraser, Prof. Dr. Tilman Michaeli
Funding: Deutsche Forschungsgemeinschaft (DFG)
Duration: 2026 - 2029
About the project
Programming is at the core of computer science education, and its central role in computational thinking leads to a tight integration of programming in the curricula at all school levels. To support learners in particular at early stages, block-based programming languages use visual blocks to represent programming statements, thus simplifying the creation of syntactically correct programs. While this approach is hugely popular, the challenges of creating functionally correct programs as well as teaching how to do so remain, and are exacerbated by the complete absence of all the powerful mechanisms for inspecting and analysing programs that are common in professional text-based programming approaches. In the DFG project TenderBlock we therefore provided the foundations for program analysis of block-based programs, focusing on the Scratch programming environment. We successfully investigated static program analysis, built powerful automated testing approaches, and applied these to tasks such as program repair and hint generation. However, deployment in the classroom is still limited by two fundamental factors: - First, there is in general a lack of understanding of how to best communicate the output of program analysis tools to learners in terms of formative or summative feedback that helps to ensure both, success in creating working programs as well as achieving the desired learning outcomes. This is a technical as well as a pedagogical challenge: On the one hand, the uprising of neural program analysis makes it possible to create elaborate and descriptive text but its application to block-based programming languages has not been studied in detail yet. On the other hand, common program analysis results such as test failures, suspicious lines of code, or patches are not always the best means of feedback to ensure learning success. - Second, there is a fundamental gap between the availability of program analysis tools and the ability of educators to build on these to improve their lessons and teaching. This is again a technical as well as pedagogical challenge: Beyond individual programs, analyses need to monitor the programs of cohorts of learners, and educators need to be supported in improving their lessons and lesson material from the resulting wealth of data. In the PetBlock project we aim to address these challenges using an inter-disciplinary approach combining technical and didactical research. We will develop novel neural program analyses that will make it possible to provide more elaborate feedback to programming learners, build a solid theory of programming feedback to create pedagogically valuable feedback, lift analysis from individual programs to cohorts of learners developing similar and also open-ended programs at the class level and use design-based research to iteratively develop interventions. This will serve as foundation for developing a fundamental teaching pedagogy of block-based programming.
