skip to main content
research-article

Teaching Computational Thinking Using Agile Software Engineering Methods: A Framework for Middle Schools

Published:24 August 2017Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarCross RefCross Ref
  7. 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 ScholarGoogle ScholarCross RefCross Ref
  8. 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 ScholarGoogle Scholar
  9. 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 ScholarGoogle Scholar
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle Scholar
  12. Tony Buzan and Barry Buzan. 2000. The Mind Map Book. BBC Books, London.Google ScholarGoogle Scholar
  13. Mario Cardinal. 2013. Executable Specifications with Scrum: A Practical Guide to Agile Requirements Discovery (1st ed.). Addison-Wesley Professional.Google ScholarGoogle Scholar
  14. 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 ScholarGoogle Scholar
  15. Mike Cohn. 2004. User Stories Applied: For Agile Software Development. Addison-Wesley Professional.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Mike Cohn. 2005. Agile Estimating and Planning. Pearson Education.Google ScholarGoogle Scholar
  17. Steve Cooper and Steve Cunningham. 2010. Teaching computer science in context. ACM Inroads 1, 1 (March 2010), 5--8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle Scholar
  19. 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 ScholarGoogle Scholar
  20. 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 ScholarGoogle ScholarCross RefCross Ref
  21. Peter J. Denning and Peter A. Freeman. 2009. The profession of IT: Computing’s paradigm. Commun. ACM 52, 12 (Dec. 2009), 28--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. Tore Dybå. 2000. Improvisation in small software organizations. IEEE Softw. 17, 5 (Sept. 2000), 82--87. 0740-7459Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. Allan Fisher and Jane Margolis. 2002. Unlocking the Clubhouse: The Carnegie Mellon Experience. MIT Press, Cambridge, MA.Google ScholarGoogle Scholar
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle Scholar
  28. 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 ScholarGoogle ScholarCross RefCross Ref
  29. 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 ScholarGoogle Scholar
  30. 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 ScholarGoogle Scholar
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarCross RefCross Ref
  33. Richard F. Gunstone. 1992. Probing Understanding. Falmer.Google ScholarGoogle Scholar
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. ISTE and CSTA. 2011. Computational Thinking: Teacher Resources (2nd ed). Retrieved December 2014 from http://csta.acm.org/Curriculum/sub/CompThinking.html. (2011).Google ScholarGoogle Scholar
  36. 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 ScholarGoogle Scholar
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  39. Karl M. Kapp. 2013. The Gamification of Learning and Instruction Fieldbook: Ideas into Practice (1st ed.). Pfeiffer 8 Company.Google ScholarGoogle Scholar
  40. Jon R. Katzenbach and Douglas K. Smith. 1993. The Wisdom of Teams: Creating the High-performance Organization. Harvard Business Press.Google ScholarGoogle Scholar
  41. Caitlin Kelleher and Randy Pausch. 2007. Using storytelling to motivate programming. Commun. ACM 50, 7 (July 2007), 58--64. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. 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 ScholarGoogle ScholarCross RefCross Ref
  43. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  44. 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 ScholarGoogle ScholarCross RefCross Ref
  45. 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 ScholarGoogle Scholar
  46. Michael Lodi. 2014. Imparare il pensiero computazionale, imparare a programmare. Mond. Digit. 13, 51 (2014).Google ScholarGoogle Scholar
  47. Jane Margolis. 2008. Stuck in the Shallow End: Education, Race, and Computing. The MIT Press.Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Robert Cecil Martin. 2003. Agile Software Development: Principles, Patterns, and Practices. Prentice Hall PTR, Upper Saddle River, NJ.Google ScholarGoogle Scholar
  49. Thomas J. McCabe. 1976. A complexity measure. IEEE Transactions on Software Engineering SE-2, 4 (Dec 1976), 308--320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  51. 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 ScholarGoogle Scholar
  52. 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 ScholarGoogle ScholarCross RefCross Ref
  53. 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 ScholarGoogle Scholar
  54. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  55. Jane Chu Prey and Alfred C. (Alf) Weaver. 2013. Fostering gender diversity in computing. Computer 46, 3 (March 2013), 22--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  57. Eric Steven Raymond. 2004. The Art of Unix Programming. Addison-Wesley.Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  59. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  60. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  61. 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 ScholarGoogle Scholar
  62. 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 ScholarGoogle Scholar
  63. R. Vinayakumar. 2014. Learning computational thinking with scratch programming. Retrieved from http://scratched.gse.harvard.edu/sites/default/files/.Google ScholarGoogle Scholar
  64. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  65. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  66. Jeannette M. Wing. 2006. Computational thinking. Commun. ACM 49, 3 (2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. Jeannette M. Wing. 2014. Computational thinking benefits society. Retrieved September 17, 2015 from http://socialissues.cs.toronto.edu.Google ScholarGoogle Scholar
  68. 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 ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Teaching Computational Thinking Using Agile Software Engineering Methods: A Framework for Middle Schools

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Computing Education
        ACM Transactions on Computing Education  Volume 17, Issue 4
        December 2017
        123 pages
        EISSN:1946-6226
        DOI:10.1145/3134765
        Issue’s Table of Contents

        Copyright © 2017 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 24 August 2017
        • Revised: 1 February 2017
        • Accepted: 1 February 2017
        • Received: 1 January 2016
        Published in toce Volume 17, Issue 4

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader