Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Event-driven Programming in Programming Education: A Mapping Review

Published: 16 March 2021 Publication History

Abstract

During the past two decades, event-driven programming (EDP) has emerged as a central and almost ubiquitous concept in modern software development: Graphical user interfaces are self-evident in most mobile and web-based applications, as well as in many embedded systems, and they are most often based on reacting to events. To facilitate both teaching practice and research in programming education, this mapping review seeks to give an overview of the related knowledge that is already available in conference papers and journal articles. Starting from early works of the 1990s, we identified 105 papers that address teaching practices, present learning resources, software tools or libraries to support learning, and empirical studies related to EDP. We summarize the publications, their main content, and findings. While most studies focus on bachelor’s level education in universities, there has been substantial work in K-12 level, as well. Few courses address EDP as their main content—rather it is most often integrated with CS1, CS2, or computer graphics courses. The most common programming languages and environments addressed are Java, App Inventor, and Scratch. Moreover, very little of deliberate experimental scientific research has been carried out to explicitly address teaching and learning EDP. Consequently, while so-called experience reports, tool papers, and anecdotal evidence have been published, this theme offers a wide arena for empirical research in the future. At the end of the article, we suggest a number of directions for future research.

Supplementary Material

a1-lukkarinen-apndx.pdf (lukkarinen.zip)
Supplemental movie, appendix, image and software files for, Event-driven Programming in Programming Education: A Mapping Review

References

[1]
Sjriek Alers and Jun Hu. 2009. AdMoVeo: A robotic platform for teaching creative programming to designers. In Learning by Playing. Game-based Education System Design and Development, Edutainment 2009 (LNCS, vol. 5670), Maiga Chang, Rita Kuo, Kinshuk, Gwo-Dong Chen, and Michitaka Hirose (Eds.). Springer, Berlin, 410--421.
[2]
Carl Alphonce and Phil Ventura. 2003. Using graphics to support the teaching of fundamental object-oriented principles in CS1. In Proceedings of the 18th OOPSLA. ACM, New York, NY, 156--161.
[3]
Erzsébet Angster, Joseph Bergin, and László Böszörményi. 1999. Introducing OO design and programming with special emphasis on concrete examples. In Object-Oriented Technology ECOOP’99 Workshop Reader (LNCS, vol. 1743), Ana Moreira (Ed.). Springer, Berlin, 338--361.
[4]
David M. Arnow. 1995. XDP: A simple library for teaching a distributed programming module. In Proceedings of the 26th SIGCSE. ACM, New York, NY, 82--86.
[5]
Owen Astrachan, Kim B. Bruce, Elliot Koffman, Michael Kölling, and Stuart Reges. 2005. Resolved: Objects early has failed. In Proceedings of the 36th SIGCSE. ACM, New York, NY, 451--452.
[6]
Richard Austing, Robert D. Campbell, C. Fay Cover, Elizabeth K. Hawthorne, and Karl J. Klee. 2002. Guidelines for Associate-Degree Programs in Computer Science. Technical Report. ACM, New York, NY. Retrieved from https://dl.acm.org/doi/book/10.1145/2593245
[7]
Martin L. Barrett. 1993. A hypertext module for teaching user interface design. In Proceedings of the 24th SIGCSE. ACM, New York, NY, 107--111.
[8]
Joseph Bergin, Amruth Kumar, Viera K. Proulx, Myles McNally, Alyce Faulstich Brady, David Mutchler, Stephen Hartley, Richard Rasala, Charles Kelemen, Rocky Ross, and Frank Klassner. 1999. Resources for next generation introductory CS courses: Report of the ITiCSE’99 working group on resources for the next generation CS 1 course. In Proceedings of the ITiCSE-WGR’99. ACM, New York, NY, 101--105.
[9]
Dianne P. Bills and John A. Biles. 2005. The role of programming in IT. In Proceedings of the 6th SIGITE. ACM, New York, NY, 43--49.
[10]
Judith Bishop and Nigel Horspool. 2004. Developing principles of GUI programming using views. In Proceedings of the 35th SIGCSE. ACM, New York, NY, 373--377.
[11]
Corey Brady, David Weintrop, Ken Gracey, Gabby Anton, and Uri Wilensky. 2015. The CCL-parallax programmable badge: Learning with low-cost, communicative wearable computers. In Proceedings of the 16th SIGITE. ACM, New York, NY, 139--144.
[12]
Kim B. Bruce. 2004. Controversy on how to teach CS 1: A discussion on the SIGCSE-members mailing list. In Proceedings of the ITiCSE-WGR. ACM, New York, NY, 29--34.
[13]
Kim B. Bruce and Andrea P. Danyluk. 2004. Event-driven programming facilitates learning standard programming concepts. In Proceedings of the 19th OOPSLA. ACM, New York, NY, 96--100.
[14]
Kim B. Bruce, Andrea P. Danyluk, and Thomas P. Murtagh. 2001a. Event-driven programming is simple enough for CS1. In Proceedings of the 6th ITiCSE. ACM, New York, NY, 1--4.
[15]
Kim B. Bruce, Andrea P. Danyluk, and Thomas P. Murtagh. 2001b. A library to support a graphics-based object-first approach to CS 1. In Proceedings of the 32nd SIGCSE. ACM, New York, NY, 6--10.
[16]
Kim B. Bruce, Andrea P. Danyluk, and Thomas P. Murtagh. 2005. Why structural recursion should be taught before arrays in CS 1. In Proceedings of the 36th SIGCSE. ACM, New York, NY, 246--250.
[17]
Kim B. Bruce, Andrea P. Danyluk, and Thomas P. Murtagh. 2010. Introducing concurrency in CS 1. In Proceedings of the 41st SIGCSE. ACM, New York, NY, 224--228.
[18]
Barry Burd, João Paulo Barros, Chris Johnson, Stan Kurkovsky, Arnold Rosenbloom, and Nikolai Tillman. 2012. Educating for mobile computing: Addressing the new challenges. In Proceedings of the ITiCSE-WGR. ACM, New York, NY, 51--63.
[19]
Brendan Burns. 2005. A new approach to computer science in the liberal arts. J. Comput. Sci. Coll. 20, 5 (May 2005), 154--162. Retrieved from http://dl.acm.org/doi/10.5555/1059888.1059943
[20]
Peter Chalk. 1999. Java in the computing curricula. ACM SIGPLAN Notices 34, 12 (Dec. 1999), 9--11.
[21]
Louise Chaytor and Soleda Leung. 2003. How to creatively communicate Microsoft.NET technologies in the IT curriculum. In Proceedings of the 4th CITC. ACM, New York, NY, 168--173.
[22]
Henrik Bærbak Christensen and Michael E. Caspersen. 2002. Frameworks in CS1—A different way of introducing event-driven programming. In Proceedings of the 7th ITiCSE. ACM, New York, NY, 75--79.
[23]
Robert Coe, Michael Waring, Larry V. Hedges, and James Arthur (Eds.). 2017. Research Methods and Methodologies in Education (2nd ed.). SAGE Publications, London, UK.
[24]
Stephen Cooper. 2010. The design of Alice. ACM Trans. Comput. Educ. 10, 4, Article 15 (Nov. 2010), 16 pages.
[25]
Stephen Cooper, Wanda Dann, and Randy Pausch. 2000. Alice: A 3-D tool for introductory programming concepts. J. Comput. Sci. Coll. 15, 5 (2000), 108--117. Retrieved from https://dl.acm.org/doi/10.5555/364133.364161
[26]
Stephen Cooper, Wanda Dann, and Randy Pausch. 2003. Teaching objects-first in introductory computer science. In Proceedings of the 34th SIGCSE. ACM, New York, NY, 191--195.
[27]
Matthew H. Dabney, Brian C. Dean, and Tom Rogers. 2013. No sensor left behind: Enriching computing education with mobile devices. In Proceedings of the 44th SIGCSE. ACM, New York, NY, 627--632.
[28]
James Devine, Joe Finney, Peli de Halleux, Michał Moskal, Thomas Ball, and Steve Hodges. 2019. MakeCode and CODAL: Intuitive and efficient embedded systems programming for education. J. Syst. Archit. 98 (2019), 468--483.
[29]
Jill P. Dimond, Sarita Yardi, and Mark Guzdial. 2009. Mediating programming through chat for the OLPC. In Proceedings of the CHI EA. ACM, New York, NY, 4465--4470.
[30]
Adair Dingle and Carol Zander. 2000. Assessing the ripple effect of CS1 language choice. J. Comput. Sci. Coll. 16, 2 (Oct. 2000), 85--93. Retrieved from https://dl.acm.org/doi/abs/10.5555/369279.369331
[31]
Vladimiras Dolgopolovas, Tatjana Jevsikova, and Valentina Dagienė. 2018. From Android games to coding in C—An approach to motivate novice engineering students to learn programming: A case study. Comput. Appl. Eng. Educ. 26, 1 (2018), 75--90.
[32]
Magy Seif El-Nasr and Brian K. Smith. 2006. Learning through game modding. Comput. Entertain. 4, 1, Article 7 (Jan. 2006), 20 pages.
[33]
Micaela Esteves, Ricardo Antunes, Benjamim Fonseca, Leonel Morgado, and Paulo Martins. 2008. Using second life in programming’s communities of practice. In Groupware: Design, Implementation, and Use, CRIWG 2008 (LNCS, vol. 5411), Robert O. Briggs, Pedro Antunes, Gert-Jan de Vreede, and Aaron S. Read (Eds.). Springer, Berlin, 99--106.
[34]
Matthew E. Falagas, Eleni I. Pitsouni, George A. Malietzis, and Georgios Pappas. 2007. Comparison of, scopus, web of science, and Google scholar: Strengths and weaknesses. FASEB J. 22, 2 (Sept. 2007), 338--342.
[35]
Annette Feng, Mark Gardner, and Wu-Chun Feng. 2017. Parallel programming with pictures is a snap! J. Parallel Distrib. Comput. 105 (2017), 150--162.
[36]
Deborah A. Fields, Michael Giang, and Yasmin B. Kafai. 2014. Programming in the wild: Trends in youth computational participation in the online scratch community. In Proceedings of the 9th WiPSCE. ACM, New York, NY, 2--11.
[37]
Deborah A. Fields, Yasmin B. Kafai, and Michael T. Giang. 2017. Youth computational participation in the wild: Understanding experience and equity in participating and programming in the online scratch community. ACM Trans. Comput. Educ. 17, 3, Article 15 (Aug. 2017), 22 pages.
[38]
Deborah A. Fields, Lisa Quirke, Janell Amely, and Jason Maughan. 2016. Combining big data and thick data analyses for understanding youth learning trajectories in a summer coding camp. In Proceedings of the 47th SIGCSE. ACM, New York, NY, 150--155.
[39]
Deborah A. Fields, Veena Vasudevan, and Yasmin B. Kafai. 2015. The programmers’ collective: Fostering participatory culture by making music videos in a high school scratch coding workshop. Interact. Learn. Environ. 23, 5 (2015), 613--633.
[40]
Alice E. Fischer. 2011. That’s neat -- How do i do it?: Demonstration. J. Comput. Sci. Coll. 26, 6 (June 2011), 61--63. Retrieved from http://dl.acm.org/doi/10.5555/1968521.1968537
[41]
Diana M. Franklin, Phillip Conrad, Bryce Boe, Katy Nilsen, Charlotte Hill, Michelle Len, Greg Dreschler, Gerardo Aldana, Paulo Almeida-Tanaka, Brynn Kiefer, Chelsea Laird, Felicia Lopez, Christine Pham, Jessica Suarez, and Robert Waite. 2013. Assessment of computer science learning in a scratch-based outreach program. In Proceedings of the 44th SIGCSE. ACM, New York, NY, 371--376.
[42]
Diana M. Franklin, Charlotte Hill, Hilary A. Dwyer, Alexandria K. Hansen, Ashley O. Iveland, and Danielle B. Harlow. 2016. Initialization in scratch: Seeking knowledge transfer. In Proceedings of the 47th SIGCSE. ACM, New York, NY, 217--222.
[43]
Ilenia Fronza, Nabil El Ioini, and Luis Corral. 2016. Teaching software design engineering across the K--12 curriculum: Using visual thinking and computational thinking. In Proceedings of the 17th SIGITE. ACM, New York, NY, 97--101.
[44]
Sandy Garner, Patricia Haden, and Anthony V. Robins. 2005. My program is correct but it doesn’t run: A preliminary investigation of novice programmers’ problems. In Proceedings of the 7th ACE (Vol. 42). ACS, Darlinghurst, NSW, AU, 173--180. Retrieved from https://dl.acm.org/doi/10.5555/1082424.1082446
[45]
Vaidas Gasiunas, Lucas Satabin, Mira Mezini, Angel Núñez, and Jacques Noyé. 2011. EScala: Modular event-driven object interactions in Scala. In Proceedings of the 10th AOSD. ACM, New York, NY, 227--240.
[46]
Paul Gestwicki and Fu-Shing Sun. 2008. Teaching design patterns through computer game development. J. Educ. Resour. Comput. 8, 1, Article 2 (March 2008), 22 pages.
[47]
Mark Goadrich. 2014. Incorporating tangible computing devices into CS1. J. Comput. Sci. Coll. 29, 5 (May 2014), 23--31. Retrieved from http://dl.acm.org/doi/10.5555/2600623.2600627
[48]
Michael H. Goldwasser and David Letscher. 2009. A graphics package for the first day and beyond. In Proceedings of the 40th SIGCSE. ACM, New York, NY, 206--210.
[49]
Michal Gordon, Eileen Rivera, Edith Ackermann, and Cynthia Breazeal. 2015. Designing a relational social robot toolkit for preschool children to explore computational concepts. In Proceedings of the 14th IDC. ACM, New York, NY, 355--358.
[50]
Maria J. Grant and Andrew Booth. 2009. A typology of reviews: An analysis of 14 review types and associated methodologies. Health Info. Libr. J. 26, 2 (June 2009), 91--108.
[51]
Chris Gregg, Luther Tychonievich, James Cohoon, and Kim Hazelwood. 2012. EcoSim: A language and experience teaching parallel programming in elementary school. In Proceedings of the 43rd SIGCSE. ACM, New York, NY, 51--56.
[52]
Scott Grissom. 2000. A pedagogical framework for introducing Java I/O in CS1. SIGCSE Bull. 32, 4 (Dec. 2000), 57--59.
[53]
Shuchi Grover and Roy Pea. 2013. Using a discourse-intensive pedagogy and Android’s app inventor for introducing computational concepts to middle school students. In Proceedings of the 44th SIGCSE. ACM, New York, NY, 723--728.
[54]
Yu Guo, Aditi Wagh, Corey Brady, Sharona T. Levy, Michael S. Horn, and Uri Wilensky. 2016. Frogs to think with: Improving students’ computational thinking and understanding of evolution in a code-first learning environment. In Proceedings of the 15th IDC. ACM, New York, NY, 246--254.
[55]
Ken Halland and Katherine Malan. 2003. Reflections by teachers learning to program. In Proceedings of the SAICSIT 2003. South African Institute for Computer Scientists and Information Technologists, ZA, 165--172. Retrieved from https://dl.acm.org/doi/abs/10.5555/954014.954032
[56]
Stuart Hansen and Timothy Fossum. 2004. Events not equal to GUIs. In Proceedings of the 35th SIGCSE. ACM, New York, NY, 378--381.
[57]
Danielle B. Harlow, Hilary A. Dwyer, Alexandria K. Hansen, Ashley O. Iveland, and Diana M. Franklin. 2018. Ecological design-based research for computer science education: Affordances and effectivities for elementary school students. Cogn. Instr. 36, 3 (2018), 224--246.
[58]
Jeisson Hidalgo-Céspedes, Gabriela Marín-Raventós, Vladimir Lara-Villagrán, and Luis Villalobos-Fernández. 2018. Effects of oral metaphors and allegories on programming problem solving. Comput. Appl. Eng. Educ. 26, 4 (2018), 852--871.
[59]
Lewis E. Hitchner and Henry A. Sowizral. 2000. Adapting computer graphics curricula to changes in graphics. Comput. Graph. 24, 2 (2000), 283--288.
[60]
Steve Hodges, James Scott, Sue Sentance, Colin Miller, Nicolas Villar, Scarlet Schwiderski-Grosche, Kerry Hammil, and Steven Johnston. 2013. .NET gadgeteer: A new platform for K--12 computer science education. In Proceedings of the 44th SIGCSE. ACM, New York, NY, 391--396.
[61]
David Hovemeyer and David Babcock. 2009. Using terminal window graphics in CS1. J. Comput. Sci. Coll. 24, 3 (Jan. 2009), 151--158. Retrieved from https://dl.acm.org/doi/10.5555/1409873.1409902
[62]
Keyuan Jiang, John Maniotes, and Reza Kamali. 2004. A different approach of teaching introductory visual basic course. In Proceedings of the 5th CITC. ACM, New York, NY, 219--223.
[63]
Ricardo Jiménez-Peris, Sami Khuri, and Marta Patiño-Martínez. 1999. Adding breadth to CS1 and CS2 courses through visual and interactive programming projects. In Proceedings of the 30th SIGCSE. ACM, New York, NY, 252--256.
[64]
Joint Task Group on Computer Engineering Curricula, ACM, and IEEE-CS. 2016. Computer Engineering Curricula 2016: Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering. ACM, New York, NY. Retrieved from https://www.acm.org/education/curricula-recommendations.
[65]
Annie Kelly, Lila Finch, Monica Bolles, and R. Benjamin Shapiro. 2018. BlockyTalky: New programmable tools to enable students’ learning networks. Int. J. Child Comput. Interact. 18 (2018), 8--18.
[66]
Soojin Kim and Franklyn Turbak. 2015. Adapting higher-order list operators for blocks programming. In Proceedings of the VL/HCC. IEEE, Piscataway, NJ, 213--217.
[67]
Barbara Ann Kitchenham, David Budgen, and Pearl Brereton. 2016. Evidence-based Software Engineering and Systematic Reviews. CRC Press (Taylor & Francis Group), Boca Raton, FL.
[68]
Shriram Krishnamurthi and Kathi Fisler. 2019. Programming paradigms and beyond. In The Cambridge Handbook of Computing Education Research, Sally A. Fincher and Anthony V. Robins (Eds.). Cambridge University Press, Cambridge, UK, Chapter 13, 377--413.
[69]
Amruth N. Kumar. 2018. Collateral learning of mobile computing: An experience report. In Proceedings of the 23rd ITiCSE. ACM, New York, NY, 27--32.
[70]
Wanda M. Kunkle and Robert B. Allen. 2016. The impact of different teaching approaches and languages on student learning of introductory programming concepts. ACM Trans. Comput. Educ. 16, 1, Article 3 (Jan. 2016), 26 pages.
[71]
Brian C. Ladd. 2006. The Curse of Monkey Island: Holding the attention of students weaned on computer games. J. Comput. Sci. Coll. 21, 6 (June 2006), 162--174. Retrieved from http://dl.acm.org/doi/10.5555/1127442.1127464
[72]
Ken Lambert and Martin Osborne. 2000. Easy, realistic GUIs with Java in CS1. In Proceedings of the 2nd Annual CCSC Northwestern Conference. Consortium for Computing Sciences in Colleges, 209--215. Retrieved from http://dl.acm.org/doi/10.5555/369279.369358
[73]
R. Raymond Lang and Marguerite Saacks-Giguette. 1999. Introducing high school students to event driven programming. In Proceedings of the 29th FIE, Vol. 1. IEEE, Piscataway, NJ, 11B5/9--11B514.
[74]
Scott T. Leutenegger. 2006. A CS1 to CS2 bridge class using 2D game programming. J. Comput. Sci. Coll. 21, 5 (May 2006), 76--83. Retrieved from http://dl.acm.org/doi/10.5555/1127351.1127366
[75]
Peter L. Liu. 2008. Using open-source robocode as a Java programming assignment. ACM SIGCSE Bull. 40, 4 (Nov. 2008), 63--67.
[76]
Aleksi Lukkarinen and Juha Sorva. 2016. Classifying the tools of contextualized programming education and forms of media computation. In Proceedings of the 16th Koli Calling. ACM, New York, NY, 51--60.
[77]
Andrew Luxton-Reilly, Brett A. Becker, Yingjun Cao, Roger McDermott, Claudio Mirolo, Andreas Mühling, Andrew Petersen, Kate Sanders, Simon, and Jacqueline Whalley. 2017. Developing assessments to determine mastery of programming fundamentals. In Proceedings of the ITiCSE-WGR. ACM, New York, NY, 47--69.
[78]
Stéphane Magnenat, Morderchai Ben-Ari, Severin Klinger, and Robert W. Sumner. 2015. Enhancing robot programming with visual feedback and augmented reality. In Proceedings of the 20th ITiCSE. ACM, New York, NY, 153--158.
[79]
Lauren Margulieux, Tuba Ayer Ketenci, and Adrienne Decker. 2019. Review of measurements used in computing education research and suggestions for increasing standardization. Comput. Sci. Educ. 29, 1 (2019), 49--78.
[80]
Lee McCauley, Jim Greer, David Mills, Jeff Robertson, and Allen Thomas. 2006. Teaching objects first using lego robots: A Tri-P-LETS initiative. J. Comput. Sci. Coll. 21, 5 (May 2006), 183--185. Retrieved from http://dl.acm.org/doi/10.5555/1127351.1127384
[81]
Renée McCauley, Sue Fitzgerald, Gary Lewandowski, Laurie Murphy, Beth Simon, Lynda Thomas, and Carol Zander. 2008. Debugging: A review of the literature from an educational perspective. Comput. Sci. Educ. 18, 2 (2008), 67--92.
[82]
Myles F. McNally. 1998. Using image processing as a laboratory theme in CS1 and CS2 (poster). In Proceedings of the 3rd ITiCSE. ACM, New York, NY, 292.
[83]
Stephen R. McNeill and Jeffrey D. Helm. 1995. A required mechanical engineering course in microprocessors. Mechatronics 5, 7 (1995), 763--774.
[84]
Andrew Mertz, William Slough, and Nancy Van Cleave. 2008. Using the ACM Java libraries in CS 1. J. Comput. Sci. Coll. 24, 1 (Oct. 2008), 16--26. Retrieved from https://dl.acm.org/doi/10.5555/1409763.1409769
[85]
Paul M. Mullins and Michael Conlon. 2008. Engaging students in programming fundamentals using Alice 2.0. In Proceedings of the 9th SIGITE. ACM, New York, NY, 81--88.
[86]
Paul M. Mullins, Deborah Whitfield, and Michael Conlon. 2009. Using Alice 2.0 as a first language. J. Comput. Sci. Coll. 24, 3 (Jan. 2009), 136--143. Retrieved from http://dl.acm.org/doi/10.5555/1409873.1409900
[87]
Jogesh K. Muppala. 2011. Teaching embedded software concepts using Android. In Proceedings of the 6th WESE. ACM, New York, NY, 32--37.
[88]
Thomas P. Murtagh. 2007. Squint: Barely visible library support for CS1. In Proceedings of the 38th SIGCSE. ACM, New York, NY, 526--530.
[89]
Gwen Nugent, Leen-Kiat Soh, Ashok Samal, and Jeff Lang. 2006. A placement test for computer science: Design, implementation, and analysis. Comput. Sci. Educ. 16, 1 (2006), 19--36.
[90]
Jackie O’Kelly and J. Paul Gibson. 2006. RoboCode & problem-based learning: A non-prescriptive approach to teaching programming. ACM SIGCSE Bull. 38, 3 (June 2006), 217--221.
[91]
Samatios J. Papadakis and Vasileios Orfanakis. 2015. Institute of Humanities and Social Sciences (I.A.K.E.), Heraklion, Crete, GR, 666--674. Retrieved from https://iake.weebly.com/praktika2015.html.
[92]
Sofia Papavlasopoulou, Kshitij Sharma, Michail Giannakos, and Letizia Jaccheri. 2017. Using eye-tracking to unveil differences between kids and teens in coding activities. In Proceedings of the IDC. ACM, New York, NY, 171--181.
[93]
Harrie J. M. Passier, Sylvia Stuurman, and Harold Pootjes. 2014. Beautiful JavaScript: How to guide students to create good and elegant code. In Proceedings of the CSERC. ACM, New York, NY, 65--76.
[94]
James Patten, Laurie Griffith, and Hiroshi Ishii. 2000. A tangible interface for controlling robotic toys. In Proceedings of the CHI EA. ACM, New York, NY, 277--278.
[95]
Victor Paul Pauca and Richard T. Guy. 2012. Mobile apps for the greater good: A socially relevant approach to software engineering. In Proceedings of the 43rd SIGCSE. Association for Computing Machinery, New York, NY, 535--540.
[96]
Bruno Henrique de Paula, Andrew Burn, Richard Noss, and José Armando Valente. 2018. Playing beowulf: Bridging computational thinking, arts and literature through game-making. Int. J. Child Comput. Interact. 16 (2018), 39--46.
[97]
Theo Pavlidis. 1996. How to teach graphics using X (and live to tell about it). ACM SIGGRAPH Comput. Graph. 30, 3 (Aug. 1996), 41--42.
[98]
Rudolf Pecinovský, Jarmila Pavlíčková, and Luboš Pavlíček. 2006. Let’s modify the objects-first approach into design-patterns-first. In Proceedings of the 11th ITiCSE. ACM, New York, NY, 188--192.
[99]
Katerina Perdikuri. 2014. Students’ experiences from the use of MIT app inventor in classroom. In Proceedings of the 18th PCI. ACM, New York, NY, Article 41, 6 pages.
[100]
James Purtilo and Stan Siegel. 1994. Experiences with CCB-directed projects in the classroom. In Software Engineering Education, CSEE 1994 (LNCS, vol. 750), Jorge L. Díaz-Herrera (Ed.). Springer, Berlin, 283--302.
[101]
Michael de Raadt. 2010. Introductory programming in a web context. In Proceedings of the 12th ACE (Vol. 103). ACS, Darlinghurst, AU, 79--86. Retrieved from http://dl.acm.org/doi/10.5555/1862219.1862232
[102]
Richard Rasala, Jeff Raab, and Viera K. Proulx. 2001. Java power tools: Model software for teaching object-oriented design. In Proceedings of the 32nd SIGCSE. ACM, New York, NY, 297--301.
[103]
Stuart Reges. 2006. Back to basics in CS1 and CS2. In Proceedings of the 37th SIGCSE. ACM, New York, NY, 293--297.
[104]
Derek Riley. 2012. Using mobile phone programming to teach Java and advanced programming to computer scientists. In Proceedings of the 43rd SIGCSE. ACM, New York, NY, 541--546.
[105]
Eric Roberts, Kim Bruce, James H. Cross, Robb Cutler, Scott Grissom, Karl Klee, Susan Rodger, Fran Trees, Ian Utting, and Frank Yellin. 2006. The ACM Java task force: Final report. In Proceedings of the 37th SIGCSE. ACM, New York, NY, 131--132.
[106]
Eric Roberts and Antoine Picard. 1998. Designing a Java graphics library for CS 1. In Proceedings of the 6th ITiCSE. ACM, New York, NY, 213--218.
[107]
Eric Roberts and Keith Schwarz. 2013. A portable graphics library for introductory CS. In Proceedings of the 18th ITiCSE. ACM, New York, NY, 153--158.
[108]
José María Rodríguez Corral, Antón Civit Balcells, Arturo Morgado Estévez, Gabriel Jiménez Moreno, and María José Ferreiro Ramos. 2014. A game-based approach to the teaching of object-oriented programming languages. Comput. Educ. 73 (2014), 83--92.
[109]
Mark F. Russo. 2017. DoodlePad: Next-gen event-driven programming for CS1. J. Comput. Sci. Coll. 32, 4 (Apr. 2017), 99--105. Retrieved from http://dl.acm.org/doi/10.5555/3055338.3055356
[110]
Sajid Sadi and Pattie Maes. 2007. subTextile: Reduced event-oriented programming system for sensate actuated materials. In Proceedings of the VL/HCC. IEEE, Piscataway, NJ, 171--174.
[111]
Lubomir Salanci. 2006. Object-oriented programming at upper secondary school for advanced students. In Informatics Education—The Bridge between Using and Understanding Computers, ISSEP 2006 (LNCS, vol. 4226), Roland T. Mittermeir (Ed.). Springer, Berlin, 179--188.
[112]
Christopher Scaffidi and Christopher Chambers. 2012. Skill progression demonstrated by users in the scratch animation environment. Int. J. Hum. Comput. Interact. 28, 6 (2012), 383--398.
[113]
Stephen Schaub. 2009. Teaching CS1 with web applications and test-driven development. ACM SIGCSE Bull. 41, 2 (June 2009), 113--117.
[114]
Barry Edward Schliesmann, Christopher William Weiland, and Timothy Wise. 2004. System and Method for Event Driven Programming. U.S. Patent Application 20040205698, Filed December 28, 2001.
[115]
Linda Seiter and Brendan Foreman. 2013. Modeling the learning progressions of computational thinking of primary grade students. In Proceedings of the 9th ICER. ACM, New York, NY, 59--66.
[116]
Steven D. Sheetz, Gretchen Irwin, David P. Tegarden, H. James Nelson, and David E. Monarchi. 1997. Exploring the difficulties of learning object-oriented techniques. J. Manag. Inf. Syst. 14, 2 (1997), 103--131.
[117]
Mark Sherman. 2014. User models of reasoning and understanding in app inventor. In Proceedings of the 10th ICER. ACM, New York, NY, 171--172.
[118]
Mark Sherman and Fred Martin. 2015. The assessment of mobile computational thinking. J. Comput. Sci. Coll. 30, 6 (June 2015), 53--59. Retrieved from http://dl.acm.org/doi/10.5555/2753024.2753037
[119]
Marian Sherwood. 1996. Access in seattle. 3C ON-LINE 3, 1 (Jan. 1996), 7--8.
[120]
Andrey Soares. 2014. Reflections on teaching app inventor for non-beginner programmers: Issues, challenges and opportunities. Inf. Syst. Educ. J. 12, 4 (July 2014), 56--65. Retrieved from http://isedj.org/2014-12/n4/ISEDJv12n4p56.html.
[121]
Andrey Soares and Nancy L. Martin. 2015. Teaching non-beginner programmers with app inventor: Survey results and implications. Inf. Syst. Educ. J. 13, 5 (Sept. 2015), 24--36. Retrieved from http://isedj.org/2015-13/n5/ISEDJv13n5p24.html.
[122]
Mary Stepp, Jessica Miller, and Victoria Kirst. 2009. A “CS 1.5” introduction to web programming. In Proceedings of the 40th SIGCSE. ACM, New York, NY, 121--125.
[123]
Sylvia Stuurman, Bernard E. van Gastel, and Harrie J. M. Passier. 2014. The design of mobile apps: What and how to teach? In Proceedings of the 4th CSERC. ACM, New York, NY, 93--100.
[124]
Kelvin Sung and Peter Shirley. 2004. A top-down approach to teaching introductory computer graphics. Comput. Graph. 28, 3 (June 2004), 383--391.
[125]
Kelvin Sung, Peter Shirley, and Becky Reed Rosenberg. 2007. Experiencing aspects of games programming in an introductory computer graphics class. In Proceedings of the 38th SIGCSE. ACM, New York, NY, 249--253.
[126]
Kim Sungkyung and Kim Sangchul. 2018. Middle-school programming classes utilizing game creation and the analysis of their educational outcomes. J. Korea Game Soc. 18, 3 (June 2018), 49--60.
[127]
Laszlo Szuecs. 1996. Creating windows applications using Borland’s OWL classes. In Proceedings of the 27th SIGCSE. ACM, New York, NY, 145--149.
[128]
Nour Tabet, Huda Gedawy, Hanan Alshikhabobakr, and Saquib Razak. 2016. From Alice to Python. Introducing text-based programming in middle schools. In Proceedings of the ITiCSE. ACM, New York, NY, 124--129.
[129]
Terry Tang, Scott Rixner, and Joe Warren. 2014. An environment for learning interactive programming. In Proceedings of the 45th SIGCSE. ACM, New York, NY, 671--676.
[130]
Sureyya Tarkan and Vibha Sazawal. 2009. Chief chefs of Z to Alloy: Using a kitchen example to teach alloy with Z. In Teaching Formal Methods, TFM 2009 (LNCS, vol. 5846), Jeremy Gibbons and José Nuno Oliveira (Eds.). Springer, Berlin, 72--91.
[131]
Guy Martin Tchamgoue, Ok-Kyoon Ha, Kyong-Hoon Kim, and Yong-Kee Jun. 2011. A taxonomy of concurrency bugs in event-driven programs. In Software Engineering, Business Continuity, and Education, ASEA 2011 (CCIS, vol. 257), Tai-hoon Kim, Hojjat Adeli, Haeng-kon Kim, Heau-jo Kang, Kyung Jung Kim, Akingbehin Kiumi, and Byeong-Ho Kang (Eds.). Springer, Berlin, 437--450.
[132]
Herbert Tesser, Hisham Al-Haddad, and Gary Anderson. 2000. Instrumentation: A multi-science integrated sequence. In Proceedings of the 31st SIGCSE. ACM, New York, NY, 232--236.
[133]
The Joint Task Force on Computing Curricula, ACM, and IEEE-CS. 2013. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. ACM, New York, NY. Retrieved from https://www.acm.org/education/curricula-recommendations.
[134]
The Joint Task Force on Computing Curricula, IEEE-CS, and ACM. 2001. Computing Curricula 2001 Computer Science: Final Report. ACM, New York, NY. Retrieved from https://www.acm.org/education/curricula-recommendations.
[135]
Franklyn Turbak, Mark Sherman, Fred Martin, David Wolber, and Shaileen Crawford Pokress. 2014. Events-first programming in APP inventor. J. Comput. Sci. Coll. 29, 6 (June 2014), 81--89. Retrieved from http://dl.acm.org/doi/10.5555/2602724.2602739.
[136]
Sharon M. Tuttle. 2001. !YO Quiero Java!: Teaching Java as a second programming language. J. Comput. Sci. Coll. 17, 2 (Dec. 2001), 34--45. Retrieved from http://dl.acm.org/doi/10.5555/775339.775348
[137]
Ian Utting. 2006. Problems in the initial teaching of programming using Java: The case for replacing J2SE with J2ME. In Proceedings of the 11th ITiCSE. ACM, New York, NY, 193--196.
[138]
Haodong Wang. 2014. Engendering excitement and interest in computer science courses by using emerging wireless sensors. J. Comput. Sci. Coll. 30, 1 (Oct. 2014), 61--69. Retrieved from http://dl.acm.org/doi/10.5555/2667369.2667380
[139]
Robert Ward and Martin Smith. 1998. JavaScript as a first programming language for multimedia students. In Proceedings of the ITiCSE. ACM, New York, NY, 249--253.
[140]
David Weintrop, Alexandria K. Hansen, Danielle B. Harlow, and Diana M. Franklin. 2018. Starting from scratch: Outcomes of early computer science learning experiences and implications for what comes next. In Proceedings of the ICER. ACM, New York, NY, 142--150.
[141]
Jim Whitehead. 2008. Introduction to game design in the large classroom. In Proceedings of the 3rd GDCSE. ACM, New York, NY, 61--65.
[142]
Richard Wicentowski and Tia Newhall. 2005. Using image processing projects to teach CS1 topics. In Proceedings of the 36th SIGCSE. ACM, New York, NY, 287--291.
[143]
Rosalee Wolfe. 1999. New possibilities in the introductory graphics course for computer science majors. ACM SIGGRAPH Comput. Graph. 33, 2 (May 1999), 35--39.
[144]
Ursula Wolz and Elliot Koffman. 1999. SimpleIO: A Java package for novice interactive and graphics programming. In Proceedings of the 4th ITiCSE. Association for Computing Machinery, New York, NY, 139--142.
[145]
Pat Woodworth and Wanda Dann. 1999. Integrating console and event-driven models in CS1. In Proceedings of the 30th SIGCSE. ACM, New York, NY, 132--135.
[146]
Benjamin Xiang-Yu Xie. 2016. Progression of Computational Thinking Skills Demonstrated by App Inventor Users. Master’s thesis. Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, MA. Retrieved from http://hdl.handle.net/1721.1/106395.
[147]
Ivan Zupic and Tomaž Čater. 2015. Bibliometric methods in management and organization. Organ. Res. Methods 18, 3 (July 2015), 429--472.

Cited By

View all
  • (2025)Engaging Students in Audiovisual Coding Through Interactive MATLAB GUIsIEEE Access10.1109/ACCESS.2024.352151113(8158-8168)Online publication date: 2025
  • (2023)Research trends in programming education: A systematic review of the articles published between 2012-2020Journal of Educational Technology and Online Learning10.31681/jetol.12010106:1(48-81)Online publication date: 31-Jan-2023
  • (2023)Metric Suite for Event-Driven Software Systems2023 International Conference on Advances in Computation, Communication and Information Technology (ICAICCIT)10.1109/ICAICCIT60255.2023.10466151(1140-1145)Online publication date: 23-Nov-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Computing Education
ACM Transactions on Computing Education  Volume 21, Issue 1
March 2021
211 pages
EISSN:1946-6226
DOI:10.1145/3446622
Issue’s Table of Contents
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: 16 March 2021
Accepted: 01 September 2020
Revised: 01 September 2020
Received: 01 April 2020
Published in TOCE Volume 21, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. CS0
  2. CS1
  3. CS1.5
  4. CS2
  5. CS3
  6. Event-oriented
  7. K–12
  8. computer science education
  9. event-based
  10. programming education

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)153
  • Downloads (Last 6 weeks)17
Reflects downloads up to 16 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Engaging Students in Audiovisual Coding Through Interactive MATLAB GUIsIEEE Access10.1109/ACCESS.2024.352151113(8158-8168)Online publication date: 2025
  • (2023)Research trends in programming education: A systematic review of the articles published between 2012-2020Journal of Educational Technology and Online Learning10.31681/jetol.12010106:1(48-81)Online publication date: 31-Jan-2023
  • (2023)Metric Suite for Event-Driven Software Systems2023 International Conference on Advances in Computation, Communication and Information Technology (ICAICCIT)10.1109/ICAICCIT60255.2023.10466151(1140-1145)Online publication date: 23-Nov-2023
  • (2023)A Novel Method for Establishing Virtual Laboratory for Scientific and Engineering Curriculums to be Applied in Developing Countries2023 2nd International Engineering Conference on Electrical, Energy, and Artificial Intelligence (EICEEAI)10.1109/EICEEAI60672.2023.10590602(1-7)Online publication date: 27-Dec-2023
  • (2023)Robotics in Primary Education: A Lexical Analysis of Teachers’ Resources Across RobotsTowards a Collaborative Society Through Creative Learning10.1007/978-3-031-43393-1_20(209-220)Online publication date: 28-Sep-2023
  • (2023)The Evolution of Computing Education Research: A Meta-Analytic PerspectivePast, Present and Future of Computing Education Research10.1007/978-3-031-25336-2_4(51-77)Online publication date: 5-Jan-2023
  • (2022)Review on Challenges and Solutions in Novice Programming Education2022 IEEE International Conference on Computing (ICOCO)10.1109/ICOCO56118.2022.10031657(55-61)Online publication date: 14-Nov-2022
  • (2022)Design of Intelligent Irrigation System Based on App Inventor and MCUAdvanced Manufacturing and Automation XI10.1007/978-981-19-0572-8_62(487-494)Online publication date: 8-Mar-2022
  • (2022)A Hybrid Approach for an Interpretable and Explainable Intrusion Detection SystemIntelligent Systems Design and Applications10.1007/978-3-030-96308-8_96(1035-1045)Online publication date: 27-Mar-2022
  • (2021)Teaching and Learning to Program: Umbrella Review of Introductory Programming in Higher EducationMathematics10.3390/math91517379:15(1737)Online publication date: 23-Jul-2021
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media