Development of Programming Learning Support System with Function for Switching Display Language and for Showing Students' Learning Status to Teachers
Abstract
For the education of programming beginners, the visual programming environment Scratch and the Japanese programming language Nadeshiko are attracting attention. These are excellent tools for learning programming. However, in order to program in a language used in practice, it is necessary to newly learn language-specific grammar, built-in functions, coding styles, and so on. It is difficult to utilize the knowledge learned in visual programming as it is. We propose a programming learning system that has a language switching function that switches the display of blocks to another programming language and a function that executes the program in a visually form. The learner can learn efficiently while comparing the language he/she knows with the language he/she does not know, and can intuitively grasp the behavior of the program.
References
Mobile marketing data labo., January 2020 Awareness Survey on Programming Education for Elementary and Junior High School Students, https://mmdlabo.jp/investigation/de-tail_1830.html (in Japanese) (accessed 31 Dec. 2021).
Mitchel Resnick, et al., Scratch: programming for all, Communications of the ACM, Vol.52, No.11, pp.60-67, 2009.
John Maloney, Mitchel Resnick, Natalie Rusk, Brain Silverman and Evelyn Eastmon, The Scratch Programming Language and Environment, ACM Transactions on Computing Educa-tion, Vol.10, No.4, Article 16, 2020.
Swift Playgrounds – Apple, https://www.apple.com/swift/playgrounds/ (accessed 31 Dec. 2021).
Japanese Programming Language Nadeshiko, https://nadesi.com/ (in Japanese) (accessed 31 Dec. 2021).
Mineaki SAKATOKU, Japanese Programming Language Nadeshiko, Computer Software, 2011, Volume 28, Issue 4, pp.23-28, 2011 (in Japanese).
D. Bau, J. Gray, C. Kelleher, J. Sheldon, F. Turbak, Learnable programming: blocks and be-yond, Communications of the ACM, June 2017, pp. 72-80, 2017.
M. Armoni, O. Meerbaum-Salant, M. Ben-Ari, From Scratch to “real” programming, ACM Transaction on Computing Education, Vol.14, No.4, Article No. 25, 2015.
Y. Matsuzawa, Y. Tanaka, S. Sakai "Measuring an impact of block-based language in intro-ductory programming". In: Brinda T., Mavengere N., Haukijarvi I., Lewin C., Passey D. (eds) Stakeholders and Information Technology in Education. SaITE 2016. IFIP Advances in Infor-mation and Communication Technology, vol 493. pp.16-25, Springer, Cham, 2016.
T. W. Price, T. Barnes, Comparing textual and block interfaces in a novice programming environment, Proceedings of the eleventh annual International Conference on Interna-tional Computing Education Research, pp.91-99, 2015.
Top 10 In-Demand programming languages to learn in 2020, https://towardsdatascience.com/top-10-in-demand-programming-languages-to-learn-in-2020-4462eb7d8d3e (accessed 31 Dec. 2021).
Programming language rankings: JavaScript still rules, Python holds off Java, https://www.zdnet.com/article/programming-language-rankings-javascript-still-rules-py-thon-holds-off-java/ (accessed 31 Dec. 2021).
Hussein Alrubaye, Stephanie Ludi, Mohamed Wiem Mkaouer, Comparison of block-based and hybrid-based environments in transferring programming skills to text-based environ-ments, Proceedings of the 29th Annual International Conference on Computer Science and Software Engineering, pp.100–109, 2019.
R. Benjamin Shapiro, Matthew Ahrens, Beyond blocks: syntax and semantics, Communi-cations of the ACM, Vol.59 Issue 5, pp.39–41, 2016.
Kujira Hikou Dukue, About Japanese Programming Language "Nadeshiko", IPSJ maga-zine, Vol.62, No.5, pp.e26-e42, 2021 (in Japanese).
Naoya Kamita, Tetsuo Tanaka, Prototyping and Evaluation of Programming Learning Sup-port System with Function for Switching Display Language, 10th International Congress on Advanced Applied Informatics (IIAI AAI 2021) Proc., pp.129-134, 2021.
Blockly Reference,https://developers.google.com/blockly/reference/overview (accessed 31 Dec. 2021).
Austin Z. Henley, Julian Ball, Benjamin Klein, Aiden Rutter, Dylan Lee, An inquisitive code editor for addressing novice programmers' misconceptions of program behavior,Proceedings of the 43rd International Conference on Software Engineering: Joint Track on Software En-gineering Education and Training, pp 165–170, 2021.
JS-Interpreter Documentation,https://neil.fraser.name/software/JS-Interpreter/docs.html (accessed 31 Dec. 2021).