Abstract
Teaching computer programming to children and adolescents has become popular in recent years. This popularity has resulted in increased research into techniques for teaching introductory programming using visual languages, especially block-based languages. This study aims to explore new possibilities for teaching programming by adopting a hybrid environment between the descriptive and flow-oriented paradigm. The use of the Semiotic Engineering’s Communicability Evaluation Method (CEM), a theoretical line of Human-Computer Interaction based on communication, was applied to assess its usefulness to a high school audience. The teaching activities took place in cycles, with successive refinements, forming an action-research strategy. In this way, we conducted a descriptive case study with a qualitative analysis of the data, in which we collected a participant observation scheme. Our results established that the use of CEM in education was appropriate, that the proposed environment was suitable for the study, and the topics were relevant to the target audience.
Similar content being viewed by others
References
Adler, R. F., & Kim, H. (2018). Enhancing future K-8 teachers’ computational thinking skills through modeling and simulations. Education and Information Technologies, 23(4), 1501–1514. https://doi.org/10.1007/s10639-017-9675-1.
Aivaloglou, E., & Hermans, F. (2016). How Kids Code and How We Know: An Exploratory Study on the Scratch Repository. Proceedings of the 2016 ACM Conference on International Computing Education Research - ICER ‘16, 53–61. https://doi.org/10.1145/2960310.2960325.
Antonio da Silva Eloy, A., De Deus Lopes, R., & Martins Angelo, I. (2017). Uso do Scratch no Brasil com objetivos educacionais: Uma revisão sistemática. RENOTE, 15(1). https://doi.org/10.22456/1679-1916.75164
Blackwell, A. F. (2017). 6,000 years of programming language design: A meditation on Eco’s perfect language. In S. Diniz Junqueira Barbosa & K. Breitman (Eds.), Conversations Around Semiotic Engineering (pp. 31–39). Springer International Publishing. https://doi.org/10.1007/978-3-319-56291-9_5.
Blanchard, J., Gardner-McCune, C., & Anthony, L. (2019). Effects of code representation on student perceptions and attitudes toward programming. 2019 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), 127–131. https://doi.org/10.1109/VLHCC.2019.8818762.
Blikstein, P. (2018). Pre-college computer science education: A survey of the field. Mountain View: Google LLC.
Burd, B., Barker, L., Divitini, M., Perez, F. A. F., Russell, I., Siever, B., & Tudor, L. (2017). Courses, Content, and Tools for Internet of Things in Computer Science Education. Proceedings of the 2017 ITiCSE Conference on Working Group Reports - ITiCSE-WGR ‘17, 125–139. https://doi.org/10.1145/3174781.3174788.
Cerwall, P., Jonsson, P., Möller, R., Bävertoft, S., Carson, S., & Godor, I. (2015). Ericsson mobility report. On the Pulse of the Networked Society. Hg. v. Ericsson.
Chaczko, Z., & Braun, R. (2017). Learning data engineering: Creating IoT apps using the node-RED and the RPI technologies. 2017 16th International Conference on Information Technology Based Higher Education and Training (ITHET), 1–8. https://doi.org/10.1109/ITHET.2017.8067827.
Chagas, B. A., Redmiles, D. F., & de Souza, C. S. (2018). Observed Appropriation of IoT Technology: A Semiotic Account. Proceedings of the 17th Brazilian Symposium on Human Factors in Computing Systems - IHC 2018, 1–10. https://doi.org/10.1145/3274192.3274225.
Conway-Jones, D. (2015). The use of visual programming tools and techniques for rapid in field ad-hoc edge of the network situational application integration in a coalition environment. (T. Pham & M. A. Kolodny, Eds.; p. 946406). https://doi.org/10.1117/12.2180375.
Cooper, S., Dann, W., & Pausch, R. (2000). Alice: A 3-D tool for introductory programming concepts. Journal of Computing Sciences in Colleges, 15(5), 107–116.
De Souza, C. S. (2005). The semiotic engineering of human-computer interaction. MIT press.
de Souza, C. S., & Cypher, A. (2008). Semiotic engineering in practice: Redesigning the CoScripter interface. Proceedings of the Working Conference on Advanced Visual Interfaces - AVI ‘08, 165. https://doi.org/10.1145/1385569.1385597.
de Souza, C. S., & Leitão, C. F. (2009). Semiotic engineering methods for scientific research in HCI. Synthesis Lectures on Human-Centered Informatics, 2(1), 1–122. https://doi.org/10.2200/S00173ED1V01Y200901HCI002.
Dickerson, S. J. (2017). A comprehensive approach to educating students about the internet-of-things. 2017 IEEE Frontiers in Education Conference (FIE), 1–7. https://doi.org/10.1109/FIE.2017.8190533.
diSessa, A. A. (2004). Metarepresentation: Native competence and targets for instruction. Cognition and Instruction, 22(3), 293–331. https://doi.org/10.1207/s1532690xci2203_2.
Egri-Nagy, A. (2017). Declarativeness: The work done by something else. ArXiv Preprint ArXiv:1711.09197.
Fraser, N. (2013). Blockly: A visual programming editor. URL: https://Code.Google.Com/p/Blockly.
Hauck, M., Machhamer, R., Czenkusch, L., Gollmer, K.-U., & Dartmann, G. (2019). Node and block-based development tools for distributed systems with AI applications. IEEE Access, 7, 143109–143119. https://doi.org/10.1109/ACCESS.2019.2940113.
Hermans, F., Stolee, K. T., & Hoepelman, D. (2016). Smells in block-based programming languages. 2016 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), 68–72. https://doi.org/10.1109/VLHCC.2016.7739666.
Hine, G. S. (2013). The importance of action research in teacher education programs.
Hosny, A., Parmar, C., Quackenbush, J., Schwartz, L. H., & Aerts, H. J. W. L. (2018). Artificial intelligence in radiology. Nature Reviews Cancer, 18(8), 500–510. https://doi.org/10.1038/s41568-018-0016-5.
Hsu, T.-C., Chang, S.-C., & Hung, Y.-T. (2018). How to learn and how to teach computational thinking: Suggestions based on a review of the literature. Computers & Education, 126, 296–310. https://doi.org/10.1016/j.compedu.2018.07.004.
Iannucci, R. A. (1988). Toward a dataflow/von Neumann hybrid architecture (Vol. 16). IEEE Computer Society Press.
Ilic, U., Haseski, H. I., & Tugtekin, U. (2018). Publication Trends Over 10 Years of Computational Thinking Research. Contemporary Educational Technology, 131–153. https://doi.org/10.30935/cet.414798.
Jordan, M. I., & Mitchell, T. M. (2015). Machine learning: Trends, perspectives, and prospects. Science, 349(6245), 255–260. https://doi.org/10.1126/science.aaa8415.
Kalelioğlu, F. (2015). A new way of teaching programming skills to K-12 students: Code.org. Computers in Human Behavior, 52, 200–210. https://doi.org/10.1016/j.chb.2015.05.047.
Karpathy, A. (2017). Software 2.0. Medium.
Malan, D. J., & Leitner, H. H. (2007). Scratch for budding computer scientists. Proceedinds of the 38th SIGCSE Technical Symposium on Computer Science Education - SIGCSE ‘07, 223. https://doi.org/10.1145/1227310.1227388.
Maloney, J., Resnick, M., Rusk, N., Silverman, B., & Eastmond, E. (2010). The scratch programming language and environment. ACM Transactions on Computing Education, 10(4), 1–15. https://doi.org/10.1145/1868358.1868363.
Mladenović, M., Boljat, I., & Žanko, Ž. (2018). Comparing loops misconceptions in block-based and text-based programming languages at the K-12 level. Education and Information Technologies, 23(4), 1483–1500. https://doi.org/10.1007/s10639-017-9673-3.
Moreira, F. T., Magalhães, A., Ramos, F., & Vairinhos, M. (2018). The Power of the Internet of Things in Education: An Overview of Current Status and Potential. In Ó. Mealha, M. Divitini, & M. Rehm (Eds.), Citizen, Territory and Technologies: Smart Learning Contexts and Practices (Vol. 80, pp. 51–63). Springer International Publishing. https://doi.org/10.1007/978-3-319-61322-2_6.
Pasternak, E., Fenichel, R., & Marshall, A. N. (2017). Tips for creating a block language with blockly. 2017 IEEE Blocks and Beyond Workshop (B&B), 21–24. https://doi.org/10.1109/BLOCKS.2017.8120404.
Price, T. W., & Barnes, T. (2015). Comparing Textual and Block Interfaces in a Novice Programming Environment. Proceedings of the Eleventh Annual International Conference on International Computing Education Research - ICER ‘15, 91–99. https://doi.org/10.1145/2787622.2787712.
Rampasek, L., & Goldenberg, A. (2016). TensorFlow: Biology’s gateway to deep learning? Cell Systems, 2(1), 12–14. https://doi.org/10.1016/j.cels.2016.01.009.
Ray, P. P. (2017). A survey on visual programming languages in internet of things. Scientific Programming, 2017, 1–6. https://doi.org/10.1155/2017/1231430.
Resnick, M., Silverman, B., Kafai, Y., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., & Silver, J. (2009). Scratch: Programming for all. Communications of the ACM, 52(11), 60. https://doi.org/10.1145/1592761.1592779.
Seiter, L., & Foreman, B. (2013). Modeling the learning progressions of computational thinking of primary grade students. Proceedings of the Ninth Annual International ACM Conference on International Computing Education Research - ICER ‘13, 59. https://doi.org/10.1145/2493394.2493403.
Smaragdakis, Y. (2019). Next-paradigm programming languages: what will they look like and what changes will they bring? Proceedings of the 2019 ACM SIGPLAN international symposium on new ideas, new paradigms, and reflections on programming and software - Onward! 187–197. https://doi.org/10.1145/3359591.3359739.
Tanz, J. (2016). Soon we won’t program computers. We’ll train them like dogs. Wired. May,17.
Topalli, D., & Cagiltay, N. E. (2018). Improving programming skills in engineering education through problem-based game projects with scratch. Computers & Education, 120, 64–74. https://doi.org/10.1016/j.compedu.2018.01.011.
Wälter, J. (2019). Functional Programming for Web and Mobile–A Review of the Current State of the Art.
Weintrop, D., & Wilensky, U. (2015). To block or not to block, that is the question: Students’ perceptions of blocks-based programming. Proceedings of the 14th International Conference on Interaction Design and Children - IDC ‘15, 199–208. https://doi.org/10.1145/2771839.2771860.
Weintrop, D., & Wilensky, U. (2017). Comparing block-based and text-based programming in high school computer science classrooms. ACM Transactions on Computing Education, 18(1), 1–25. https://doi.org/10.1145/3089799.
Weintrop, D., & Wilensky, U. (2017b). Between a Block and a Typeface: Designing and Evaluating Hybrid Programming Environments. Proceedings of the 2017 Conference on Interaction Design and Children - IDC ‘17, 183–192. https://doi.org/10.1145/3078072.3079715.
Weintrop, D., & Wilensky, U. (2019). Transitioning from introductory block-based and text-based environments to professional programming languages in high school computer science classrooms. Computers & Education, 142, 103646. https://doi.org/10.1016/j.compedu.2019.103646.
World Economic Forum. (2016). The future of jobs: Employment, skills and workforce strategy for the Fourth Industrial Revolution.
Yamanoor, N. S., & Yamanoor, S. (2017). High quality, low cost education with the raspberry pi. 2017 IEEE Global Humanitarian Technology Conference (GHTC), 1–5. https://doi.org/10.1109/GHTC.2017.8239274.
Yuen, T. T., Reyes, M., & Zhang, Y. (2019). Introducing computer science to high school students through logic programming. Theory and Practice of Logic Programming, 19(2), 204–228. https://doi.org/10.1017/S1471068418000431.
Zhang, L., & Nouri, J. (2019). A systematic review of learning computational thinking through scratch in K-9. Computers & Education, 141, 103607. https://doi.org/10.1016/j.compedu.2019.103607.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Goudouris, C., de Abreu Mol, A.C., Legey, A.P. et al. Applying flow-based principles in teaching computer programming to high school students: A semiotic perspective. Educ Inf Technol 25, 5451–5476 (2020). https://doi.org/10.1007/s10639-020-10193-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10639-020-10193-5