Abstract
In order to teach Computational Thinking (CT) skills to young students, Block-Based Programming Environments (BBPEs) are integrated into secondary school computer science (CS) education curricula. As a CT skill, abstraction is one of the prominent skills, which is difficult to enhance and measure. Researchers developed some scales for measuring abstraction in BBPEs; however, it is still quite difficult to measure abstraction and understand students’ abstraction behaviors. The aim of this study is to suggest tasks that could help enhance students’ abstraction skills while teaching CT via block-based programming. In addition, a rubric to score the students’ abstraction behaviors in the problem solving process was created and validated. A framework with regard to the definitions of abstraction skill was adopted and the way to isolate it from other CT-skills was proposed. As a result, pattern recognition, generalizing, decomposition, focusing and eliminating were defined as indicators of abstraction in the problem solving process via BBPEs. The study also informed computer science educators about the relations between teaching CT via BBPEs, affordances of BBPEs and nature of abstraction.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Armoni, M. (2013). On teaching abstraction in cs to novices. Journal of Computers in Mathematics and Science Teaching, 32(3), 265–284. https://www.learntechlib.org/primary/p/41271/. Accessed 12/12/2021
Armoni, M. (2014). Spiral thinking: K-12 computer science education as part of holistic computing education. ACM Inroads, 5(2), 31–33. https://doi.org/10.1145/2614512.2614521
Atmatzidou, S., & Demetriadis, S. (2016). Advancing students’ computational thinking skills through educational robotics: A study on age and gender relevant differences. Robotics and Autonomous Systems, 75, 661–670. https://doi.org/10.1016/j.robot.2015.10.008
Barr, D., Harrison, J., & Conery, L. (2011). Computational thinking: A digital age skill for everyone. Learning & Leading with Technology, 38(6), 20–23. https://eric.ed.gov/?id=EJ918910. Accessed 12/12/2021
Barr, V., & Stephenson, C. (2011). Bringing computational thinking to K-12: What is Involved and what is the role of the computer science education community? Acm Inroads, 2(1), 48–54. https://doi.org/10.1145/1929887.1929905
Basawapatna, A., Repenning, A., Koh, K. H., Savignano, M. (2014). The Consume - Create Spectrum: Balancing Convenience and Computational Thinking in STEM Learning. In: Proceedings of the 45th ACM Technical Symposium on Computer Science Education, Atlanta, USA, 659–664. https://doi.org/10.1145/2538862.2538950.
Bennedsen, J., & Caspersen, M. E. (2006). Abstraction ability as an indicator of success for learning object-oriented programming? ACM Sigcse Bulletin, 38(2), 39–43. https://doi.org/10.1145/1138403.1138430
Berland, M., & Lee, V. R. (2011). Collaborative strategic board games as a site for distributed computational thinking. International Journal of Game-Based Learning (IJGBL), 1(2), 65–81. https://doi.org/10.4018/ijgbl.2011040105
Bers, M. I., Flannery, L., Kazakoff, E. R., & Sullivan, A. (2014). Computational thinking and tinkering: Exploration of an early childhood robotics curriculum. Computers and Education, 72, 145–157. https://doi.org/10.1016/j.compedu.2013.10.020
Bocconi, S., Chioccariello, A., Dettori, G., Ferrari, A., & Engelhardt, K. (2016). Developing computational thinking in compulsory education-Implications for policy and practice (No. JRC104188). Joint Research Centre (Seville site). https://doi.org/10.2791/792158.
Brennan, K., & Resnick, M. (2012). New frameworks for studying and assessing the development of computational thinking. In Proceedings of the 2012 annual meeting of the American educational research association, Vancouver, Canada (Vol. 1, p. 25). https://web.media.mit.edu/~kbrennan/files/Brennan_Resnick_AERA2012_CT.pdf. Accessed 03/02/2020
Byrne, P., & Lyons, G. (2001). The effect of student attributes on success in programming. In Proceedings of the 6th annual conference on Innovation and technology in computer science education (pp. 49–52). https://doi.org/10.1145/377435.377467.
Chiu, C. F. (2014). Use of problem-solving approach to teach scratch programming for adult novice programmers. Paper presented at Proceedings of the 45th ACM technical symposium on Computer science education, New York. https://doi.org/10.1145/2538862.2544284.
Colburn, T., & Shute, G. (2007). Abstraction in computer science. Minds and Machines, 17(2), 169–184. https://doi.org/10.1007/s11023-007-9061-7
Csizmadia, A., Curzon, P., Dorling, M., Humphreys, S., Ng, T., Selby, C., & Woollard, J. (2015). Computational thinking- A guide for teachers. https://eprints.soton.ac.uk/424545/.
CSTA & ISTE (2011). Computational thinking in K–12 education leadership toolkit. http://csta.acm.org/Curriculum/sub/CurrFiles/471.11CTLeadershiptToolkit-SP-vF.pdf.
CSTA (2016). CSTA K-12 Computer Science Standards Revised.
Curzon, P., Dorling, M., Ng, T., Selby, C., & Woollard, J. (2014). Developing computational thinking in the classroom: A framework. https://eprints.soton.ac.uk/369594/. Accessed 03/02/2020
Çakıroğlu, Ü., & Mumcu, S. (2020). Focus-fight-finalize (3F): Problem-solving steps extracted from behavioral patterns in block based programming. Journal of Educational Computing Research, 58(7), 1279–1310. https://doi.org/10.1177/0735633120930673
Denner, J., & Werner, L. (2011). Measuring computational thinking in middle school using game programming. Paper presented at the Annual Meeting of the American Educational Research Association (AERA), New Orleans, USA. https://users.soe.ucsc.edu/~linda/pubs/AERAMeasuringCT.pdf. Accessed 11/05/2021
Denner, J., Werner, L., & Ortiz, E. (2012). Computer games created by middle school girls: Can they be used to measure understanding of computer science concepts? Computers and Education, 58(1), 240–249. https://doi.org/10.1016/j.compedu.2011.08.006
Dreyfus, T. (2007). Processes of abstraction in context the nested epistemic actions model. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.379.4416. Accessed 03/02/2020
Duncan, C., & Bell, T. (2015). A pilot computer science and programming course for primary school students. In Proceedings of the Workshop in Primary and Secondary Computing Education (pp. 39–48). https://doi.org/10.1145/2818314.2818328.
Fessakis, G., Gouli, E., & Mavroudi, E. (2013). Problem solving by 5–6 years old kindergarten children in a computer programming environment: A case study. Computers & Education, 63, 87–97. https://doi.org/10.1016/j.compedu.2012.11.016
Gençosmanoğlu A. B. (2001). Conceptions, conceptual analysis and conceptualisation in aesthetics and the architecture/sampling on the architectural buildings after 1980. (Doctoral dissertation) Karadeniz Technical University.
Grover, S. (2017). Assessing Algorithmic and Computational Thinking in K-12: Lessons from a Middle School Classroom. Emerging Research, Practice, and Policy on Computational Thinking (ss. 269–288). Springer International Publishing. https://doi.org/10.1007/978-3-319-52691-1_17.
Grover, S., & Pea, R. (2013). Computational thinking in K–12: A review of the state of the field. Educational Researcher, 42(1), 38–43. https://doi.org/10.3102/0013189X12463051
Gülbahar, Y., Kalelioglu, F., & Kert, S. B. (2018). Teaching Computational Thinking to In- Service Computer Science Teachers through a Massive Open Online Course. In E-Learn: World Conference on E-Learning in Corporate, Government, Healthcare, and Higher Education (pp. 922–928). Association for the Advancement of Computing in Education (AACE). https://www.learntechlib.org/primary/p/185051/. Accessed 09/03/2020
Gün, E. (2020). Effect of Cs-Unplugged Activities to Abstraction Skills (Doctoral dissertation). Gazi University.
Hazzan, O., & Kramer, J. (2016). Assessing abstraction skills. Communications of the ACM, 59(12), 43–45. https://doi.org/10.1145/2926712
Hermans, F., & Aivaloglou, E. (2016). Do code smells hamper novice programming? A controlled experiment on Scratch programs. In 2016 IEEE 24th International Conference on Program Comprehension (ICPC) (pp. 1–10). IEEE. https://doi.org/10.1109/ICPC.2016.7503706.
Hershkowitz, R., Schwarz, B., & Dreyfus, T. (2001). Abstraction in Contexts: Epistemic Actions. Journal for Research in Mathematics Education, 32(2), 195–222. https://doi.org/10.2307/749673
Hill, J. H., Houle, B. J., Merritt, S. M., & Stix, A. (2008). Applying abstraction to master complexity. In Proceedings of the 2nd international workshop on The role of abstraction in software engineering (pp. 15–21). https://doi.org/10.1145/1370164.1370169.
İmal, N., & Eser, M. (2009). Difficulties and solution approaches in learning programming language. Electric Electronic Computer Biomedical Engineering Education IV. National Symposium, 22–23. https://www.emo.org.tr/ekler/8bd988bd20804a2_ek.pdf. Accessed 09/03/2020
Jensen, A. R. (1980). Précis of bias in mental testing. Behavioral and Brain Sciences, 3(3), 325–333. https://doi.org/10.1017/S0140525X00005161
Jonassen, D. H. (2000). Toward a design theory of problem solving. Educational Technology Research and Development, 48(4), 63–85. https://doi.org/10.1007/BF02300500
Johnson, R. B., & Christensen, L. (2014). Educational Research: Quantitative, Qualitative, and Mixed Approaches. SAGE Publications, Incorporated. https://www.researchgate.net/publication/264274753.
Kalelioğlu, F., & Gülbahar, Y. (2014). The effects of teaching programming via Scratch on problem solving skills: a discussion from learners’perspective. Informatics in Education, 13(1), 33–50. https://www.researchgate.net/publication/271746747. Acessed 09/03/2020.
Kalelioğlu, F., Gulbahar, Y., & Kukul, V. (2016). A framework for computational thinking based on a systematic research review. Baltic Journal of Modern Computing, 4(3), 583- 598. https://www.researchgate.net/publication/303943002. Accessed 09/03/2020
Keren, G., & Fridin, M. (2014). Kindergarten social assistive robot (KindSAR) for children’s geometric thinking and metacognitive development in preschool education: A pilot study. Computers in Human Behavior, 35, 400–412. https://doi.org/10.1016/j.chb.2014.03.009
Kinnunen, P., & Malmi, L. (2008). CS minors in a CS1 course. In Proceedings of the Fourth International Workshop on Computing Education Research (pp. 79–90). https://doi.org/10.1145/1404520.1404529. Accessed 11/05/2021
Ko, P. (2013). A longitudinal study of the effects of a high school robotics and computational thinking class on academic achievement (WIP). In O. SwanteeIn (Ed.), In 2013 Frontiers in Education Conference (FIE) (pp. 181–183). Institute of Electrical and Electronics Engineers. https://doi.org/10.1109/FIE.2013.6684812.
Kramer, J. (2007). Is abstraction the key to computing? Communications of the ACM, 50(4), 36–42. https://doi.org/10.1145/1232743.1232745
Lahtinen, E., Ala-Mutka, K., & Järvinen, H. M. (2005). A study of the difficulties of novice programmers. Acm Sigcse Bulletin, 37(3), 14–18. https://doi.org/10.1145/1151954.1067453
Lee, I., Martin, F., & Apone, K. (2014). Integrating computational thinking across the K–8 curriculum. Acm Inroads, 5(4), 64–71. https://doi.org/10.1145/2684721.2684736
Lee, I., Martin, F., Denner, J., Coulter, B., Allan, W., Erickson, J., Malyn-Smith, J., & Werner, L. (2011). Computational Thinking for Youth in Practice. ACM Inroads, 2(1), 32–38. https://doi.org/10.1145/1929887.1929902
Livingston, K. R. (1998). Rationality and The Psychology of Abstraction. The Atlas Society.
Looi, C. K., How, M. L., Longkai, W., Seow, P., & Liu, L. (2018). Analysis of linkages between an unplugged activity and the development of computational thinking. Computer Science Education, 28(3), 255–279. https://doi.org/10.1080/08993408.2018.1533297
Lye, S. Y., & Koh, J. H. L. (2014). Review on teaching and learning of computational thinking through programming: What is next for K-12? Computers in Human Behavior, 41, 51–61. https://doi.org/10.1016/j.chb.2014.09.012
Maloney, J., Resnick, M., Rusk, N., Silverman, B., & Eastmond, E. (2010). The scratch programming language and environment. ACM Transactions on Computing Education (TOCE), 10(4), 1–15. https://doi.org/10.1145/1868358.1868363
Memnun, D. S., & Altun, M. (2012). A study on the abstraction of the concept of the equation of the line according to the RBC+ C model: a special case study. Cumhuriyet International Journal of Education, 1 (1), 17–37. http://cije.cumhuriyet.edu.tr/tr/pub/issue/4272/57535.
Ministry of Education (MoNE) (2018). http://mufredat.meb.gov.tr/Dosyalar/2018813171426130-2-2018-81Bili%C5%9Fim%20Teknolojileri%20ve%20Yaz%C4%B1l%C4%B1m%20Dersi%20(7%20ve%208.%20S%C4%B1n%C4%B1flar).pdf. Accessed 12/02/2021
Mitchelmore, M. C., & White, P. (1995). Abstraction in mathematics: Conflict, resolution and application. Mathematics Education Research Journal, 7(1), 50–68. https://doi.org/10.1007/BF03217275
Moreno-León, J., & Robles, G. (2015). Analyze your Scratch® projects with Dr. Scratch® and assess your computational thinking skills. The Scratch® Conference, Amsterdam. http://jemole.me/replication/2015scratch/InferCT.pdf.
Morgan, D. (1994). The rise and fall of abstraction in eighteenth-century art theory. Eighteenth- Century Studies, 27(3), 449–478. https://doi.org/10.2307/2739364
Nguyen, D. Z., & Wong, S. (2001). OOP in introductory cs: better students through abstraction. In Proceedings of the Fifth Workshop on Pedagogies and Tools for Assimilating Object-Oriented Concepts. https://slidetodoc.com/oop-in-introductory-cs-better-students-though-abstraction/.
OECD, O. (2004). The OECD principles of corporate governance. Contaduríay Administración, (216). http://www.cya.unam.mx/index.php/cya/article/view/562.
Ohlsson, S., & Lehtinen, E. (1997). Abstraction and the acquisition of complex ideas. International Journal of Educational Research, 27(1), 37–48. https://doi.org/10.1016/S0883-0355(97)88442-X
Oluk, A., & Korkmaz, Ö. (2016). Comparing Students' Scratch Skills with Their Computational Thinking Skills in Terms of Different Variables. Online Submission, 8(11), 1–7. https://eric.ed.gov/?id=ED582994. Accessed 12/02/2021
Özyılmaz, İ. (2021). The effect of real life activities integrated to block based programming environments on development of students’ abstraction skills (Master Thesis) Trabzon University.
Papert, S. (1996). An exploration in the space of mathematics educations. International Journal of Computers for Mathematical Learning, 1(1), 95–123. https://doi.org/10.1007/BF00191473
Pellas, N., & Peroutseas, E. (2016). Gaming in Second Life via Scratch4SL: Engaging high school students in programming courses. Journal of Educational Computing Research, 54(1), 108–143. https://doi.org/10.1177/0735633115612785
Perrenet, J. C. (2010). Levels of thinking in computer science: Development in bachelor students’ conceptualization of algorithm. Education and Information Technologies, 15(2), 87–107. https://doi.org/10.1007/s10639-009-9098-8
Quaye, A. M., & Dasuki, S. I. (2017). A Computational Approach to Learning Programming Using Visual Programming in a Developing Country University. Emerging Research, Practice, and Policy on Computational Thinking (ss. 121–134). Springer. https://doi.org/10.1007/978-3-319-52691-1_8.
Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., & Kafai, Y. (2009). Scratch: Programming for all. Communications of the ACM, 52(11), 60–67. https://doi.org/10.1145/1592761.1592779
Resnick, S. I. (2008). Extreme values, regular variation, and point processes (vol. 4). Springer Science & Business Media.
Rijke, W. J., Bollen, L., Eysink, T. H., & Tolboom, J. L. (2018). Computational thinking in primary school: An examination of abstraction and decomposition in different age groups. Informatics in Education, 17(1), 77–92. https://www.ceeol.com/search/article-detail?id=645612. Accessed 09/03/2020
Rose, S. P., Habgood, M. J., & Jay, T. (2019). Using Pirate Plunder to Develop Children's Abstraction Skills in Scratch®. In Extended Abstracts of the 2019 CHI Conference on Human Factors in Computing Systems (pp. 1–6). https://doi.org/10.1145/3290607.3312871.
Ruthmann, A., Heines, J. M., Greher, G. R., Laidler, P., & Saulters, C. (2010). Teaching computational thinking through musical live coding in Scratch®. Proceedings of the 41st ACM Technical Symposium on Computer Science Education, 351–355. ACM. https://doi.org/10.1145/1734263.1734384.
Sabitzer, B., & Pasterk, S. (2015). Modeling: A computer science concept for general education. 2015 IEEE Frontiers in Education Conference, 1–5. IEEE. https://doi.org/10.1109/FIE.2015.7344062.
Scullard, S., Tsibolane, P., & Garbutt, M. (2019). The role of scratch visual programming in the development of computational thinking of non is majors. In Pacis (p. 79). https://core.ac.uk/download/pdf/326833249.pdf. Accessed 12/02/2021
Seiter, L., & Foreman, B. (2013). Modeling the learning progressions of computational thinking of primary grade students. In T. J. Cortine (Ed.), In Proceedings of the Ninth Annual İnternational ACM Conference on International Computing Education Research (pp. 59–66). Association for Computing Machinery. https://doi.org/10.1145/2493394.2493403.
Selby, C., & Woollard, J. (2013). Computational thinking: the developing definition. http://eprints.soton.ac.uk/id/eprint/356481.
Seralidou, E., & Douligeris, C. (2020). Learning programming by creating games through the use of structured activities in secondary education in Greece. Education and Information Technologies, 1-40. https://doi.org/10.1007/s10639-020-10255-8.
Sierpinska, A. (1994). Understandings in Mathematics. Falmer.
Sherman, M., & Martin, F. (2015). The assessment of mobile computational thinking. Journal of Computing Sciences in Colleges, 30(6), 53–59. https://doi.org/10.5555/2753024.2753037
Soderberg, C. K., Callahan, S. P., Kochersberger, A. O., Amit, E., & Ledgerwood, A. (2015). The effects of psychological distance on abstraction: Two meta-analyses. Psychological Bulletin, 141(3), 525. https://doi.org/10.1037/bul0000005
Statter, D., & Armoni, M. (2020). Teaching abstraction in computer science to 7th grade students. ACM Transactions on Computing Education (TOCE), 20(1), 1–37. https://doi.org/10.1145/3372143
Takaoka, E., Fukushima, Y., Hirose, K., & Hasegawa, T. (2014). Learning based on computer science unplugged in computer science education: Design, development, and assessment. International Journal of Educational and Pedagogical Sciences, 8(7), 2102–2107. https://doi.org/10.5281/zenodo.1093586
URL-1. (2020). https://community.computingatschool.org.uk/files/8221/original.pdf Computational thinking. Accessed 09/03/2020
Von Wangenheim, C. G., Hauck, J. C., Demetrio, M. F., Pelle, R., da Cruz Alves, N., Barbosa, H., & Azevedo, L. F. (2018). CodeMaster--Automatic Assessment and Grading of App Inventor and Snap! Programs. Informatics in Education, 17(1), 117–150. https://www.ceeol.com/search/article-detail?id=645618
Weinberg, A. E. (2013). Computational thinking: An investigation of the existing scholarship and research (Doctoral dissertation, Colorado State University).
Weintrop, D., & Wilensky, U. (2015). To block or not to block, that is the question: students' perceptions of blocks-based programming. In Proceedings of the 14th international conference on interaction design and children (pp. 199–208). https://doi.org/10.1145/2771839.2771860.
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35.
Wing, J. M. (2008). Computational thinking and thinking about computing. Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, 366(1881), 3717–3725. https://doi.org/10.1098/rsta.2008.0118
Wing, J. M. (2008). Computational thinking and thinking about computing. Philosophical Transactions of the Royal Society of London a: Mathematical, Physical and Engineering Sciences, 366(1881), 3717–3725. https://doi.org/10.1098/rsta.2008.0118
Wing, J. M. (2011). Research notebook: Computational thinking what and why. http://www.cs.cmu.edu/link/research-notebook-computational-thinking-what-and-why. Accessed 09/03/2020
Yadav, A., Gretter, S., Good, J., & McLean, T. (2017). Computational thinking in teacher education. In Emerging research, practice, and policy on computational thinking (pp. 205–220). Springer. https://doi.org/10.1007/978-3-319-52691-1_13.
Zhenrong, D., Wenming, H., & Rongsheng, D. (2009). Discussion of ability cultivation of computational thinking in course teaching. In: Proceedings of International Conference on Education Technology and Computer, Singapore, 197 – 200. https://doi.org/10.1109/ICETC.2009.16.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
None.
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
Çakiroğlu, Ü., Çevik, İ. A framework for measuring abstraction as a sub-skill of computational thinking in block-based programming environments. Educ Inf Technol 27, 9455–9484 (2022). https://doi.org/10.1007/s10639-022-11019-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10639-022-11019-2