2022 Volume 30 Pages 729-741
From 2020, programming is a compulsory subject in elementary schools in Japan. Since many schools are using block-based programming languages and environments as teaching materials, the number of students who have already learned block-based programming is expected to increase. To help such learners of block-based programming shift to text-based programming languages, we have designed and implemented a programming learning environment named TABLET. We have designed TABLET as a syntax-directed system that focuses on making the learner aware of the syntax of the target text-based language. To this end, TABLET incorporates two programming behaviors: deriving blocks for non-terminal symbols of the target language and writing program code directly with text. TABLET synchronizes these two behaviors to make it easier for the learner to grasp the correspondence between block-based programs and text-based programs. TABLET can be used for many target text-based languages as long as the syntax can be given as a set of Backus-Naur Form (BNF) rules. Thus, TABLET is general enough to capably generating blocks for the language and to enable the both programming behaviors. We conducted evaluation experiments with second-year undergraduate students. We found that TABLET made it easier for the students to grasp the correspondence between the block-based and text-based programs and to understand the syntax of the target language.