skip to main content
research-article

Comparing Block-Based and Text-Based Programming in High School Computer Science Classrooms

Published:27 October 2017Publication History
Skip Abstract Section

Abstract

The number of students taking high school computer science classes is growing. Increasingly, these students are learning with graphical, block-based programming environments either in place of or prior to traditional text-based programming languages. Despite their growing use in formal settings, relatively little empirical work has been done to understand the impacts of using block-based programming environments in high school classrooms. In this article, we present the results of a 5-week, quasi-experimental study comparing isomorphic block-based and text-based programming environments in an introductory high school programming class. The findings from this study show students in both conditions improved their scores between pre- and postassessments; however, students in the blocks condition showed greater learning gains and a higher level of interest in future computing courses. Students in the text condition viewed their programming experience as more similar to what professional programmers do and as more effective at improving their programming ability. No difference was found between students in the two conditions with respect to confidence or enjoyment. The implications of these findings with respect to pedagogy and design are discussed, along with directions for future work.

References

  1. H. Abelson and A. A. DiSessa. 1986. Turtle Geometry: The Computer as a Medium for Exploring Mathematics. MIT Press.Google ScholarGoogle ScholarCross RefCross Ref
  2. M. Armoni and M. Ben-Ari. 2010. Computer Science Concepts in Scratch. Rehovot, Israel: Weizmann Institute of Science.Google ScholarGoogle Scholar
  3. M. Armoni, O. Meerbaum-Salant, and M. Ben-Ari. 2015. From scratch to “real” programming. ACM Trans. Comput. Educ. TOCE 14, 4 (2015), 25:1--15.Google ScholarGoogle Scholar
  4. O. Astrachan and A. Briggs. 2012. The CS principles project. ACM Inroads 3, 2 (2012), 38--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. Bau, D. A. Bau, M. Dawson, and C. S. Pickens. 2015. Pencil code: Block code for a text world. In Proceedings of the 14th International Conference on Interaction Design and Children (IDC’15). New York: ACM, 445--448. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Bau. 2015. Droplet, a blocks-based editor for text code. J. Comput. Sci. Coll. 30, 6 (2015), 138--144.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. Begel. 1996. LogoBlocks: A Graphical Programming Language for Interacting with the World. Cambridge, MA: Electrical Engineering and Computer Science Department, MIT.Google ScholarGoogle Scholar
  8. A. Begel and E. Klopfer. 2007. Starlogo TNG: An introduction to game development. J. E-Learn. (2007), 1--5.Google ScholarGoogle Scholar
  9. J. Bonar and B. W. Liffick. 1987. A visual programming language for novices. In S. K. Chang, ed. Principles of Visual Programming Systems. Prentice-Hall. Google ScholarGoogle ScholarCross RefCross Ref
  10. P. Bontá, A. Papert, and B. Silverman. 2010. Turtle, art, turtleart. In Proceedings of Constructionism 2010 Conference.Google ScholarGoogle Scholar
  11. N. C. C. Brown, M. Kolling, and A. Altadmri. 2015. Lack of keyboard support cripples block-based programming. In 2015 IEEE Blocks and Beyond Workshop (Blocks and Beyond). IEEE, 59--61.Google ScholarGoogle Scholar
  12. A. Bruckman, M. Biggers, B. Ericson, T. McKlin, J. Dimond, B. DiSalvo, M. Hewner, L. Ni, and S. Yardi. 2009. Georgia computes!: Improving the computing education pipeline. ACM SIGCSE Bull. 41, 1 (2009), 86--90. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. Cooper, W. Dann, and R. Pausch. 2000. Alice: A 3-D tool for introductory programming concepts. J. Comput. Sci. Coll. 15, 5 (2000), 107--116.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. W. Dann, S. Cooper, and B. Ericson. 2009. Exploring Wonderland: Java Programming Using Alice and Media Computation. Prentice Hall Press.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. W. Dann, S. Cooper, and R. Pausch. 2011. Learning to Program with Alice. Prentice Hall Press.Google ScholarGoogle Scholar
  16. W. Dann, D. Cosgrove, D. Slater, D. Culyba, and S. Cooper. 2012. Mediated transfer: Alice 3 to Java. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education. ACM, 141--146. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. E. W. Dijkstra. 1982. How do we tell truths that might hurt? In Selected Writings on Computing: A Personal Perspective. Springer, 129--131. Google ScholarGoogle ScholarCross RefCross Ref
  18. A. A. diSessa. 2000. Changing Minds: Computers, Learning, and Literacy, Cambridge, MA: MIT Press.Google ScholarGoogle Scholar
  19. V. Donzeau-Gouge, G. Huet, B. Lang, and G. Kahn. 1984. Programming environments based on structured editors: The MENTOR experience. In D. Barstow, H. E. Shrobe, and E. Sandewall, eds. Interactive Programming Environments. McGraw Hill.Google ScholarGoogle Scholar
  20. L. P. Flannery, B. Silverman, E. R. Kazakoff, M. U. Bers, P. Bontá, and M. Resnick. 2013. Designing ScratchJr: Support for early childhood learning through computer programming. In Proceedings of the 12th International Conference on Interaction Design and Children. ACM, 1--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. D. Franklin, G. Skifstad, R. Rolock, I. Mehrotra, V. Ding, A. Hansen, D. Weintrop, and D Harlow. 2017. Using upper-elementary student performance to understand conceptual sequencing in a blocks-based curriculum. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE’17). New York: ACM, 231--236. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. N. Fraser. 2015. Ten things we've learned from Blockly. In Proceedings of the 2015 IEEE Blocks and Beyond Workshop (Blocks and Beyond). 49--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. Garcia, B. Harvey, and T. Barnes. 2015. The beauty and joy of computing. ACM Inroads 6, 4 (November 2015), 71--79. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. J. Goode, G. Chapman, and J. Margolis. 2012. Beyond curriculum: The exploring computer science program. ACM Inroads 3, 2 (2012), 47--53. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. S. Grover and S. Basu. 2017. Measuring student learning in introductory block-based programming: Examining misconceptions of loops, In Variables, and Boolean Logic. ACM Press, 267--272.Google ScholarGoogle Scholar
  26. S. Grover, R. Pea, and S. Cooper. 2015. Designing for deeper learning in a blended computer science course for middle school students. Comput. Sci. Educ. 25, 2 (April 2015), 199--237. Google ScholarGoogle ScholarCross RefCross Ref
  27. S. Grover, R. Pea, and S. Cooper. 2016. Factors influencing computer science learning in middle school. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education. ACM, 552--557. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. D. Harlow, H. Dwyer, A. Hansen, A. Iveland, and D. Franklin. Accepted. Ecological design based research in computer science education: Affordances and effectivities for elementary school students. Cogn. Instr. (Accepted).Google ScholarGoogle Scholar
  29. B. Harvey. 1997. Computer Science Logo Style: Beyond Programming. MIT Press.Google ScholarGoogle Scholar
  30. B. Harvey and J. Mönig. 2010. Bringing “no ceiling” to Scratch: Can one language serve kids and computer scientists? In J. Clayson 8 I. Kalas, eds. Proceedings of Constructionism 2010 Conference. 1--10.Google ScholarGoogle Scholar
  31. C. Hill, H. Dwyer, T. Martinez, D. Harlow, and D. Franklin. 2015. Floors and flexibility: Designing a programming environment for 4th-6th grade classrooms. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education. ACM, 546--551. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. M. Homer and J. Noble. 2014. Combining tiled and textual views of code. In IEEE Working Conference on Software Visualisation (VISSOFT’14). IEEE, 1--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. M. S. Horn and U. Wilensky. 2012. NetTango: A mash-up of netlogo and tern. In When Systems Collide: Challenges and Opportunities in Learning Technology Mashups.Google ScholarGoogle Scholar
  34. K. Johnsgard and J. McDonald. 2008. Using Alice in overview courses to improve success rates in programming I. In IEEE 21st Conference on Software Engineering Education and Training, 2008 (CSEET’08). 129--136.Google ScholarGoogle Scholar
  35. J. Kaput, R. Noss, and C. Hoyles. 2002. Developing new notations for a learnable mathematics in the computational era. Handb. Int. Res. Math. Educ. (2002), 51--75.Google ScholarGoogle Scholar
  36. M. Kölling, N. C. C. Brown, and A. Altadmri. 2015. Frame-based editing: Easing the transition from blocks to text-based programming. In Proceedings of the Workshop in Primary and Secondary Computing Education (WiPSCE’15). New York: ACM, 29--38. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. M. Kölling and F. McKay. 2016. Heuristic evaluation for novice programming systems. Trans. Comput. Educ. 16, 3 (June 2016), 12:1--12:30.Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. C. M. Lewis. 2010. How programming environment shapes perception, learning and goals: Logo vs. Scratch. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education. 346--350. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. D. J. Malan and H. H. Leitner. 2007. Scratch for budding computer scientists. ACM SIGCSE Bull. 39, 1 (2007), 223--227. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. J. H. Maloney, K. Peppler, Y. Kafai, M. Resnick, and N. Rusk. 2008. Programming by choice: Urban youth learning programming with Scratch. ACM SIGCSE Bull. 40, 1 (2008), 367--371. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. J. H. Maloney, M. Resnick, N. Rusk, B. Silverman, and E. Eastmond. 2010. The Scratch programming language and environment. ACM Trans. Comput. Educ. TOCE 10, 4 (2010), 16.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Y. Matsuzawa, T. Ohata, M. Sugiura, and S. Sakai. 2015. Language migration in non-CS introductory programming through mutual language translation environment. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education. ACM Press, 185--190. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. O. Meerbaum-Salant, M. Armoni, and M. Ben-Ari. 2011. Habits of programming in scratch. In Proceedings of the 16th Annual Joint Conference on Innovation and Technology in Computer Science Education (ITiCSE’11). ACM, 168--172. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. O. Meerbaum-Salant, M. Armoni, and M. M. Ben-Ari. 2010. Learning computer science concepts with Scratch. In Proceedings of the 6th International Workshop on Computing Education Research. 69--76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. J. Mönig, Y. Ohshima, and J. Maloney. 2015. Blocks at your fingertips: Blurring the line between blocks and text in GP. In 2015 IEEE Blocks and Beyond Workshop (Blocks and Beyond). 51--53.Google ScholarGoogle Scholar
  46. B. Moskal, D. Lurie, and S. Cooper. 2004. Evaluating the effectiveness of a new instructional approach. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education. 75--79. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. P. Mullins, D. Whitfield, and M. Conlon. 2009. Using Alice 2.0 as a first language. J. Comput. Sci. Coll. 24, 3 (2009), 136--143.Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. S. Papert. 1980. Mindstorms: Children, Computers, and Powerful Ideas. New York: Basic Books.Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. T. W. Price and T. Barnes. 2015. Comparing textual and block interfaces in a novice programming environment. In Proceedings of the 11th Annual International Conference on International Computing 944 Education Research (ICER’15). New York. ACM Press, 91--99. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. A. Repenning. 1993. Agentsheets: a tool for building domain-oriented visual programming environments. In Proceedings of the INTERACT’93 and CHI’93 Conference on Human Factors in Computing Systems. ACM, 142--143. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. M. Resnick, B. Silverman, Y. Kafai, J. Maloney, A. Monroy-Hernández, N. Rusk, E. Eastmond, K. Brennan, A. Millner, E. Rosenbaum, and J. Silver. 2009. Scratch: Programming for all. Commun. ACM 52, 11 (November 2009), 60.Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. A. Robins, J. Rountree, and N. Rountree. 2003. Learning and teaching programming: A review and discussion. Comput. Sci. Educ. 13, 2 (2003), 137--172. Google ScholarGoogle ScholarCross RefCross Ref
  53. R. V. Roque. 2007. OpenBlocks: An Extendable Framework for Graphical Block Programming Systems. Master's Thesis. Massachusetts Institute of Technology.Google ScholarGoogle Scholar
  54. R. Benjamin Shapiro and M. Ahrens. 2016. Beyond blocks: Syntax and semantics. Commun. ACM 59, 5 (April 2016), 39--41. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. B. L. Sherin. 2001. A comparison of programming languages and algebraic notation as expressive languages for physics. Int. J. Comput. Math. Learn. 6, 1 (2001), 1--61. Google ScholarGoogle ScholarCross RefCross Ref
  56. W. Slany. 2014. Tinkering with pocket code, a scratch-like programming app for your smartphone. In Proceedings of Constructionism 2014.Google ScholarGoogle Scholar
  57. N. Smith, C. Sutcliffe, and L. Sandvik. 2014. Code club: Bringing programming to UK primary schools through scratch. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE’14). New York: ACM, 517--522. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. F. Swetz. 1989. Capitalism and Arithmetic: The New Math of the 15th Century, La Salle, IL: Open Court.Google ScholarGoogle Scholar
  59. B. Tangney, E. Oldham, C. Conneely, S. Barrett, and J. Lawlor. 2010. Pedagogy and processes for a computer programming outreach workshop—The bridge to college model. IEEE Trans. Educ. 53, 1 (2010), 53--60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. M. Tempel. 2013. Blocks programming. CSTA Voice 9, 1 (2013), 3--4.Google ScholarGoogle Scholar
  61. The Playful Invention Company. 2008. PicoBlocks. Playful Invention Company.Google ScholarGoogle Scholar
  62. A. Wagh and U. Wilensky. 2012. Evolution in blocks: Building models of evolution using blocks. In C. Kynigos, J. Clayson, and N. Yiannoutsou, eds. Proceedings of the Constructionism 2012 Conference.Google ScholarGoogle Scholar
  63. D. Weintrop. 2016. Modality Matters: Understanding the Effects of Programming Language Representation in High School Computer Science Classrooms. PhD Dissertation. Evanston, IL: Northwestern University.Google ScholarGoogle Scholar
  64. D. Weintrop and U. Wilensky. 2016. Bringing blocks-based programming into high school computer science classrooms. Paper presented at the Annual Meeting of the American Educational Research Association (AERA).Google ScholarGoogle Scholar
  65. D. Weintrop and U. Wilensky. 2012. RoboBuilder: A program-to-play constructionist video game. In C. Kynigos, J. Clayson, and N. Yiannoutsou, eds. Proceedings of the Constructionism 2012 Conference.Google ScholarGoogle Scholar
  66. D. Weintrop and U. Wilensky. 2015a. The challenges of studying blocks-based programming environments. In 2015 IEEE Blocks and Beyond Workshop (Blocks and Beyond). 5--7.Google ScholarGoogle Scholar
  67. D. Weintrop and U. Wilensky. 2015b. 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 (IDC’15). New York: ACM, 199--208. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. D. Weintrop and U. Wilensky. 2015. Using commutative assessments to compare conceptual understanding in blocks-based and text-based programs. In Proceedings of the 11th Annual International Conference on International Computing Education Research (ICER’15). New York: ACM, 101--110. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. U. Wilensky. 2001. Modeling nature's emergent patterns with multi-agent languages. In Proceedings of EuroLogo. 1--6.Google ScholarGoogle Scholar
  70. U. Wilensky. 2006. Complex systems and restructuration of scientific disciplines: Implications for learning, analysis of social systems, and educational policy. Paper presented at the Annual Meeting of the American Educational Research Association.Google ScholarGoogle Scholar
  71. U. Wilensky, C. E. Brady, and M. S. Horn. 2014. Fostering computational literacy in science classrooms. Commun. ACM 57, 8 (August 2014), 24--28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. U. Wilensky and S. Papert. 2010. Restructurations: Reformulating knowledge disciplines through new representational forms. In J. Clayson 8 I. Kallas, eds. Proceedings of the Constructionism 2010 Conference.Google ScholarGoogle Scholar
  73. U. Wilensky and W. Rand. 2014. Introduction to Agent-Based Modeling, Cambridge, MA: MIT Press.Google ScholarGoogle Scholar
  74. M. H. Wilkerson-Jerde and U. Wilensky. 2010. Restructuring change, interpreting changes: The deltatick modeling and analysis toolkit. In J. Clayson AND I. Kalas, eds. Proceedings of the Constructionism 2010 Conference.Google ScholarGoogle Scholar
  75. A. Wilson and D. C. Moffat. 2010. Evaluating scratch to introduce younger schoolchildren to programming. In Proc. 22nd Annu. Psychol. Program. Interest Group Universidad Carlos III de Madrid, Leganés, Spain (2010).Google ScholarGoogle Scholar
  76. D. Wolber, H. Abelson, E. Spertus, and L. Looney. 2014. App Inventor 2: Create Your Own Android Apps. 2nd ed. Beijing: O'Reilly Media.Google ScholarGoogle Scholar
  77. D. Yaroslavski. 2014. Lightbot. Armor Games.Google ScholarGoogle Scholar

Index Terms

  1. Comparing Block-Based and Text-Based Programming in High School Computer Science Classrooms

    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 18, Issue 1
      March 2018
      127 pages
      EISSN:1946-6226
      DOI:10.1145/3155324
      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 the author(s) 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: 27 October 2017
      • Accepted: 1 May 2017
      • Revised: 1 April 2017
      • Received: 1 December 2016
      Published in toce Volume 18, Issue 1

      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