Abstract
Computational Thinking (CT) has been recognized as one of the fundamental skills that all graduates should acquire. For this reason, motivational concerns need to be addressed at an early age of a child, and reaching students who do not consider themselves candidates for science, technology, engineering, and mathematics disciplines is important as well if the broadest audience possible is to be engaged. This article describes a framework for teaching and assessing CT in the context of K-12 education. The framework is based on Agile software engineering methods, which rely on a set of principles and practices that can be mapped to the activities of CT. The article presents as well the results of an experiment applying this framework in two sixth-grade classes, with 42 participants in total. The results show that Agile software engineering methods are effective at teaching CT in middle schools, after the addition of some tasks to allow students to explore, project, and experience the potential product before using the software tools at hand. Moreover, according to the teachers’ feedback, the students reached all the educational objectives of the topics involved in the multidisciplinary activities. This result can be taken as an indicator that it is possible to use computing as a medium for teaching other subjects, besides computer science.
- Pekka Abrahamsson, Ilenia Fronza, Raimund Moser, Jelena Vlasenko, and Witold Pedrycz. 2011. Predicting development effort from user stories. In Proceedings of the 2011 International Symposium on Empirical Software Engineering and Measurement (ESEM’11). 400--403 Google ScholarDigital Library
- Joel C. Adams and Andrew R. Webster. 2012. What do students learn about programming from game, music video, and storytelling projects? In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (SIGCSE’12). ACM, New York, NY, 643--648. Google ScholarDigital Library
- Alfred V. Aho. 2012. Computation and computational thinking. Comput. J. 55, 7 (July 2012), 832--835. DOI:http://dx.doi.org/10.1093/comjnl/bxs074 Google ScholarDigital Library
- Lorin W. Anderson, David R. Krathwohl, Peter W. Airasian, Kathleen A. Cruikshank, Richard E. Mayer, Paul R. Pintrich, James Raths, and Merlin C. Wittrock. 2001. A Taxonomy for Learning, Teaching, and Assessing: A Revision of Bloom’s Taxonomy of Educational Objectives. Allyn 8 Bacon (Pearson Education Group), Boston, MA.Google Scholar
- Valerie Barr and Chris Stephenson. 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 (Feb. 2011), 48--54. Google ScholarDigital Library
- Brigid Barron, Caitlin Martin, Eric Roberts, Alex Osipovich, and Michael Ross. 2002. Assisting and assessing the development of technological fluencies: Insights from a project-based approach to teaching computer science. In Proceedings of the Conference on Computer Support for Collaborative Learning: Foundations for a CSCL community, 2002. International Society of the Learning Sciences, 668--669. Google ScholarCross Ref
- Beverley Bell and Bronwen Cowie. 2001. The characteristics of formative assessment in science education. Sci. Educ. 85, 5 (2001), 536--553. DOI:http://dx.doi.org/10.1002/sce.1022 Google ScholarCross Ref
- Ernest N. Biktimirov and Linda B. Nilson. 2006. Show them the money: Using mind mapping in the introductory finance course. J. Financ. Educ. 32, 3 (2006), 72--86.Google Scholar
- Benjamin S. Bloom and David R. Krathwohl. 1956. Taxonomy of Educational Objectives: The Classification of Educational Goals, by a Committee of College and University Examiners. Handbook I: Cognitive Domain. Longmans, Green, New York, NY.Google Scholar
- Bryce Boe, Charlotte Hill, Michelle Len, Greg Dreschler, Phillip Conrad, and Diana Franklin. 2013. Hairball: Lint-inspired static analysis of scratch projects. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE’13). ACM, New York, NY, 215--220.Google ScholarDigital Library
- Karen Brennan and Mitchel Resnick. 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 (AERA’12). 1--25.Google Scholar
- Tony Buzan and Barry Buzan. 2000. The Mind Map Book. BBC Books, London.Google Scholar
- Mario Cardinal. 2013. Executable Specifications with Scrum: A Practical Guide to Agile Requirements Discovery (1st ed.). Addison-Wesley Professional.Google Scholar
- Patricia Charlton. 2013. Computational Thinking and Computer Science in Schools. Retrieved Januay 2, 2015 from http://www.lkl.ac.uk/cms/files/jce/articles/time_to_re-loadwhattheresearchsaysbriefing27april2012.pdf.Google Scholar
- Mike Cohn. 2004. User Stories Applied: For Agile Software Development. Addison-Wesley Professional.Google ScholarDigital Library
- Mike Cohn. 2005. Agile Estimating and Planning. Pearson Education.Google Scholar
- Steve Cooper and Steve Cunningham. 2010. Teaching computer science in context. ACM Inroads 1, 1 (March 2010), 5--8. Google ScholarDigital Library
- National Research Council. 2010. Committee for the Workshops on Computational Thinking: Report of a Workshop on the Scope and Nature of Computational Thinking. Technical Report. National Research Council.Google Scholar
- Dan Crow. 2014. Why Every Child Should Learn to Code. (feb 2014). Retrieved November 3, 2015 from http://www.theguardian.com/technology/2014/feb/07/year-of-code-dan-crow-songkick.Google Scholar
- Martin Davies. 2011. Concept mapping, mind mapping and argument mapping: What are the differences and do they matter? Int. J. High.Educ. Educati. Plan. 62, 3 (September 2011), 279--301. Google ScholarCross Ref
- Peter J. Denning and Peter A. Freeman. 2009. The profession of IT: Computing’s paradigm. Commun. ACM 52, 12 (Dec. 2009), 28--30. Google ScholarDigital Library
- Enrico Di Bella, Ilenia Fronza, Nattakarn Phaphoom, Alberto Sillitti, Giancarlo Succi, and Jelena Vlasenko. 2013. Pair programming and software defects—A large, industrial case study. IEEE Trans. Softw. Eng. 39, 7 (2013), 930--953. Google ScholarDigital Library
- Tore Dybå. 2000. Improvisation in small software organizations. IEEE Softw. 17, 5 (Sept. 2000), 82--87. 0740-7459Google ScholarDigital Library
- Norman E. Fenton and Niclas Ohlsson. 2000. Quantitative analysis of faults and failures in a complex software system. IEEE Trans. Softw. Eng. 26, 8 (Aug. 2000), 797--814. Google ScholarDigital Library
- Allan Fisher and Jane Margolis. 2002. Unlocking the Clubhouse: The Carnegie Mellon Experience. MIT Press, Cambridge, MA.Google Scholar
- Ilenia Fronza, Nabil El Ioini, and Luis Corral. 2015. Students want to create apps: Leveraging computational thinking to teach mobile software development. In Proceedings of the 16th Annual Conference on Information Technology Education (SIGITE’15). ACM, New York, NY, 21--26.Google ScholarDigital Library
- Ilenia Fronza, Nabil El Ioini, Andrea Janes, Alberto Sillitti, Giancarlo Succi, and Luis Corral. 2014. If I had to vote on this laboratory, I would give nine: Introduction on computational thinking in the lower secondary school: Results of the experience. Mond. Digit. 13, 51 (2014), 757--765.Google Scholar
- Ilenia Fronza and Giancarlo Succi. 2009. Modeling spontaneous pair programming when new developers join a team. In Proceedings of the 10th International Conference on Agile Processes and eXtreme Programming in Software Engineering (XP’09). Google ScholarCross Ref
- Ilenia Fronza and Patrick Zanon. 2015. Introduction of computational thinking in a hotel management school [Introduzione del computational thinking in un istituto alberghiero]. Mond. Digit. 14, 58 (2015), 28--34.Google Scholar
- Shuchi Grover. 2015. “Systems of assessments” for deeper learning of computational thinking in K-12. In Proceedings of the Annual Meeting of the American Educational Research Association. 1--9.Google Scholar
- Shuchi Grover, Stephen Cooper, and Roy Pea. 2014. Assessing computational learning in k-12. In Proceedings of the 2014 Conference on Innovation and Technology in Computer Science Education (ITiCSE’14). ACM, New York, NY, 57--62. Google ScholarDigital Library
- Shuchi Grover and Roy Pea. 2013. Computational thinking in k--12: A review of the state of the field. Educ. Res. 42, 1 (Jan./Feb. 2013), 38--43. Google ScholarCross Ref
- Richard F. Gunstone. 1992. Probing Understanding. Falmer.Google Scholar
- Susanne Hambrusch, Christoph Hoffmann, John T. Korb, Mark Haugan, and Antony L. Hosking. 2009. A multidisciplinary approach towards computational thinking for science majors. SIGCSE Bull. 41, 1 (March 2009), 183--187. Google ScholarDigital Library
- ISTE and CSTA. 2011. Computational Thinking: Teacher Resources (2nd ed). Retrieved December 2014 from http://csta.acm.org/Curriculum/sub/CompThinking.html. (2011).Google Scholar
- Italian Ministry of Education. 2014. Retrieved May 20, 2015 from La buona scuola in 12 punti. https://labuonascuola.gov.it/documenti/I_12_punti.pdf?v=b4d78c0.Google Scholar
- Association for Computing Machinery (ACM) Joint Task Force on Computing Curricula and IEEE Computer Society. 2013. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. ACM, New York, NY.Google ScholarDigital Library
- Magne Jorgensen and Martin Shepperd. 2007. A systematic review of software development cost estimation studies. IEEE Trans. Softw. Eng. 33, 1 (2007), 33--53. Google ScholarDigital Library
- Karl M. Kapp. 2013. The Gamification of Learning and Instruction Fieldbook: Ideas into Practice (1st ed.). Pfeiffer 8 Company.Google Scholar
- Jon R. Katzenbach and Douglas K. Smith. 1993. The Wisdom of Teams: Creating the High-performance Organization. Harvard Business Press.Google Scholar
- Caitlin Kelleher and Randy Pausch. 2007. Using storytelling to motivate programming. Commun. ACM 50, 7 (July 2007), 58--64. Google ScholarDigital Library
- Paul A. Kirschner, John Sweller, and Richard E. Clark. 2006. Why minimal guidance during instruction does not work: An analysis of the failure of constructivist, discovery, problem-based, experiential, and inquiry-based teaching. Educ. Psychol. 41, 2 (2006), 75--86. Google ScholarCross Ref
- Kyu Han Koh, Ashok Basawapatna, Vicki Bennett, and Alexander Repenning. 2010. Towards the automatic recognition of computational thinking for adaptive visual language learning. In Proceedings of the 2010 IEEE Symposium on Visual Languages and Human-Centric Computing (VLHCC’10). IEEE Computer Society, Washington, DC, 59--66. Google ScholarDigital Library
- Kyu Han Koh, Ashok Basawapatna, Hilarie Nickerson, and Alexander Repenning. 2014. Real time assessment of computational thinking. In Proceedings of the 2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC’14). 49--52. Google ScholarCross Ref
- Lucas Layman, Laurie Williams, Kelli Slaten, Sarah Berenson, and Mladen Vouk. 2008. Addressing diverse needs through a balance of agile and plan-driven software development methodologies in the core software engineering course. Int. J. Eng. Educ. 24 (2008), 659--670.Google Scholar
- Michael Lodi. 2014. Imparare il pensiero computazionale, imparare a programmare. Mond. Digit. 13, 51 (2014).Google Scholar
- Jane Margolis. 2008. Stuck in the Shallow End: Education, Race, and Computing. The MIT Press.Google ScholarDigital Library
- Robert Cecil Martin. 2003. Agile Software Development: Principles, Patterns, and Practices. Prentice Hall PTR, Upper Saddle River, NJ.Google Scholar
- Thomas J. McCabe. 1976. A complexity measure. IEEE Transactions on Software Engineering SE-2, 4 (Dec 1976), 308--320. Google ScholarDigital Library
- Orni Meerbaum-Salant, Michal Armoni, and Mordechai (Moti) Ben-Ari. 2010. Learning computer science concepts with scratch. In Proceedings of the 6th International Workshop on Computing Education Research (ICER’10). ACM, New York, NY, 69--76.Google ScholarDigital Library
- Jesús Moreno-León, Gregorio Robles, and Marcos Román-González. 2015. Dr. Scratch: Automatic analysis of scratch projects to assess and foster computational thinking. Revi. Educ. Dist. 46 (September 2015), 1--23.Google Scholar
- Jesús Moreno-León, Gregorio Robles, and Marcos Román-González. 2016. Comparing computational thinking development assessment scores with software complexity metrics. In Global Engineering Education Conference (EDUCON'16). IEEE, 1040--1045.Google ScholarCross Ref
- Fersun Paykoç, Bünyamin Mengi, Pınar Olgun Kamay, Pınar Önkol, Birikim Özgür, Olga Pilli, and Hamide Yıldırım. 2004. What are the major curriculum issues? The use of mindmapping as a brainstorming exercise. In Proceedings of the 1st International Conference on Concept Mapping, Vol. 2. 457--467.Google Scholar
- Ljubomir Perković, Amber Settle, Sungsoon Hwang, and Joshua Jones. 2010. A framework for computational thinking across the curriculum. In Proceedings of the 15th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE’10). ACM, New York, NY, 123--127.Google ScholarDigital Library
- Jane Chu Prey and Alfred C. (Alf) Weaver. 2013. Fostering gender diversity in computing. Computer 46, 3 (March 2013), 22--23. Google ScholarDigital Library
- Syed M. Rahman and Paul L. Juell. 2006. Applying software development lifecycles in teaching introductory programming courses. In Proceedings of the 19th Conference on Software Engineering Education Training (CSEET’06). 17--24. Google ScholarDigital Library
- Eric Steven Raymond. 2004. The Art of Unix Programming. Addison-Wesley.Google ScholarDigital Library
- Alexander Repenning, David Webb, and Andri Ioannidou. 2010. Scalable game design and the development of a checklist for getting computational thinking into public schools. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education (SIGCSE’10). ACM, New York, NY, 265--269. Google ScholarDigital Library
- Mitchel Resnick, John Maloney, Andrés Monroy-Hernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum, Jay Silver, Brian Silverman, and Yasmin Kafai. 2009. Scratch: Programming for all. Commun. ACM 52, 11 (Nov. 2009), 60--67. Google ScholarDigital Library
- Amber Settle, Baker Franke, Ruth Hansen, Frances Spaltro, Cynthia Jurisson, Colin Rennert-May, and Brian Wildeman. 2012. Infusing computational thinking into the middle- and high-school curriculum. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE’12). ACM, New York, UNY, 22--27.Google ScholarDigital Library
- Allen Tucker, Dennis McCowan, Fadi Deek, Chris Stephenson, Jill Jones, and Anita Verno. 2003. A Model Curriculum for K-12 Computer Science: Report of the ACM K-12 Task Force Computer Science Curriculum Committee. ACM, New York, NY.Google Scholar
- Anna Van der Aa. 2014. Should our software development process begin with storyboarding? Retrieved from http://www.ensci.com/uploads/media/memoire_Anna_VanderAa.pdf.Google Scholar
- R. Vinayakumar. 2014. Learning computational thinking with scratch programming. Retrieved from http://scratched.gse.harvard.edu/sites/default/files/.Google Scholar
- Jagoda Walny, Sheelagh Carpendale, Nathalie Henry Riche, Gina Venolia, and Philip Fawcett. 2011. Visual thinking in action: Visualizations as used on whiteboards. IEEE Trans. Vis. Comput. Graph. 17, 12 (Dec 2011), 2508--2517. Google ScholarDigital Library
- Linda Werner, Jill Denner, Shannon Campe, and Damon Chizuru Kawamoto. 2012. The fairy performance assessment: Measuring computational thinking in middle school. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (SIGCSE’12). ACM, New York, NY, 215--220. DOI:http://dx.doi.org/10.1145/2157136.2157200 Google ScholarDigital Library
- Jeannette M. Wing. 2006. Computational thinking. Commun. ACM 49, 3 (2006). Google ScholarDigital Library
- Jeannette M. Wing. 2014. Computational thinking benefits society. Retrieved September 17, 2015 from http://socialissues.cs.toronto.edu.Google Scholar
- Claes Wohlin, Per Runeson, Martin Höst, Magnus C. Ohlsson, Björn Regnell, and Anders Wesslén. 2012. Experimentation in Software Engineering. Springer Science 8 Business Media.Google ScholarCross Ref
Index Terms
- Teaching Computational Thinking Using Agile Software Engineering Methods: A Framework for Middle Schools
Recommendations
Teaching how to teach computational thinking
ITiCSE 2018: Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science EducationComputational Thinking is argued to be an essential skill for the workforce of the 21st century. As a skill, Computational Thinking should be taught in all schools, employing computational ideas integrated into other disciplines. Up until now, questions ...
Evaluation and development of STEAM teachers’ computational thinking skills: Analysis of multiple influential factors
AbstractComputational thinking (CT) has become the basic foothold of STEAM education. The role of teachers as an essential element of CT education cannot be ignored. Therefore, measuring teachers’ ability to integrate CT into classroom is necessary. There ...
A Computational Thinking Obstacle Course Based on Bebras Tasks for K-12 Schools
ITiCSE 2023: Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1This paper describes an unplugged computational thinking (CT) resource for primary and secondary schools developed from Bebras tasks. In Ireland, CT is not part of the primary school curriculum or mandatory in secondary schools. However, the National ...
Comments