[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3293881.3295779acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article

Introductory programming: a systematic literature review

Published: 02 July 2018 Publication History

Abstract

As computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been several reviews that focus on specific aspects of introductory programming, there has been no broad overview of the literature exploring recent trends across the breadth of introductory programming.
This paper is the report of an ITiCSE working group that conducted a systematic review in order to gain an overview of the introductory programming literature. Partitioning the literature into papers addressing the student, teaching, the curriculum, and assessment, we explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research.

References

[1]
Kalle Aaltonen, Petri Ihantola, and Otto Seppälä. 2010. Mutation analysis vs. code coverage in automated assessment of students’ testing skills. In Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion (OOPSLA ’10). ACM, New York, NY, USA, 153–160. 1869542.1869567
[2]
Samy S. Abu Naser. 2009. Evaluating the effectiveness of the CPP-Tutor, an Intelligent Tutoring System for students learning to program in C++. Journal of Applied Sciences Research 5, 1 (2009), 109–114.
[3]
Michał Adamaszek, Piotr Chrzaçstowski-Wachtel, and Anna Niewiarowska. 2008. VIPER a student-friendly visual interpreter of Pascal. In Informatics Education — Supporting Computational Thinking, Roland T. Mittermeir and Maciej M. Sysło (Eds.). Springer, Berlin, Heidelberg, 192–203. 1007/978-3-540-69924-8_18
[4]
Abejide Ade-Ibijola, Sigrid Ewert, and Ian Sanders. 2014. Abstracting and narrating novice programs using regular expressions. In Proceedings of the Southern African Institute for Computer Scientist and Information Technologists Annual Conference 2014 on SAICSIT 2014 Empowered by Technology (SAICSIT ’14). ACM, New York, NY, USA, Article 19, 19:19–19:28 pages. 1145/2664591.2664601
[5]
Achla Agarwal, Krishna K. Agarwal, Leslie Fife, and M. Emre Celebi. 2016. Raptor and Visual Logic©: a comparison of flowcharting tools for CS0. J. Comput. Sci. Coll. 31, 4 (2016), 36–41. http://dl.acm.org/citation.cfm?id=2904127.2904132
[6]
Alireza Ahadi, Raymond Lister, Shahil Lal, Juho Leinonen, and Arto Hellas. 2017. Performance and consistency in learning to program. In Proceedings of the Nineteenth Australasian Computing Education Conference (ACE ’17). ACM, New York, NY, USA, 11–16.
[7]
Nova Ahmed, Arman Kamal, Adnan Nuruddin, and Syed Tanveer Jishan. 2016. My code in my native tone: Cha Script. In Proceedings of the Eighth International Conference on Information and Communication Technologies and Development (ICTD ’16). ACM, New York, NY, USA, Article 28, 28:1– 28:4 pages.
[8]
Tuukka Ahoniemi and Essi Lahtinen. 2007. Visualizations in preparing for programming exercise sessions. Electronic Notes in Theoretical Computer Science 178 (2007), 137–144.
[9]
T. C. Ahren. 2005. Using online annotation software to provide timely feedback in an introductory programming course. In IEEE Frontiers in Education Conference (FIE ’05). IEEE, T2H–1.
[10]
Nouf M. Al-Barakati and Arwa Y. Al-Aama. 2009. The effect of visualizing roles of variables on student performance in an introductory programming course. In Proceedings of the 14th Annual ACM SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE ’09). ACM, New York, NY, USA, 228–232.
[11]
Ahmad Al-Jarrah and Enrico Pontelli. 2014. “AliCe-ViLlagE” Alice as a Collaborative Virtual Learning Environment. In IEEE Frontiers in Education Conference (FIE ’14). IEEE, 1–9.
[12]
Ali Alammary, Angela Carbone, and Judy Sheard. 2012. Implementation of a smart lab for teachers of novice programmers. In Proceedings of the Fourteenth Australasian Computing Education Conference — Volume 123 (ACE ’12). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 121–130. http://dl.acm.org/citation.cfm?id=2483716.2483731
[13]
Ahmed S. Alardawi and Agil M. Agil. 2015. Novice comprehension of object-oriented OO programs: an empirical study. In 2015 World Congress Introductory Programming: A Systematic Literature Review ITiCSE ’18 Companion, July 2–4, 2018, Larnaca, Cyprus on Information Technology and Computer Applications (WCITCA). IEEE, 1– 4.
[14]
Veljko Aleksić and Mirjana Ivanović. 2016. Introductory programming subject in European higher education. Informatics in Education 15, 2 (2016), 163–182.
[15]
José Luis Fernández Alemán, Dominic Palmer-Brown, and Chrisina Draganova. 2010. Evaluating student response driven feedback in a programming course. In 2010 10th IEEE International Conference on Advanced Learning Technologies. IEEE, 279–283.
[16]
Laura K. Alford, Mary Lou Dorf, and Valeria Bertacco. 2017. Student perceptions of their abilities and learning environment in large introductory computer programming courses. In ASEE Annual Conference and Exposition, Conference Proceedings, Vol. 2017-June. ASEE.
[17]
Carl Alphonce and Blake Martin. 2005. Green: a pedagogically customizable round-tripping UML class diagram Eclipse plug-in. In Proceedings of the 2005 OOPSLA Workshop on Eclipse Technology eXchange (eclipse ’05). ACM, New York, NY, USA, 115–119.
[18]
Carl Alphonce and Phil Ventura. 2003. Using graphics to support the teaching of fundamental object-oriented principles in CS1. In Companion of the 18th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications (OOPSLA ’03). ACM, New York, NY, USA, 156–161.
[19]
Fatima AlShamsi and Ashraf Elnagar. 2009. JLearn-DG: Java learning system using dependence graphs. In Proceedings of the 11th International Conference on Information Integration and Web-based Applications &Amp; Services (iiWAS ’09). ACM, New York, NY, USA, 633–637. 1145/1806338.1806458
[20]
Maria Altebarmakian, Richard Alterman, Anna Yatskar, Kendall Harsch, and Antonella DiLillo. 2016. The microgenetic analysis of staged peer collaboration for introductory programming. In IEEE Frontiers in Education Conference (FIE ’16). IEEE, 1–8.
[21]
Raad A. Alturki. 2016. Measuring and improving student performance in an introductory programming course. Informatics in Education 15, 2 (2016), 183– 204.
[22]
Omar AlZoubi, Davide Fossati, Barbara Di Eugenio, Nick Green, Mehrdad Alizadeh, and Rachel Harsley. 2015. A hybrid model for teaching recursion. In Proceedings of the 16th Annual Conference on Information Technology Education (SIGITE ’15). ACM, New York, NY, USA, 65–70. 1145/2808006.2808030
[23]
Milan Amaratunga, Gayan Wickramasinghe, Milinda Deepal, Oshani Perera, Dilshan De Silva, and Samantha Rajapakse. 2013. An interactive programming assistance tool (iPAT) for instructors and novice programmers. In 2013 8th International Conference on Computer Science & Education. IEEE, 680–684.
[24]
Ana Paula L. Ambrósio and Fábio M. Costa. 2010. Evaluating the impact of PBL and tablet PCs in an algorithms and computer programming course. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education (SIGCSE ’10). ACM, New York, NY, USA, 495–499.
[25]
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 (abridged ed.). Longman, White Plains, NY.
[26]
Ruth E. Anderson, Michael D. Ernst, Robert Ordóñez, Paul Pham, and Ben Tribelhorn. 2015. A data programming CS1 course. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (SIGCSE ’15). ACM, New York, NY, USA, 150–155.
[27]
Subashini Annamalai and Sobihatun Nur Abdul Salam. 2017. A multimedia approach towards learning C programming: a discussion from novice learners’ perspective. Journal of Telecommunication, Electronic and Computer Engineering 9, 2-12 (2017), 99–103.
[28]
D. F. Ninan S. A. Akinboro H. Abimbola Soriyan Anuoluwapo Ajayi, Emmanuel A. Olajubu. 2010. Development and testing of a graphical FORTRAN learning tool for novice programmers. Interdisciplinary Journal of Information, Knowledge, and Management 5 (2010), 277–291.
[29]
Masayuki Arai and Tomomi Yamazaki. 2006. Design of a learning support system to aid novice programmers in obtaining the capability of tracing. In Proceedings of the Sixth International Conference on Advanced Learning Technologies (ICALT ’06). IEEE, 396–397.
[30]
Eliane Araujo, Matheus Gaudencio, Dalton Serey, and Jorge Figueiredo. 2016. Applying spectrum-based fault localization on novice’s programs. In IEEE Frontiers in Education Conference (FIE ’16). IEEE, 1–8.
[31]
[32]
Glen Archer, Briana Bettin, Leonard Bohmann, Allison Carter, Christopher Cischke, Linda M Ott, and Leo Ureel. 2017. The impact of placement strategies on the success of students in introductory computer science. In IEEE Frontiers in Education Conference (FIE ’17). IEEE, 1–9.
[33]
[34]
Hazleen Aris. 2015. Improving students performance in introductory programming subject: a case study. In 10th International Conference on Computer Science & Education (ICCSE ’15). IEEE, 657–662. 2015.7250328
[35]
Muhammad Ateeq, Hina Habib, Adnan Umer, and Muzammil Ul Rehman. 2014. C++ or Python? Which one to begin with: a learner’s perspective. In International Conference on Teaching and Learning in Computing and Engineering (LaTiCE ’14). IEEE, 64–69.
[36]
Nikolaos Avouris, Stefanos Kaxiras, Odysseas Koufopavlou, Kyriakos Sgarbas, and Polyxeni Stathopoulou. 2010. Teaching introduction to computing through a project-based collaborative learning approach. In 2010 14th Panhellenic Conference on Informatics. IEEE, 237–241.
[37]
John Aycock, Etienne Pitout, and Sarah Storteboom. 2015. A game engine in pure Python for CS1: design, experience, and limits. In Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’15). ACM, New York, NY, USA, 93–98. 1145/2729094.2742590
[38]
Mewati Ayub, Hapnes Toba, Steven Yong, and Maresha C. Wijanto. 2017. Modelling students’ activities in programming subjects through educational data mining. Global Journal of Engineering Education 19, 3 (2017), 249–255.
[39]
David Azcona and Alan F. Smeaton. 2017. Targeting at-risk students using engagement and effort predictors in an introductory computer programming course. In Data Driven Approaches in Digital Education. Springer International Publishing, 361–366.
[40]
Shahdatunnaim Azmi, Noorminshah A Iahad, and Norasnita Ahmad. 2016. Attracting students’ engagement in programming courses with gamification. In IEEE Conference on e-Learning, e-Management and e-Services (IC3e ’16). 112–115.
[41]
Monica Babes-Vroman, Isabel Juniewicz, Bruno Lucarelli, Nicole Fox, Thu Nguyen, Andrew Tjang, Georgiana Haldeman, Ashni Mehta, and Risham Chokshi. 2017. Exploring gender diversity in CS at a large public R1 research university. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’17). ACM, New York, NY, USA, 51–56.
[42]
Suzan Badri, James Denholm-Price, and James Orwell. 2011. Layout for learning: designing an interface for students learning to program. In Proceedings of the 3rd International Conference on Computer Supported Education (CSEDU ’11), Vol. 1. INSTICC, SciTePress, 324–332.
[43]
Yu Bai, Liqian Chen, Gang Yin, Xinjun Mao, Ye Deng, Tao Wang, Yao Lu, and Huaimin Wang. 2017. Quantitative analysis of learning data in a programming course. In Database Systems for Advanced Applications. Springer International Publishing, 436–441.
[44]
Bridget Baird and Christine Chung. 2010. Expanding CS1: applications across the liberal arts. J. Comput. Sci. Coll. 25, 6 (2010), 47–54. http://dl.acm.org/ citation.cfm?id=1791129.1791139
[45]
Olle Bälter and Duane A. Bailey. 2010. Enjoying Python, processing, and Java in CS1. ACM Inroads 1, 4 (2010), 28–32.
[46]
Albert Bandura. 1962. Social learning through imitation. In Nebraska Symposium on Motivation. Univer. Nebraska Press, Oxford, England, 211–274.
[47]
Mousumi Banerjee, Michelle Capozzoli, Laura McSweeney, and Debajyoti Sinha. 1999. Beyond kappa: a review of interrater agreement measures. The Canadian Journal of Statistics / La Revue Canadienne de Statistique 27, 1 (1999), 3–23. http://www.jstor.org/stable/3315487
[48]
Lecia J. Barker, Charlie McDowell, and Kimberly Kalahar. 2009. Exploring factors that influence computer science introductory course students to persist in the major. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (SIGCSE ’09). ACM, New York, NY, USA, 153–157.
[49]
Ian Barland. 2008. Some methods for teaching functions first using Java. In Proceedings of the 46th Annual Southeast Regional Conference on XX (ACM-SE 46). ACM, New York, NY, USA, 256–259. 1593105.1593172
[50]
Glenda Barlow-Jones and Duan van der Westhuizen. 2017. Problem solving as a predictor of programming performance. In Communications in Computer and Information Science. Springer International Publishing, 209–216.
[51]
Tiffany Barnes, Eve Powell, Amanda Chaffin, and Heather Lipford. 2008. Game2Learn: improving the motivation of CS1 students. In Proceedings of the 3rd International Conference on Game Development in Computer Science Education (GDCSE ’08). ACM, New York, NY, USA, 1–5. 1463673.1463674
[52]
Valerie Barr and Deborah Trytten. 2016. Using turing’s craft codelab to support CS1 students as they learn to program. ACM Inroads 7, 2 (2016), 67–75.
[53]
Jordan Barria-Pineda, Julio Guerra, Yun Huang, and Peter Brusilovsky. 2017. Concept-level knowledge visualization for supporting self-regulated learning. In Proceedings of the 22nd International Conference on Intelligent User Interfaces ITiCSE ’18 Companion, July 2–4, 2018, Larnaca, Cyprus Luxton-Reilly et al. Companion (IUI ’17 Companion). ACM, New York, NY, USA, 141–144.
[54]
João Paulo Barros, Luís Estevens, Rui Dias, Rui Pais, and Elisabete Soeiro. 2003. Using lab exams to ensure programming practice in an introductory programming course. In Proceedings of the 8th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE ’03). ACM, New York, NY, USA, 16–20.
[55]
Jessica D. Bayliss and Sean Strout. 2006. Games as a “flavor” of CS1. In Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’06). ACM, New York, NY, USA, 500–504.
[56]
Jennifer Bayzick, Bradley Askins, Sharon Kalafut, and Michael Spear. 2013. Reading mobile games throughout the curriculum. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE ’13). ACM, New York, NY, USA, 209–214.
[57]
Leland L. Beck, Alexander W. Chizhik, and Amy C. McElroy. 2005. Cooperative learning techniques in CS1: design and experimental evaluation. In Proceedings of the 36th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’05). ACM, New York, NY, USA, 470–474.
[58]
Brett A. Becker. 2016. An effective approach to enhancing compiler error messages. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (SIGCSE ’16). ACM, New York, NY, USA, 126–131.
[59]
Brett A. Becker. 2016. A new metric to quantify repeated compiler errors for novice programmers. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’16). ACM, New York, NY, USA, 296–301.
[60]
Brett A. Becker, Graham Glanville, Ricardo Iwashima, Claire McDonnell, Kyle Goslin, and Catherine Mooney. 2016. Effective compiler error message enhancement for novice programming students. Computer Science Education 26, 2-3 (2016), 148–175.
[61]
Mordechai Ben-Ari. 2001. Constructivism in computer science education. Journal of Computers in Mathematics and Science Teaching 20, 1 (2001), 45– 73.
[62]
Mordechai Ben-Ari, Roman Bednarik, Ronit Ben-Bassat Levy, Gil Ebel, Andrés Moreno, Niko Myller, and Erkki Sutinen. 2011. A decade of research and development on program animation: the Jeliot experience. Journal of Visual Languages & Computing 22 (2011), 375–384. 04.004
[63]
Jens Bennedsen and Michael E. Caspersen. 2004. Programming in context: a model-first approach to CS1. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’04). ACM, New York, NY, USA, 477–481.
[64]
Jens Bennedsen and Michael E. Caspersen. 2005. Revealing the programming process. In Proceedings of the 36th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’05). ACM, New York, NY, USA, 186–190.
[65]
Jens Bennedsen and Michael E. Caspersen. 2006. Abstraction ability as an indicator of success for learning object-oriented programming? SIGCSE Bull. 38, 2 (2006), 39–43.
[66]
Jens Bennedsen and Michael E. Caspersen. 2007. Failure rates in introductory programming. SIGCSE Bull. 39, 2 (2007), 32–36.
[67]
[68]
Jens Bennedsen and Carsten Schulte. 2007. What does “objects-first” mean?: An international study of teachers’ perceptions of objects-first. In Proceedings of the Seventh Baltic Sea Conference on Computing Education Research - Volume 88 (Koli Calling ’07). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 21–29. http://dl.acm.org/citation.cfm?id=2449323.2449327
[69]
Jens Bennedsen and Carsten Schulte. 2010. BlueJ visual debugger for learning the execution of object-oriented programs? Trans. Comput. Educ. 10, 2, Article 8 (2010), 8:1–8:22 pages.
[70]
Chris Bennett. 2009. Student-authored wiki textbook in CS1. J. Comput. Sci. Coll. 24, 6 (2009), 50–56. http://dl.acm.org/citation.cfm?id=1529995.1530006
[71]
Marc Berges and Peter Hubwieser. 2013. Concept specification maps: displaying content structures. In Proceedings of the 18th ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’13). ACM, New York, NY, USA, 291–296.
[72]
Marc Berges, Michael Striewe, Philipp Shah, Michael Goedicke, and Peter Hubwieser. 2016. Towards deriving programming competencies from student errors. In International Conference on Learning and Teaching in Computing and Engineering (LaTiCE ’16). IEEE, 19–23.
[73]
Anders Berglund and Raymond Lister. 2010. Introductory Programming and the Didactic Triangle. In Proceedings of the Twelfth Australasian Conference on Computing Education — Volume 103 (ACE ’10). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 35–44.
[74]
Matthew Berland, Taylor Martin, Tom Benton, Carmen Petrick Smith, and Don Davis. 2013. Using learning analytics to understand the learning pathways of novice programmers. Journal of the Learning Sciences 22, 4 (2013), 564–599.
[75]
Matthew Berland, Carmen Petrick Smith, and Don Davis. 2013. Visualizing live collaboration in the classroom with AMOEBA. In Computer-Supported Collaborative Learning Conference, CSCL, Vol. 2. International Society of the Learning Sciences, 2–5.
[76]
Michael Berry and Michael Kölling. 2016. Novis: a notional machine implementation for teaching introductory programming. In International Conference on Learning and Teaching in Computing and Engineering (LaTiCE ’16). IEEE, 54–59.
[77]
Mária Bieliková. 2006. An adaptive web-based system for learning programming. International Journal of Continuing Engineering Education and Life-Long Learning 16, 1-2 (2006), 122–136.
[78]
John Biggs. 1996. Enhancing teaching through constructive alignment. Higher education 32, 3 (1996), 347–364.
[79]
John B. Biggs and Kevin F. Collis. 1982. Evaluating the quality of learning: the SOLO taxonomy (structure of the observed learning outcome). Academic Press.
[80]
Don Blaheta. 2009. Democracy in the classroom: an exercise for the first days of CS1. In Proceedings of the 14th Annual ACM SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE ’09). ACM, New York, NY, USA, 36–39.
[81]
Ben Blake. 2010. BLAKE a language designed for programming I. Education and Information Technologies 15, 4 (2010), 277–291. s10639-010-9139-3
[82]
Douglas Blank, Jennifer S. Kay, James B. Marshall, Keith O’Hara, and Mark Russo. 2012. Calico: a multi-programming-language, multi-context framework designed for computer science education. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (SIGCSE ’12). ACM, New York, NY, USA, 63–68.
[83]
Imma Boada, Josep Soler, Ferran Prados, and Jordi Poch. 2004. A teaching/learning support tool for introductory programming courses. In Information Technology Based Proceedings of the Fifth International Conference on Higher Education and Training (ITHET ’04). IEEE, 604–609. ITHET.2004.1358243
[84]
Michael G. Boland and Curtis Clifton. 2009. Introducing PyLighter: dynamic code highlighter. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (SIGCSE ’09). ACM, New York, NY, USA, 489–493.
[85]
Jürgen Börstler, Marie Nordström, Lena Kallin Westin, Jan-Erik Moström, and Johan Eliasson. 2008. Transitioning to OOP/Java — a never ending story. In Reflections on the Teaching of Programming: Methods and Implementations, Jens Bennedsen, Michael E. Caspersen, and Michael Kölling (Eds.). Springer, Berlin, Heidelberg, 80–97.
[86]
Jürgen Börstler, Marie Nordström, and James H. Paterson. 2011. On the quality of examples in introductory Java textbooks. Trans. Comput. Educ. 11, 1, Article 3 (2011), 21 pages.
[87]
Nigel Bosch, Yuxuan Chen, and Sidney D’Mello. 2014. It’s written on your face: detecting affective states from facial expressions while learning computer programming. In Intelligent Tutoring Systems. Springer International Publishing, 39–44.
[88]
Matt Bower. 2007. Groupwork activities in synchronous online classroom spaces. In Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’07). ACM, New York, NY, USA, 91–95. 1145/1227310.1227345
[89]
Kristy Elizabeth Boyer, August A. Dwight, R. Taylor Fondren, Mladen A. Vouk, and James C. Lester. 2008. A development environment for distributed synchronous collaborative programming. SIGCSE Bull. 40, 3 (2008), 158–162.
[90]
Kristy Elizabeth Boyer, Rachael S. Dwight, Carolyn S. Miller, C. Dianne Raubenheimer, Matthias F. Stallmann, and Mladen A. Vouk. 2007. A case for smaller class size with integrated lab for introductory computer science. In Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’07). ACM, New York, NY, USA, 341–345. 1227310.1227430
[91]
Steven Bradley. 2016. Managing plagiarism in programming assignments with blended assessment and randomisation. In Proceedings of the 16th Koli Calling International Conference on Computing Education Research (Koli Calling ’16). ACM, New York, NY, USA, 21–30.
[92]
Grant Braught, L. Martin Eby, and Tim Wahls. 2008. The effects of pairprogramming on individual programming skill. In Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’08). ACM, New York, NY, USA, 200–204.
[93]
Grant Braught, John MacCormick, and Tim Wahls. 2010. The benefits of pairing by ability. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education (SIGCSE ’10). ACM, New York, NY, USA, 249–253. Introductory Programming: A Systematic Literature Review ITiCSE ’18 Companion, July 2–4, 2018, Larnaca, Cyprus
[94]
Tom Briggs and C. Dudley Girard. 2007. Tools and techniques for test-driven learning in CS1. J. Comput. Sci. Coll. 22, 3 (2007), 37–43. http://dl.acm.org/ citation.cfm?id=1181849.1181854
[95]
Neil C.C. Brown and Amjad Altadmri. 2014. Investigating novice programming mistakes: educator beliefs vs. student data. In Proceedings of the Tenth Annual Conference on International Computing Education Research (ICER ’14). ACM, New York, NY, USA, 43–50.
[96]
Neil Christopher Charles Brown, Michael Kölling, Davin McCall, and Ian Utting. 2014. Blackbox: a large scale repository of novice programmers’ activity. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE ’14). ACM, New York, NY, USA, 223–228.
[97]
Kim B. Bruce. 2005. Controversy on how to teach CS 1: a discussion on the SIGCSE-members mailing list. SIGCSE Bull. 37, 2 (2005), 111–117. org/10.1145/1083431.1083477
[98]
Kim B. Bruce, Andrea Danyluk, and Thomas Murtagh. 2005. Why structural recursion should be taught before arrays in CS 1. In Proceedings of the 36th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’05). ACM, New York, NY, USA, 246–250.
[99]
Kim B. Bruce, Andrea Danyluk, and Thomas Murtagh. 2010. Introducing concurrency in CS 1. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education (SIGCSE ’10). ACM, New York, NY, USA, 224–228.
[100]
Michael P Bruce-Lockhart and Theodore S Norvell. 2007. Developing mental models of computer programming interactively via the web. In IEEE Frontiers in Education Conference (FIE ’07). IEEE, S3H–3–S3H–8. FIE.2007.4418051
[101]
Peter Brusilovsky, Olena Shcherbinina, and Sergey Sosnovsky. 2004. Minilanguages for non-computer science majors: what are the benefits? Interactive Technology and Smart Education 1, 1 (2004), 21–28. 17415650480000009
[102]
Engin Bumbacher, Alfredo Sandes, Amit Deutsch, and Paulo Blikstein. 2013. Student coding styles as predictors of help-seeking behavior. In Lecture Notes in Computer Science. Springer, Berlin, Heidelberg, 856–859. 1007/978-3-642-39112-5_130
[103]
Carl Burch. 2009. Jigsaw, a programming environment for Java in CS1. J. Comput. Sci. Coll. 24, 5 (2009), 37–43. http://dl.acm.org/citation.cfm?id=1516595.1516604
[104]
Ignacio Cabrera, Jorge Villalon, and Jorge Chavez. 2017. Blending communities and team-based learning in a programming course. IEEE Transactions on Education 60 (2017), 288–295. Issue 4.
[105]
Andrew Cain. 2013. Developing assessment criteria for portfolio assessed introductory programming. In Proceedings of IEEE International Conference on Teaching, Assessment and Learning for Engineering (TALE ’13). IEEE, 55– 60.
[106]
Andrew Cain. 2014. Factors influencing student learning in portfolio assessed introductory programming. In IEEE International Conference on Teaching, Assessment and Learning for Engineering (TALE ’14). IEEE, 55–62.
[107]
Andrew Cain and Clinton J Woodward. 2012. Toward constructive alignment with portfolio assessment for introductory programming. In Proceedings of IEEE International Conference on Teaching, Assessment, and Learning for Engineering (TALE ’12). IEEE, H1B–11–H1B–17. 2012.6360322
[108]
Andrew Cain, Clinton J Woodward, and Shannon Pace. 2013. Examining student progress in portfolio assessed introductory programming. In Proceedings of 2013 IEEE International Conference on Teaching, Assessment and Learning for Engineering (TALE). IEEE, 67–72.
[109]
Ünal Çakıroğlu. 2014. Analyzing the effect of learning styles and study habits of distance learners on learning performances: a case of an introductory programming course. International Review of Research in Open and Distance Learning 15, 4 (2014), 161–185.
[110]
Jennifer Campbell, Diane Horton, and Michelle Craig. 2016. Factors for success in online CS1. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’16). ACM, New York, NY, USA, 320–325.
[111]
Jennifer Campbell, Diane Horton, Michelle Craig, and Paul Gries. 2014. Evaluating an inverted CS1. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE ’14). ACM, New York, NY, USA, 307–312.
[112]
Yingjun Cao, Leo Porter, and Daniel Zingaro. 2016. Examining the value of analogies in introductory computing. In Proceedings of the 2016 ACM Conference on International Computing Education Research (ICER ’16). ACM, New York, NY, USA, 231–239.
[113]
Antonella Carbonaro and Mirko Ravaioli. 2017. Peer assessment to promote deep learning and to reduce a gender gap in the traditional introductory programming course. Journal of E-Learning and Knowledge Society 13, 3 (2017), 121–129.
[114]
Angela Carbone, John Hurst, Ian Mitchell, and Dick Gunstone. 2009. An exploration of internal factors influencing student learning of programming. In Proceedings of the Eleventh Australasian Conference on Computing Education — Volume 95 (ACE ’09). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 25–34. http://dl.acm.org/citation.cfm?id=1862712.1862721
[115]
Rachel Cardell-Oliver. 2011. How can software metrics help novice programmers?. In Proceedings of the Thirteenth Australasian Computing Education Conference — Volume 114 (ACE ’11). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 55–62. http://dl.acm.org/citation.cfm?id=2459936.
[116]
[117]
Martin C. Carlisle. 2010. Using You Tube to enhance student class preparation in an introductory Java course. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education (SIGCSE ’10). ACM, New York, NY, USA, 470–474.
[118]
Jeffrey Carver and Lisa Hende. 2006. Viope as a tool for teaching introductory programming: an empirical investigation. In 19th Conference on Software Engineering Education & Training (CSEET’06). IEEE, 9–16. 1109/CSEET.2006.38
[119]
Jeffrey C Carver, Lisa Henderson, Lulu He, Julia Hodges, and Donna Reese. 2007. Increased retention of early computer science and software engineering students using pair programming. In 20th Conference on Software Engineering Education & Training (CSEET’07). IEEE, 115–122. CSEET.2007.29
[120]
Michael E. Caspersen and Henrik Bærbak Christensen. 2008. CS1: getting started. In Reflections on the Teaching of Programming: Methods and Implementations, Jens Bennedsen, Michael E. Caspersen, and Michael Kölling (Eds.). Springer, Berlin, Heidelberg, 130–141.
[121]
Francisco Enrique Vicente Castro and Kathi Fisler. 2016. On the interplay between bottom-up and datatype-driven program design. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (SIGCSE ’16). ACM, New York, NY, USA, 205–210. 2839509.2844574
[122]
Francisco Enrique Vicente Castro and Kathi Fisler. 2017. Designing a multifaceted SOLO taxonomy to track program design skills through an entire course. In Proceedings of the 17th Koli Calling International Conference on Computing Education Research (Koli Calling ’17). ACM, New York, NY, USA, 10–19.
[123]
A. T. Chamillard. 2011. Using a student response system in CS1 and CS2. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (SIGCSE ’11). ACM, New York, NY, USA, 299–304.
[124]
Bruce Char. 2016. Automatic feedback systems for code: what can they tell the busy instructor? J. Comput. Sci. Coll. 31, 4 (2016), 87–93. http://dl.acm.org/ citation.cfm?id=2904127.2904143
[125]
Spyropoulos Charalampos, Vassilios Dagdilelis, and Georgios Evangelidis. 2005. Teaching object-oriented thinking to novice programmers using the AgentSheets environment. In IADIS International Conference on Cognition and Exploratory Learning in Digital Age (CELDA ’05). IADIS, 343–348.
[126]
Therese Charles, David Bustard, and Michaela Black. 2011. Experiences of promoting student engagement through game-enhanced learning. In Serious Games and Edutainment Applications. Springer London, 425–445. org/10.1007/978-1-4471-2161-9_21
[127]
Tzu-Yi Chen, Gary Lewandowski, Robert McCartney, Kate Sanders, and Beth Simon. 2007. Commonsense computing: using student sorting abilities to improve instruction. In Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’07). ACM, New York, NY, USA, 276–280.
[128]
Tzu-Yi Chen, Alvaro Monge, and Beth Simon. 2006. Relationship of early programming language to novice generated design. SIGCSE Bull. 38, 1 (2006), 495–499.
[129]
Donald Chinn, Judy Sheard, Angela Carbone, and Mikko-Jussi Laakso. 2010. Study habits of CS1 students: what do they do outside the classroom?. In Proceedings of the Twelfth Australasian Conference on Computing Education — Volume 103 (ACE ’10). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 53–62. http://dl.acm.org/citation.cfm?id=1862219.1862229
[130]
Chih-Yueh Chou and Peng-Fei Sun. 2013. An educational tool for visualizing students’ program tracing processes. Computer Applications in Engineering Education 21, 3 (2013), 432–438.
[131]
Yu-kai Chou. 2015. Actionable gamification: beyond points, badges, and leaderboards. Octalysis Group.
[132]
Rohan Roy Choudhury, Hezheng Yin, and Armando Fox. 2016. Scale-driven automatic hint generation for coding style. In Intelligent Tutoring Systems. Springer, Cham, 122–132.
[133]
Vincent A. Cicirello. 2009. On the role and effectiveness of pop quizzes in CS1. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (SIGCSE ’09). ACM, New York, NY, USA, 286–290.
[134]
Daniel C Cliburn. 2006. The effectiveness of games as assignments in an introductory programming course. In IEEE Frontiers in Education Conference ITiCSE ’18 Companion, July 2–4, 2018, Larnaca, Cyprus Luxton-Reilly et al. (FIE ’06). IEEE, 6–10.
[135]
Daniel C Cliburn. 2008. Student opinions of Alice in CS1. In IEEE Frontiers in Education Conference (FIE ’08). IEEE, T3B–1–T3B–6. FIE.2008.4720254
[136]
Daniel C Cliburn, Susan M Miller, and Emma Bowring. 2010. Student preferences between open-ended and structured game assignments in CS1. In IEEE Frontiers in Education Conference (FIE ’10). IEEE, F2H–1–F2H–5.
[137]
Stephen Cooper, Wanda Dann, and Randy Pausch. 2003. Teaching objects-first in introductory computer science. In Proceedings of the 34th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’03). ACM, New York, NY, USA, 191–195.
[138]
Malcolm Corney, Donna Teague, and Richard N. Thomas. 2010. Engaging students in programming. In Proceedings of the Twelfth Australasian Conference on Computing Education — Volume 103 (ACE ’10). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 63–72. http://dl.acm.org/citation. cfm?id=1862219.1862230
[139]
Evandro B. Costa, Baldoino Fonseca, Marcelo Almeida Santana, Fabrísia Ferreira de Araújo, and Joilson Rego. 2017. Evaluating the effectiveness of educational data mining techniques for early prediction of students’ academic failure in introductory programming courses. Computers in Human Behavior 73 (2017), 247–256.
[140]
Natalie J Coull and Ishbel MM Duncan. 2011. Emergent requirements for supporting introductory programming. Innovations in Teaching and Learning in Information and Computer Sciences 10, 1 (2011), 78–85. 11120/ital.2011.10010078
[141]
Michelle Craig and Andrew Petersen. 2016. Student difficulties with pointer concepts in C. In Proceedings of the Australasian Computer Science Week Multiconference (ACSW ’16). ACM, New York, NY, USA, Article 8, 8:1– 8:10 pages.
[142]
Michelle Craig, Jacqueline Smith, and Andrew Petersen. 2017. Familiar contexts and the difficulty of programming problems. In Proceedings of the 17th Koli Calling International Conference on Computing Education Research (Koli Calling ’17). ACM, New York, NY, USA, 123–127. 3141880.3141898
[143]
Stewart Crawford and Elizabeth Boese. 2006. ActionScript: a gentle introduction to programming. J. Comput. Sci. Coll. 21, 3 (2006), 156–168. http://dl.acm.org/ citation.cfm?id=1089182.1089203
[144]
James Cross, Dean Hendrix, Larry Barowski, and David Umphress. 2014. Dynamic program visualizations: an experience report. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE ’14). ACM, New York, NY, USA, 609–614.
[145]
Gilbert Cruz, Jacob Jones, Meagan Morrow, Andres Gonzalez, and Bruce Gooch. 2017. An AI system for coaching novice programmers. In Learning and Collaboration Technologies. Technology in Education. Springer International Publishing, 12–21.
[146]
Kathryn Cunningham, Sarah Blanchard, Barbara Ericson, and Mark Guzdial. 2017. Using tracing and sketching to solve programming problems: replicating and extending an analysis of what students draw. In Proceedings of the 2017 ACM Conference on International Computing Education Research (ICER ’17). ACM, New York, NY, USA, 164–172.
[147]
Quintin Cutts, Emily Cutts, Stephen Draper, Patrick O’Donnell, and Peter Saffrey. 2010. Manipulating mindset to positively influence introductory programming performance. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education (SIGCSE ’10). ACM, New York, NY, USA, 431–435.
[148]
Quintin I. Cutts and Gregor E. Kennedy. 2005. Connecting learning environments using electronic voting systems. In Proceedings of the 7th Australasian Conference on Computing Education — Volume 42 (ACE ’05). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 181–186. http://dl.acm. org/citation.cfm?id=1082424.1082447
[149]
Marin Aglić Čuvić, Josip Maras, and Saša Mladenović. 2017. Extending the object-oriented notional machine notation with inheritance, polymorphism, and GUI events. In 40th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO ’17). IEEE, 794–799.
[150]
Charlie Daly and Jane Horgan. 2005. Patterns of plagiarism. In Proceedings of the 36th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’05). ACM, New York, NY, USA, 383–387. 1047344.1047473
[151]
Sayamindu Dasgupta and Benjamin Mako Hill. 2017. Learning to code in localized programming languages. In Proceedings of the Fourth ACM Conference on Learning @ Scale (L@S ’17). ACM, New York, NY, USA, 33–39.
[152]
Mark Davies and Joseph L. Fleiss. 1982. Measuring agreement for multinomial data. Biometrics 38, 4 (1982), 1047–1051. http://www.jstor.org/stable/2529886
[153]
Suzanne L. Dazo, Nicholas R. Stepanek, Robert Fulkerson, and Brian Dorn. 2016. An empirical analysis of video viewing behaviors in flipped CS1 courses. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’16). ACM, New York, NY, USA, 106–111.
[154]
Michael de Raadt. 2012. Student created cheat-sheets in examinations: impact on student outcomes. In Proceedings of the Fourteenth Australasian Computing Education Conference — Volume 123 (ACE ’12). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 71–76. http://dl.acm.org/citation.cfm? id=2483716.2483725
[155]
Michael de Raadt, David Lai, and Richard Watson. 2007. An evaluation of electronic individual peer assessment in an introductory programming course. In Proceedings of the Seventh Baltic Sea Conference on Computing Education Research — Volume 88 (Koli Calling ’07). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 53–64. http://dl.acm.org/citation.cfm?id= 2449323.2449330
[156]
Michael de Raadt, Richard Watson, and Mark Toleman. 2003. Language tugof-war: industry demand and academic choice. In Proceedings of the Fifth Australasian Conference on Computing Education — Volume 20 (ACE ’03). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 137–142. http://dl.acm.org/citation.cfm?id=858403.858420
[157]
Michael de Raadt, Richard Watson, and Mark Toleman. 2004. Introductory programming: what’s happening today and will there be any students to teach tomorrow?. In Proceedings of the Sixth Australasian Conference on Computing Education — Volume 30 (ACE ’04). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 277–282. http://dl.acm.org/citation.cfm?id= 979968.980005
[158]
Michael de Raadt, Richard Watson, and Mark Toleman. 2009. Teaching and assessing programming strategies explicitly. In Proceedings of the Eleventh Australasian Conference on Computing Education — Volume 95 (ACE ’09). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 45–54. http://dl.acm.org/citation.cfm?id=1862712.1862723
[159]
Adrienne Decker and Elizabeth Lane Lawley. 2013. Life’s a game and the game of life: how making a game out of it can change student behavior. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE ’13). ACM, New York, NY, USA, 233–238.
[160]
Adrienne Decker, Phil Ventura, and Christopher Egert. 2006. Through the looking glass: reflections on using undergraduate teaching assistants in CS1. In Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’06). ACM, New York, NY, USA, 46–50. 1145/1121341.1121358
[161]
Paul Denny, Diana Cukierman, and Jonathan Bhaskar. 2015. Measuring the effect of inventing practice exercises on learning in an introductory programming course. In Proceedings of the 15th Koli Calling Conference on Computing Education Research (Koli Calling ’15). ACM, New York, NY, USA, 13–22.
[162]
Paul Denny, Andrew Luxton-Reilly, and Dave Carpenter. 2014. Enhancing syntax error messages appears ineffectual. In Proceedings of the 2014 Conference on Innovation & Technology in Computer Science Education (ITiCSE ’14). ACM, New York, NY, USA, 273–278.
[163]
Paul Denny, Andrew Luxton-Reilly, John Hamer, Dana B. Dahlstrom, and Helen C. Purchase. 2010. Self-predicted and actual performance in an introductory programming course. In Proceedings of the Fifteenth Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE ’10). ACM, New York, NY, USA, 118–122.
[164]
Paul Denny, Andrew Luxton-Reilly, and Beth Simon. 2008. Evaluating a new exam question: Parsons problems. In Proceedings of the Fourth International Workshop on Computing Education Research (ICER ’08). ACM, New York, NY, USA, 113–124.
[165]
Paul Denny, Andrew Luxton-Reilly, Ewan Tempero, and Jacob Hendrickx. 2011. Codewrite: supporting student-driven practice of Java. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (SIGCSE ’11). ACM, New York, NY, USA, 471–476.
[166]
Sebastian Deterding, Dan Dixon, Rilla Khaled, and Lennart Nacke. 2011. From game design elements to gamefulness: defining “gamification”. In Proceedings of the 15th International Academic MindTrek Conference: Envisioning Future Media Environments (MindTrek ’11). ACM, New York, NY, USA, 9–15.
[167]
Adrian Devey and Angela Carbone. 2011. Helping first year novice programming students pass. In Proceedings of the Thirteenth Australasian Computing Education Conference — Volume 114 (ACE ’11). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 135–144. http://dl.acm.org/citation.cfm? id=2459936.2459953
[168]
Nicholas Diana, Michael Eagle, John Stamper, Shuchi Grover, Marie Bienkowski, and Satabdi Basu. 2017. An instructor dashboard for real-time analytics in interactive programming assignments. In Proceedings of the Seventh International Learning Analytics & Knowledge Conference (LAK ’17). ACM, New York, NY, USA, 272–279. Introductory Programming: A Systematic Literature Review ITiCSE ’18 Companion, July 2–4, 2018, Larnaca, Cyprus
[169]
Paul E. Dickson. 2011. Motivating students taking CS1 by using image manipulation in C and C+. J. Comput. Sci. Coll. 26, 6 (2011), 136–141. http: //dl.acm.org/citation.cfm?id=1968521.1968551
[170]
Edward Dillon, Monica Anderson, and Marcus Brown. 2012. Comparing feature assistance between programming environments and their “effect” on novice programmers. J. Comput. Sci. Coll. 27, 5 (2012), 69–77. http://dl.acm.org/citation. cfm?id=2168874.2168894
[171]
Edward Dillon, Monica Anderson, and Marcus Brown. 2012. Comparing mental models of novice programmers when using visual and command line environments. In Proceedings of the 50th Annual Southeast Regional Conference (ACM-SE ’12). ACM, New York, NY, USA, 142–147. 2184512.2184546
[172]
Daghan Dinç and Suzan Üsküdarli. 2009. A web environment to support teaching introductory programming. In 2009 Fourth International Conference on Internet and Web Applications and Services. IEEE, 578–582. 1109/ICIW.2009.93
[173]
Zachary Dodds, Ran Libeskind-Hadas, and Eliot Bush. 2010. When CS 1 is Biology 1: crossdisciplinary collaboration as CS context. In Proceedings of the Fifteenth Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE ’10). ACM, New York, NY, USA, 219–223.
[174]
Liam Doherty, J Shakya, M Jordanov, P Lougheed, D Brokenshire, S Rao, and VS Kumar. 2005. Recognizing opportunities for mixed-initiative interactions in novice programming. In AAAI Fall Symposium on Mixed-Initiative Problem-Solving Assistants. AAAI, 51–56.
[175]
Brian Dorn and Allison Elliott Tew. 2015. Empirical validation and application of the computing attitudes survey. Computer Science Education 25, 1 (2015), 1–36.
[176]
Brian Dorn and Dean Sanders. 2003. Using Jeroo to introduce object-oriented programming. In IEEE Frontiers in Education Conference (FIE ’03), Vol. 1. IEEE, T4C–22–7 Vol.1.
[177]
Ricardo Vargas Dorneles, Delcino Picinin Jr, and André Gustavo Adami. 2010. ALGOWEB: a web-based environment for learning introductory programming. In 10th IEEE International Conference on Advanced Learning Technologies (ICALT ’10). IEEE, 83–85.
[178]
Mohsen Dorodchi, Nasrin Dehbozorgi, and Tonya K Frevert. 2017. “I wish I could rank my exam’s challenge level!”: An algorithm of Bloom’s taxonomy in teaching CS1. In IEEE Frontiers in Education Conference (FIE ’17). IEEE, 1–5.
[179]
Daryl D’Souza, Margaret Hamilton, James Harland, Peter Muir, Charles Thevathayan, and Cecily Walker. 2008. Transforming learning of programming: a mentoring project. In Proceedings of the Tenth Conference on Australasian Computing Education — Volume 78 (ACE ’08). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 75–84. http://dl.acm.org/citation.cfm? id=1379249.1379256
[180]
Amalia Duch Brown, Joaquim Gabarró Vallès, Jordi Petit Silvestre, Maria Josep Blesa Aguilera, and María José Serna Iglesias. 2015. A cost-benefit analysis of continuous assessment. In Proceedings of the 7th International Conference on Computer Supported Education (CSEDU ’15). SciTePress, 57–66.
[181]
Mark S. Durrheim, Abejide Ade-Ibijola, and Sigrid Ewert. 2016. Code pathfinder: a stepwise programming e-tutor using plan mirroring. In Communications in Computer and Information Science. Springer International Publishing, 69–82.
[182]
Thomas Dy and Ma. Mercedes Rodrigo. 2010. A detector for non-literal Java errors. In Proceedings of the 10th Koli Calling International Conference on Computing Education Research (Koli Calling ’10). ACM, New York, NY, USA, 118–122.
[183]
Michael Eagle and Tiffany Barnes. 2009. Experimental evaluation of an educational game for improved learning in introductory computing. SIGCSE Bull. 41, 1 (2009), 321–325.
[184]
Alice H Eagly and Shelly Chaiken. 1998. Attitude structure and function. In The Handbook of Social Psychology. McGraw-Hill.
[185]
Anna Eckerdal, Mikko-Jussi Laakso, Mike Lopez, and Amitrajit Sarkar. 2011. Relationship between text and action conceptions of programming: a phenomenographic and quantitative perspective. In Proceedings of the 16th Annual Joint Conference on Innovation and Technology in Computer Science Education (ITiCSE ’11). ACM, New York, NY, USA, 33–37.
[186]
[187]
Alex Edgcomb and Frank Vahid. 2014. Effectiveness of online textbooks vs. interactive web-native content. In Proceedings of the 2014 ASEE Annual Conference. ASEE.
[188]
Alex Edgcomb, Frank Vahid, Roman Lysecky, and Susan Lysecky. 2017. Getting students to earnestly do reading, studying, and homework in an introductory programming class. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’17). ACM, New York, NY, USA, 171–176.
[189]
Alex Daniel Edgcomb, Frank Vahid, Roman Lysecky, and Susan Lysecky. 2017. An analysis of incorporating small coding exercises as homework in introductory programming courses. In Proceedings of the 2017 ASEE Annual Conference. ASEE.
[190]
Stephen H. Edwards. 2004. Using software testing to move students from trial- and-error to reflection-in-action. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’04). ACM, New York, NY, USA, 26–30.
[191]
Stephen H. Edwards and Krishnan Panamalai Murali. 2017. CodeWorkout: short programming exercises with built-in data collection. In Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’17). ACM, New York, NY, USA, 188–193. 1145/3059009.3059055
[192]
Stephen H. Edwards and Manuel A. Pérez-Quiñones. 2007. Experiences using test-driven development with an automated grader. J. Comput. Sci. Coll. 22, 3 (2007), 44–50. http://dl.acm.org/citation.cfm?id=1181849.1181855
[193]
Stephen H. Edwards, Daniel S. Tilden, and Anthony Allevato. 2014. Pythy: improving the introductory Python programming experience. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE ’14). ACM, New York, NY, USA, 641–646. 2538862.2538977
[194]
Johan Eliasson, Lena Kallin Westin, and Marie Nordström. 2006. Investigating students’ confidence in programming and problem solving. In IEEE Frontiers in Education Conference (FIE ’06). IEEE, 22–27.
[195]
[196]
Allison Elliott Tew and Brian Dorn. 2013. The case for validated tools in computer science education research. Computer 46, 9 (2013), 60–66.
[197]
Joelle Elmaleh and Venky Shankararaman. 2017. Improving student learning in an introductory programming course using flipped classroom and competency framework. In IEEE Global Engineering Education Conference (EDUCON ’17). IEEE, 49–55.
[198]
Ashraf Elnagar and Mahir Ali. 2012. A modified team-based learning methodology for effective delivery of an introductory programming course. In Proceedings of the 13th Annual Conference on Information Technology Education (SIGITE ’12). ACM, New York, NY, USA, 177–182. 1145/2380552.2380604
[199]
Richard J. Enbody, William F. Punch, and Mark McCullen. 2009. Python CS1 as preparation for C++ CS2. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (SIGCSE ’09). ACM, New York, NY, USA, 116– 120.
[200]
Kiran L. N. Eranki and Kannan M. Moudgalya. 2012. A collaborative approach to scaffold programming efficiency using spoken tutorials and its evaluation. In 8th International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom ’12). IEEE, 556–559. https: //ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6450951
[201]
Barbara J. Ericson, Kantwon Rogers, Miranda Parker, Briana Morrison, and Mark Guzdial. 2016. Identifying design principles for CS teacher ebooks through design-based research. In Proceedings of the 2016 ACM Conference on International Computing Education Research (ICER ’16). ACM, New York, NY, USA, 191–200.
[202]
Anthony Estey, Hieke Keuning, and Yvonne Coady. 2017. Automatically classifying students in need of support by detecting changes in programming behaviour. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’17). ACM, New York, NY, USA, 189–194.
[203]
Jim Etheredge. 2004. CMeRun: program logic debugging courseware for CS1/CS2 students. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’04). ACM, New York, NY, USA, 22– 25.
[204]
Thomas R Etherington. 2016. Teaching introductory GIS programming to geographers using an open source Python approach. Journal of Geography in Higher Education 40, 1 (2016), 117–130.
[205]
[206]
Geela Venise Firmalo Fabic, Antonija Mitrovic, and Kourosh Neshatian. 2017. Investigating the effectiveness of menu-based self-explanation prompts in a mobile Python tutor. In Artificial Intelligence in Education, Elisabeth André, Ryan Baker, Xiangen Hu, Ma. Mercedes T. Rodrigo, and Benedict du Boulay (Eds.). Springer International Publishing, Cham, 498–501. 1007/978-3-319-61425-0_49
[207]
Lisa Facey-Shaw and Paul Golding. 2005. Effects of peer tutoring and attitude on academic performance of first year introductory programming students. In IEEE Frontiers in Education Conference (FIE ’05). IEEE, S1E. 1109/FIE.2005.1612175
[208]
Katrina Falkner and David S Munro. 2009. Easing the transition: a collaborative learning approach. In Proceedings of the Eleventh Australasian Conference on Computing Education — Volume 95 (ACE ’09). Australian Computer Society, Inc., Darlinghurst, Australia, 65–74. http://dl.acm.org/citation.cfm?id=1862712.
[209]
[210]
Waleed Farag, Sanwar Ali, and Debzani Deb. 2013. Does language choice influence the effectiveness of online introductory programming courses?. In ITiCSE ’18 Companion, July 2–4, 2018, Larnaca, Cyprus Luxton-Reilly et al. Proceedings of the 14th Annual ACM SIGITE Conference on Information Technology Education (SIGITE ’13). ACM, New York, NY, USA, 165–170.
[211]
Rob Faux. 2006. Impact of preprogramming course curriculum on learning in the first programming course. IEEE Transactions on Education 49 (2006), 11–15. Issue 1.
[212]
Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and Shriram Krishnamurthi. 2018. How to Design Programs: An Introduction to Programming and Computing. MIT Press.
[213]
James B Fenwick Jr, Cindy Norris, Frank E Barry, Josh Rountree, Cole J Spicer, and Scott D Cheek. 2009. Another look at the behaviors of novice programmers. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (SIGCSE ’09). ACM, New York, NY, USA, 296–300.
[214]
José Luis Fernández Alemán and Youssef Oufaska. 2010. SAMtool, a tool for deducing and implementing loop patterns. In Proceedings of the Fifteenth Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE ’10). ACM, New York, NY, USA, 68–72.
[215]
[216]
Kasper Fisker, Davin McCall, Michael Kölling, and Bruce Quig. 2008. Group work support for the BlueJ IDE. In Proceedings of the 13th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE ’08). ACM, New York, NY, USA, 163–168.
[217]
Fred Fonseca and Larry Spence. 2014. The karate kid method of problem based learning. In Innovative Practices in Teaching Information Sciences and Technology. Springer International Publishing, Cham., 9–17. 1007/978-3-319-03656-4_2
[218]
Davide Fossati, Barbara Di Eugenio, Christopher Brown, and Stellan Ohlsson. 2008. Learning linked lists: experiments with the iList system. In Intelligent Tutoring Systems. Springer, Berlin, Heidelberg, 80–89. 978-3-540-69132-7_13
[219]
Patrice Frison. 2015. A teaching assistant for algorithm construction. In Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’15). ACM, New York, NY, USA, 9–14.
[220]
Daniel Frost. 2008. Ucigame, a Java library for games. In Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’08). ACM, New York, NY, USA, 310–314.
[221]
Luka Fürst and Viljan Mahnič. 2012. A cooperative development system for an interactive introductory programming course. World Transactions on Engineering and Technology Education 10, 2 (2012), 122–127.
[222]
Judith Gal-Ezer, Tamar Vilner, and Ela Zur. 2009. Has the paradigm shift in CS1 a harmful effect on data structures courses: a case study. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (SIGCSE ’09). ACM, New York, NY, USA, 126–130.
[223]
Jianxiong Gao, Bei Pang, and Steven S Lumetta. 2016. Automated feedback framework for introductory programming courses. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’16). ACM, New York, NY, USA, 53–58.
[224]
[225]
Ryan Garlick and Ebru Celikel Cankaya. 2010. Using Alice in CS1: a quantitative experiment. In Proceedings of the Fifteenth Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE ’10). ACM, New York, NY, USA, 165–168.
[226]
Stuart Garner. 2007. A program design tool to help novices learn programming. In Australian Society for Computers in Learning in Tertiary Education Annual Conference (ASCILITE ’07). Australasian Society for Computers in Learning in Tertiary Education, 321–324.
[227]
David Ginat and Eti Menashe. 2015. SOLO taxonomy for assessing novices’ algorithmic design. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (SIGCSE ’15). ACM, New York, NY, USA, 452–457.
[228]
David Ginat and Ronit Shmalo. 2013. Constructive use of errors in teaching CS1. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE ’13). ACM, New York, NY, USA, 353–358.
[229]
Mark Goadrich. 2014. Incorporating tangible computing devices into CS1. J. Comput. Sci. Coll. 29, 5 (2014), 23–31. http://dl.acm.org/citation.cfm?id=2600623.
[230]
[231]
Paul Golding, Lisa Facey-Shaw, and Vanesa Tennant. 2006. Effects of peer tutoring, attitude and personality on academic performance of first year introductory programming students. In IEEE Frontiers in Education Conference (FIE ’06). IEEE, 7–12.
[232]
Michael H Goldwasser and David Letscher. 2007. Introducing network programming into a CS1 course. In Proceedings of the 12th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE ’07). ACM, New York, NY, USA, 19–22.
[233]
Michael H Goldwasser and David Letscher. 2009. A graphics package for the first day and beyond. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (SIGCSE ’09). ACM, New York, NY, USA, 206–210.
[234]
Anabela Jesus Gomes, Alvaro Nuno Santos, and António José Mendes. 2012. A study on students’ behaviours and attitudes towards learning to program. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE ’12). ACM, New York, NY, USA, 132–137.
[235]
Gracielo Gonzalez. 2004. Constructivism in an introduction to programming course. J. Comput. Sci. Coll. 19 (2004), 299–305. http://dl.acm.org/citation.cfm? id=1050231.1050277
[236]
Graciela Gonzalez. 2006. A systematic approach to active and cooperative learning in CS1 and its effects on CS2. In Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’06). ACM, New York, NY, USA, 133–137.
[237]
Morten Goodwin and Tom Drange. 2016. Teaching programming to large student groups through test driven development comparing established methods with teaching based on test driven development. In Proceedings of the 8th International Conference on Computer Supported Education (CSEDU ’16), Vol. 1. SciTePress, 281–288.
[238]
Ira Greenberg, Deepak Kumar, and Dianna Xu. 2012. Creative coding and visual portfolios for CS1. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (SIGCSE ’12). ACM, New York, NY, USA, 247–252.
[239]
Paul Gries, Volodymyr Mnih, Jonathan Taylor, Greg Wilson, and Lee Zamparo. 2005. Memview: a pedagogically-motivated visual debugger. In IEEE Frontiers in Education Conference (FIE ’05). IEEE, S1J–11. 2005.1612204
[240]
Paul Gross and Kris Powers. 2005. Evaluating assessments of novice programming environments. In Proceedings of the First International Workshop on Computing Education Research (ICER ’05). ACM, New York, NY, USA, 99–110.
[241]
Sebastian Gross and Niels Pinkwart. 2015. Towards an integrative learning environment for Java programming. In IEEE 15th International Conference on Advanced Learning Technologies (ICALT ’15). IEEE, 24–28. 1109/ICALT.2015.75
[242]
Dee Gudmundsen, Lisa Olivieri, and Namita Sarawagi. 2011. Using Visual Logic ©: three different approaches in different courses — General Education, CS0, and CS1. J. Comput. Sci. Coll. 26, 6 (2011), 23–29. http://dl.acm.org/citation. cfm?id=1968521.1968529
[243]
Minzhe Guo, Taolun Chai, and Kai Qian. 2010. Design of online runtime and testing environment for instant Java programming assessment. In 2010 Seventh International Conference on Information Technology: New Generations. IEEE, 1102–1106.
[244]
Mark Guzdial. 2003. A media computation course for non-majors. In Proceedings of the 8th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE ’03). ACM, New York, NY, USA, 104–108.
[245]
Simo Haatainen, Antti-Jussi Lakanen, Ville Isomöttönen, and Vesa Lappalainen. 2013. A practice for providing additional support in CS1. In Learning and Teaching in Computing and Engineering (LaTiCE ’13). IEEE, 178–183.
[246]
Patricia Haden, Dale Parsons, Krissi Wood, and Joy Gasson. 2017. Student affect in CS1: insights from an easy data collection tool. In Proceedings of the 17th Koli Calling International Conference on Computing Education Research (Koli Calling ’17). ACM, New York, NY, USA, 40–49. 3141880.3141881
[247]
Pari Delir Haghighi and Judy Sheard. 2005. Summative computer programming assessment using both paper and computer. In Towards Sustainable and Scalable Educational Innovations Informed by the Learning Sciences (ICCE ’05). IOS Press, 67–75.
[248]
John Hamer, Quintin Cutts, Jana Jackova, Andrew Luxton-Reilly, Robert McCartney, Helen Purchase, Charles Riedesel, Mara Saeli, Kate Sanders, and Judithe Sheard. 2008. Contributing student pedagogy. SIGCSE Bull. 40, 4 (2008), 194–212.
[249]
John Hamer, Helen C Purchase, Paul Denny, and Andrew Luxton-Reilly. {n. d.}. Quality of Peer Assessment in CS1. 27–36.
[250]
[251]
Nadeem Abdul Hamid. 2012. Automated web-based user interfaces for novice programmers. In Proceedings of the 50th Annual Southeast Regional Conference (ACM-SE ’12). ACM, New York, NY, USA, 42–47.
[252]
Nadeem Abdul Hamid. 2016. A generic framework for engaging online data sources in introductory programming courses. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’16). ACM, New York, NY, USA, 136–141. 2899415.2899437 Introductory Programming: A Systematic Literature Review ITiCSE ’18 Companion, July 2–4, 2018, Larnaca, Cyprus
[253]
Brian Hanks. 2005. Student performance in CS1 with distributed pair programming. In Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE ’05). ACM, New York, NY, USA, 316–320.
[254]
Brian Hanks. 2006. Student attitudes toward pair programming. In Proceedings of the 11th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITICSE ’06). ACM, New York, NY, USA, 113–117.
[255]
Brian Hanks. 2008. Problems encountered by novice pair programmers. J. Educ. Resour. Comput. 7, 4, Article 2 (2008), 2:1–2:13 pages. 1316450.1316452
[256]
Brian Hanks, Charlie McDowell, David Draper, and Milovan Krnjajic. 2004. Program quality with pair programming in CS1. In Proceedings of the 9th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE ’04). ACM, New York, NY, USA, 176–180.
[257]
Brian Hanks, Laurie Murphy, Beth Simon, Renée McCauley, and Carol Zander. 2009. CS1 students speak: advice for students by students. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (SIGCSE ’09). ACM, New York, NY, USA, 19–23.
[258]
Michael R Hansen and Jens Thyge Kristensen. 2008. Experiences with functional programming in an introductory curriculum. In Reflections on the Teaching of Programming, Jens Bennedsen, Michael E. Caspersen, and Michael Kölling (Eds.). Springer, Berlin, Heidelberg, 30–46. 4
[259]
Brian K Hare. 2013. Classroom interventions to reduce failure & withdrawal in CS1: a field report. J. Comput. Sci. Coll. 28, 5 (2013), 228–235. http://dl.acm. org/citation.cfm?id=2458569.2458618
[260]
Douglas Harms. 2011. Personal robots in CS1: implementing the Myro API in Java. In Proceedings of the 12th International Conference on Computer Systems and Technologies (CompSysTech ’11). ACM, New York, NY, USA, 552– 557.
[261]
Brian Harrington and Ayaan Chaudhry. 2017. TrAcademic: improving participation and engagement in CS1/CS2 with gamified practicals. In Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’17). ACM, New York, NY, USA, 347–352.
[262]
Nathan Harris and Charmain Cilliers. 2006. A program beacon recognition tool. In 2006 7th International Conference on Information Technology Based Higher Education and Training (ITHET ’06). IEEE, 216–225. 1109/ITHET.2006.339767
[263]
Björn Hartmann, Daniel MacDougall, Joel Brandt, and Scott R Klemmer. 2010. What would other programmers do: suggesting solutions to error messages. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI ’10). ACM, New York, NY, USA, 1019–1028.
[264]
1145/1753326.1753478
[265]
Andrew Head, Elena Glassman, Gustavo Soares, Ryo Suzuki, Lucas Figueredo, Loris D’Antoni, and Björn Hartmann. 2017. Writing reusable code feedback at scale with mixed-initiative program synthesis. In Proceedings of the Fourth ACM Conference on Learning @ Scale (L@S ’17). ACM, New York, NY, USA, 89–98.
[266]
David Heaney and Charlie Daly. 2004. Mass production of individual feedback. In Proceedings of the 9th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE ’04). ACM, New York, NY, USA, 117–121.
[267]
Bastiaan Heeren, Daan Leijen, and Arjan van IJzendoorn. 2003. Helium, for learning Haskell. In Proceedings of the 2003 ACM SIGPLAN Workshop on Haskell (Haskell ’03). ACM, New York, NY, USA, 62–71.
[268]
[269]
Kenny Heinonen, Kasper Hirvikoski, Matti Luukkainen, and Arto Vihavainen. 2014. Using CodeBrowser to seek differences between novice programmers. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE ’14). ACM, New York, NY, USA, 229–234.
[270]
James Heliotis and Richard Zanibbi. 2011. Moving away from programming and towards computer science in the CS first year. J. Comput. Sci. Coll. 26, 3 (2011), 115–125. http://dl.acm.org/citation.cfm?id=1859159.1859183
[271]
Arto Hellas, Juho Leinonen, and Petri Ihantola. 2017. Plagiarism in take-home exams: help-seeking, collaboration, and systematic cheating. In Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’17). ACM, New York, NY, USA, 238–243. 1145/3059009.3059065
[272]
Joseph Henrich, Steven J Heine, and Ara Norenzayan. 2010. The weirdest people in the world? Behavioral and Brain Sciences 33, 2-3 (2010), 61–83.
[273]
Pavel Herout and Premysl Brada. 2015. Duck Testing Enhancements for Automated Validation of Student Programmes. In Proceedings of the 7th International Conference on Computer Supported Education — Volume 1 (CSEDU ’15). SciTePress, Portugal, 228–234. 0005412902280234
[274]
Matthew Hertz and Sarah Michele Ford. 2013. Investigating factors of student learning in introductory courses. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE ’13). ACM, New York, NY, USA, 195–200.
[275]
Michael Hilton and David S Janzen. 2012. On teaching arrays with test-driven learning in WebIDE. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE ’12). ACM, New York, NY, USA, 93–98.
[276]
Amanda M Holland-Minkley and Thomas Lombardi. 2016. Improving engagement in introductory courses with homework resubmission. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (SIGCSE ’16). ACM, New York, NY, USA, 534–539. 2839509.2844576
[277]
Mark A Holliday and David Luginbuhl. 2004. CS1 assessment using memory diagrams. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’04). ACM, New York, NY, USA, 200–204.
[278]
Lars Josef Höök and Anna Eckerdal. 2015. On the bimodality in an introductory programming course: an analysis of student performance factors. In International Conference on Learning and Teaching in Computing and Engineering (LaTiCE ’15). IEEE, 79–86.
[279]
Dainal Hooshyar, Rodina Binti Ahmad, Mohd Hairul Nizam Md Nasir, and Wong Ching Mun. 2014. Flowchart-based approach to aid novice programmers: a novel framework. In 2014 International Conference on Computer and Information Sciences (ICCOINS). IEEE, 1–5. 2014.6868826
[280]
Danial Hooshyar, Rodina Binti Ahmad, Mohd Hairul Nizam Md Nasir, Shahaboddin Shamshirband, and Shi-Jinn Horng. 2015. Flowchart-based programming environments for improving comprehension and problem-solving skill of novice programmers: a survey. International Journal of Advanced Intelligence Paradigms 7, 1 (2015), 24–56.
[281]
Danial Hooshyar, Rodina Binti Ahmad, Ram Gopal Raj, Mohd Hairul Nizam Md Nasir, Moslem Yousef, Shi-Jinn Horng, and Jože Rugelj. 2015. A flowchart-based multi-agent system for assisting novice programmers with problem solving activities. Malaysian Journal of Computer Science 28, 2 (2015), 132–151.
[282]
Danial Hooshyar, Rodina Binti Ahmad, Moslem Yousefi, Moein Fathi, Shi-Jinn Horng, and Heuiseok Lim. 2018. SITS: a solution-based intelligent tutoring system for students’ acquisition of problem-solving skills in computer programming. Innovations in Education and Teaching International 55, 3 (2018), 325–335.
[283]
Danial Hooshyar, Rodina Binti Ahmad, Moslem Yousefi, FD Yusop, and S-J Horng. 2015. A flowchart-based intelligent tutoring system for improving problem-solving skills of novice programmers. Journal of Computer Assisted Learning 31, 4 (2015), 345–361.
[284]
V Horner and P Gouws. 2016. E-tutoring support for undergraduate students learning computer programming at the university of South Africa. In Proceedings of the Computer Science Education Research Conference 2016 (CSERC ’16). ACM, New York, NY, USA, 29–36.
[285]
[286]
Diane Horton, Jennifer Campbell, and Michelle Craig. 2016. Online CS1: who enrols, why, and how do they do?. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (SIGCSE ’16). ACM, New York, NY, USA, 323–328.
[287]
David Hovemeyer and David Babcock. 2009. Using terminal window graphics in CS1. J. Comput. Sci. Coll. 24, 3 (2009), 151–158. http://dl.acm.org/citation. cfm?id=1409873.1409902
[288]
David Hovemeyer, Arto Hellas, Andrew Petersen, and Jaime Spacco. 2016. Control-flow-only abstract syntax trees for analyzing students’ programming progress. In Proceedings of the 2016 ACM Conference on International Computing Education Research (ICER ’16). ACM, New York, NY, USA, 63–72.
[289]
Wen Chin Hsu and Scott W Plunkett. 2016. Attendance and grades in learning programming classes. In Proceedings of the Australasian Computer Science Week Multiconference (ACSW ’16). ACM, New York, NY, USA, Article 4, 4:1– 4:6 pages.
[290]
Minjie Hu, Michael Winikoff, and Stephen Cranefield. 2012. Teaching novice programming using goals and plans in a visual notation. In Proceedings of the Fourteenth Australasian Computing Education Conference — Volume 123 (ACE ’12). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 43–52. http://dl.acm.org/citation.cfm?id=2483716.2483722
[291]
Minjie Hu, Michael Winikoff, and Stephen Cranefield. 2013. A process for novice programming using goals and plans. In Proceedings of the Fifteenth Australasian Computing Education Conference — Volume 136 (ACE ’13). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 3–12. http: //dl.acm.org/citation.cfm?id=2667199.2667200
[292]
Yun-Jen Hu and Po-Yao Chao. 2015. A simulation-based learning environment for learning debugging. In Proceedings of the 23rd International Conference ITiCSE ’18 Companion, July 2–4, 2018, Larnaca, Cyprus Luxton-Reilly et al. on Computers in Education (ICCE ’15). 310–312.
[293]
Chenn-Jung Huang, Chen Chun-Hua, Luo Yun-Cheng, Chen Hong-Xin, and Yi-Ta Chuang. 2008. Developing an intelligent diagnosis and assessment elearning tool for introductory programming. Journal of Educational Technology & Society 11, 4 (2008), 139–157.
[294]
JL Huff and HR Clements. 2017. The hidden person within the frustrated student: an interpretative phenomenological analysis of a student’s experience in a programming course. In American Society for Engineering Education Annual Conference & Exposition. ASEE.
[295]
Bowen Hui and Shannon Farvolden. 2017. How can learning analytics improve a course?. In Proceedings of the 22nd Western Canadian Conference on Computing Education (WCCCE ’17). ACM, New York, NY, USA, Article 1, 6 pages.
[296]
Christopher Hundhausen, Anukrati Agrawal, Dana Fairbrother, and Michael Trevisan. 2009. Integrating pedagogical code reviews into a CS 1 course: an empirical study. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (SIGCSE ’09). ACM, New York, NY, USA, 291–295.
[297]
Christopher Hundhausen, Anukrati Agrawal, Dana Fairbrother, and Michael Trevisan. 2010. Does studio-based instruction work in CS 1?: an empirical comparison with a traditional approach. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education (SIGCSE ’10). ACM, New York, NY, USA, 500–504.
[298]
Christopher Hundhausen, Anukrati Agrawal, and Kyle Ryan. 2010. The design of an online environment to support pedagogical code reviews. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education (SIGCSE ’10). ACM, New York, NY, USA, 182–186.
[299]
Christopher D Hundhausen, Pawan Agarwal, and Michael Trevisan. 2011. Online vs. face-to-face pedagogical code reviews: an empirical comparison. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (SIGCSE ’11). ACM, New York, NY, USA, 117–122.
[300]
Christopher D Hundhausen and Jonathan Lee Brown. 2007. An experimental study of the impact of visual semantic feedback on novice programming. Journal of Visual Languages & Computing 18, 6 (2007), 537–559. j.jvlc.2006.09.001
[301]
Christopher D Hundhausen and Jonathan L Brown. 2007. What you see is what you code: a “live” algorithm development and visualization environment for novice learners. Journal of Visual Languages & Computing 18, 1 (2007), 22–47.
[302]
Christopher D Hundhausen and Jonathan L Brown. 2008. Designing, visualizing, and discussing algorithms within a CS 1 studio experience: an empirical study. Computers & Education 50, 1 (2008), 301–326. compedu.2006.06.002
[303]
Christopher D Hundhausen, Sarah A Douglas, and John T Stasko. 2002. A metastudy of algorithm visualization effectiveness. Journal of Visual Languages & Computing 13, 3 (2002), 259–290.
[304]
Christopher D Hundhausen, Sean Farley, and Jonathan Lee Brown. 2006. Can direct manipulation lower the barriers to programming and promote positive transfer to textual programming? An experimental study. In IEEE Symposium on Visual Languages and Human-Centric Computing, 2006 (VL/HCC’06). IEEE, 157–164.
[305]
Christopher D Hundhausen, N Hari Narayanan, and Martha E Crosby. 2008. Exploring studio-based instructional models for computing education. In Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’08). ACM, New York, NY, USA, 392–396.
[306]
Jacqueline Hundley. 2008. A review of using design patterns in CS1. In Proceedings of the 46th Annual Southeast Regional Conference (ACM-SE 46). ACM, New York, NY, USA, 30–33.
[307]
Jacqueline Hundley and Winard Britt. 2009. Engaging students in software development course projects. In The Fifth Richard Tapia Celebration of Diversity in Computing Conference: Intellect, Initiatives, Insight, and Innovations (TAPIA ’09). ACM, New York, NY, USA, 87–92.
[308]
Petri Ihantola, Tuukka Ahoniemi, Ville Karavirta, and Otto Seppälä. 2010. Review of Recent Systems for Automatic Assessment of Programming Assignments. In Proceedings of the 10th Koli Calling International Conference on Computing Education Research (Koli Calling ’10). ACM, New York, NY, USA, 86–93.
[309]
Petri Ihantola, Arto Vihavainen, Alireza Ahadi, Matthew Butler, Jürgen Börstler, Stephen H Edwards, Essi Isohanni, Ari Korhonen, Andrew Petersen, Kelly Rivers, Miguel Ángel Rubio, Judy Sheard, Bronius Skupas, Jaime Spacco, Claudia Szabo, and Daniel Toll. 2015. Educational data mining and learning analytics in programming: literature review and case studies. In Proceedings of the 2015 ITiCSE on Working Group Reports (ITICSE-WGR ’15). ACM, New York, NY, USA, 41–63.
[310]
Ville Isomöttönen and Vesa Lappalainen. 2012. CSI with games and an emphasis on TDD and unit testing: piling a trend upon a trend. ACM Inroads 3, 3 (2012), 62–68.
[311]
Mirjana Ivanović, Zoran Budimac, Miloš Radovanović, and Miloš Savić. 2015. Does the choice of the first programming language influence students’ grades?. In Proceedings of the 16th International Conference on Computer Systems and Technologies (CompSysTech ’15). ACM, New York, NY, USA, 305–312.
[312]
Janusz Jablonowski. 2004. Some remarks on teaching of programming. In Proceedings of the 5th International Conference on Computer Systems and Technologies (CompSysTech ’04). ACM, New York, NY, USA, 1–6. org/10.1145/1050330.1050419
[313]
James Jackson, Michael Cobb, and Curtis Carver. 2005. Identifying top Java errors for novice programmers. In IEEE Frontiers in Education Conference (FIE ’05). IEEE, T4C–T4C.
[314]
Matthew C Jadud. 2006. Methods and tools for exploring novice compilation behaviour. In Proceedings of the Second International Workshop on Computing Education Research (ICER ’06). ACM, New York, NY, USA, 73–84. org/10.1145/1151588.1151600
[315]
Matthew C Jadud and Poul Henriksen. 2009. Flexible, reusable tools for studying novice programmers. In Proceedings of the Fifth International Workshop on Computing Education Research Workshop (ICER ’09). ACM, New York, NY, USA, 37–42.
[316]
Siti Robaya Jantan and Syed Ahmad Aljunid. 2012. An experimental evaluation of scaffolded educational games design for programming. In IEEE Conference on Open Systems (ICOS ’12). IEEE, 1–6.
[317]
Ambikesh Jayal, Stasha Lauria, Allan Tucker, and Stephen Swift. 2011. Python for teaching introductory programming: a quantitative evaluation. ITALICS Innovations in Teaching and Learning in Information and Computer Sciences 10, 1 (2011), 86–90.
[318]
Mehdi Jazayeri. 2015. Combining mastery learning with project-based learning in a first programming course: an experience report. In Proceedings of the 37th International Conference on Software Engineering — Volume 2 (ICSE ’15). IEEE Press, Piscataway, NJ, USA, 315–318. http://dl.acm.org/citation.cfm?id= 2819009.2819059
[319]
Jam Jenkins, Evelyn Brannock, Thomas Cooper, Sonal Dekhane, Mark Hall, and Michael Nguyen. 2012. Perspectives on active learning and collaboration: javawide in the classroom. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (SIGCSE ’12). ACM, New York, NY, USA, 185–190.
[320]
Åse Jevinger and Kristina Von Hausswolff. 2016. Large programming task vs questions-and-answers examination in Java introductory courses. In International Conference on Learning and Teaching in Computing and Engineering (LaTiCE ’16). IEEE, 154–161.
[322]
Wei Jin and Albert Corbett. 2011. Effectiveness of cognitive apprenticeship learning (CAL) and cognitive tutors (CT) for problem solving using fundamental programming concepts. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (SIGCSE ’11). ACM, New York, NY, USA, 305– 310.
[323]
Wei Jin, Albert Corbett, Will Lloyd, Lewis Baumstark, and Christine Rolka. 2014. Evaluation of guided-planning and assisted-coding with task relevant dynamic hinting. In International Conference on Intelligent Tutoring Systems. Springer International Publishing, Cham., 318–328. 978-3-319-07221-0_40
[324]
Chris Johnson. 2012. SpecCheck: automated generation of tests for interface conformance. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE ’12). ACM, New York, NY, USA, 186–191.
[325]
Chris Johnson, Monica McGill, Durell Bouchard, Michael K Bradshaw, Víctor A Bucheli, Laurence D Merkle, Michael James Scott, Z Sweedyk, J Ángel Velázquez-Iturbide, Zhiping Xiao, and Ming Zhang. 2016. Game development for computer science education. In Proceedings of the 2016 ITiCSE Working Group Reports (ITiCSE ’16). ACM, New York, NY, USA, 23–44.
[326]
[327]
Mary Elizabeth “ME” Jones, Melanie Kisthardt, and Marie A Cooper. 2011. Interdisciplinary teaching: introductory programming via creative writing. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (SIGCSE ’11). ACM, New York, NY, USA, 523–528.
[328]
Francisco Jurado, Ana I Molina, Miguel A Redondo, Manuel Ortega, Adam Giemza, Lars Bollen, and Heinz Ulrich Hoppe. 2009. Learning to program with COALA, a distributed computer assisted environment. Journal of Universal Computer Science 15, 7 (2009), 1472–1485.
[329]
Erkki Kaila, Teemu Rajala, Mikko-Jussi Laakso, and Tapio Salakoski. 2009. Effects, experiences and feedback from studies of a program visualization tool. Informatics in Education 8, 1 (2009), 17–34. Introductory Programming: A Systematic Literature Review ITiCSE ’18 Companion, July 2–4, 2018, Larnaca, Cyprus
[330]
Geetha Kanaparan, Rowena Cullen, and David Mason. 2013. Self-efficacy and engagement as predictors of student programming performance. In PACIS 2013 Proceedings, Vol. 282. AISeL, 12. http://aisel.aisnet.org/pacis2013/282
[331]
Pertti Kansanen. 1999. Teaching as teaching-studying-learning interaction. Scandinavian Journal of Educational Research 43, 1 (1999), 81–89.
[332]
Oscar Karnalim. 2016. Detecting source code plagiarism on introductory programming course assignments using a bytecode approach. In International Conference on Information & Communication Technology and Systems (ICTS ’16). IEEE, 63–68.
[333]
Petra Kastl, Oliver Krisch, and Ralf Romeike. 2017. 3D printing as medium for motivation and creativity in computer science lessons. In International Conference on Informatics in Schools: Situation, Evolution, and Perspectives. Springer International Publishing, 27–36.
[334]
Nadia Kasto, Jacqueline Whalley, Anne Philpott, and David Whalley. 2014. Solution spaces. In Proceedings of the Sixteenth Australasian Computing Education Conference — Volume 148 (ACE ’14). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 133–137. http://dl.acm.org/citation.cfm?id= 2667490.2667506
[335]
Aaron Keen and Kurt Mammen. 2015. Program decomposition and complexity in CS1. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (SIGCSE ’15). ACM, New York, NY, USA, 48–53. org/10.1145/2676723.2677219
[336]
Hansi Keijonen, Jaakko Kurhila, and Arto Vihavainen. 2013. Carry-on effect in extreme apprenticeship. In IEEE Frontiers in Education Conference (FIE ’13). IEEE, 1150–1155.
[337]
Caitlin Kelleher and Randy Pausch. 2005. Lowering the barriers to programming: a taxonomy of programming environments and languages for novice programmers. ACM Comput. Surv. 37, 2 (2005), 83–137. 1089733.1089734
[338]
Hieke Keuning, Johan Jeuring, and Bastiaan Heeren. 2016. Towards a systematic review of automated feedback generation for programming exercises. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’16). ACM, New York, NY, USA, 41–46.
[339]
Nazish Zaman Khan and Andrew Luxton-Reilly. 2016. Is computing for social good the solution to closing the gender gap in computer science?. In Proceedings of the Australasian Computer Science Week Multiconference (ACSW ’16). ACM, New York, NY, USA, Article 17, 17:1–17:5 pages.
[340]
Hassan Khosravi and Kendra M.L. Cooper. 2017. Using learning analytics to investigate patterns of performance and engagement in large classes. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’17). ACM, New York, NY, USA, 309–314.
[341]
Suin Kim, Jae Won Kim, Jungkook Park, and Alice Oh. 2016. Elice: an online CS education platform to understand how students learn programming. In Proceedings of the Third ACM Conference on Learning @ Scale (L@S ’16). ACM, New York, NY, USA, 225–228.
[342]
Päivi Kinnunen and Lauri Malmi. 2006. Why students drop out CS1 course?. In Proceedings of the Second International Workshop on Computing Education Research (ICER ’06). ACM, New York, NY, USA, 97–108. 1151588.1151604
[343]
Paivi Kinnunen and Beth Simon. 2010. Experiencing programming assignments in CS1: the emotional toll. In Proceedings of the Sixth International Workshop on Computing Education Research (ICER ’10). ACM, New York, NY, USA, 77–86.
[344]
Päivi Kinnunen and Beth Simon. 2011. CS majors’ self-efficacy perceptions in CS1: results in light of social cognitive theory. In Proceedings of the Seventh International Workshop on Computing Education Research (ICER ’11). ACM, New York, NY, USA, 19–26.
[345]
Päivi Kinnunen and Beth Simon. 2012. My program is ok—am I? Computing freshmen’s experiences of doing programming assignments. Computer Science Education 22, 1 (2012), 1–28.
[346]
Päivi Kinnunen and Beth Simon. 2012. Phenomenography and grounded theory as research methods in computing education research field. Computer Science Education 22, 2 (2012), 199–218.
[347]
Stephen Kirby, Benjamin Toland, and Catherine Deegan. 2010. Program visualisation tool for teaching programming in C. In Proceedings of the International Conference on Education, Training and Informatics (ICETI’10). 457–461.
[348]
Michael S. Kirkpatrick and Chris Mayfield. 2017. Evaluating an alternative CS1 for students with prior programming experience. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’17). ACM, New York, NY, USA, 333–338. 3017680.3017759
[349]
Paul A Kirschner. 2017. Stop propagating the learning styles myth. Computers & Education 106 (2017), 166–171.
[350]
Gabor Kiss and Zuzanna Arki. 2017. The influence of game-based programming education on the algorithmic thinking. Procedia—Social and Behavioral Sciences 237 (2017), 613–617.
[351]
Yoshihiro Kita, Tetsuro Katayama, and Shigeyuki Tomita. 2007. Implementation and evaluation of an automatic visualization tool “PGT” for programming education. In 5th ACIS International Conference on Software Engineering Research, Management & Applications (SERA 2007). IEEE, 213–220.
[352]
Barbara Kitchenham. 2004. Procedures for performing systematic reviews. Keele, UK, Keele University 33, 2004 (2004), 1–26.
[353]
Antti Knutas, Jouni Ikonen, Uolevi Nikula, and Jari Porras. 2014. Increasing collaborative communications in a programming course with gamification: a case study. In Proceedings of the 15th International Conference on Computer Systems and Technologies (CompSysTech ’14). ACM, New York, NY, USA, 370– 377.
[354]
A. J. Ko. 2003. Preserving non-programmers’ motivation with errorprevention and debugging support tools. In IEEE Symposium on Human Centric Computing Languages and Environments, 2003. Proceedings. 2003. IEEE, 271– 272.
[355]
Andrew J. Ko. 2009. Attitudes and self-efficacy in young adults’ computing autobiographies. In IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC ’09). IEEE, 67–74.
[356]
[357]
Andrew J. Ko and Brad A. Myers. 2008. Debugging reinvented: asking and answering why and why not questions about program behavior. In Proceedings of the 30th International Conference on Software Engineering (ICSE ’08). ACM, New York, NY, USA, 301–310.
[358]
Yousun Ko, Bernd Burgstaller, and Bernhard Scholz. 2013. Parallel from the beginning: the case for multicore programming in the computer science undergraduate curriculum. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE ’13). ACM, New York, NY, USA, 415–420.
[359]
Kimberle Koile and David Singer. 2006. Improving learning in CS1 via tablet-pc-based in-class assessment. In Proceedings of the Second International Workshop on Computing Education Research (ICER ’06). ACM, New York, NY, USA, 119–126.
[360]
Michael Kölling. 2008. Using BlueJ to introduce programming. In Reflections on the Teaching of Programming, Jens Bennedsen, Michael E. Caspersen, and Michael Kölling (Eds.). Springer, Berlin, Heidelberg, 98–115. 1007/978-3-540-77934-6_9
[361]
Steven Kollmansberger. 2010. Helping students build a mental model of computation. In Proceedings of the Fifteenth Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE ’10). ACM, New York, NY, USA, 128–131.
[362]
Mario Konecki, Sandra Lovrenčić, and Matija Kaniški. 2016. Using real projects as motivators in programming education. In 39th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO ’16). IEEE, 883–886. 2016.7522264
[363]
Yana Kortsarts and Yulia Kempner. 2012. Enriching introductory programming courses with non-intuitive probability experiments component. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE ’12). ACM, New York, NY, USA, 128–131.
[364]
Aditi Kothiyal, Rwitajit Majumdar, Sahana Murthy, and Sridhar Iyer. 2013. Effect of think-pair-share in a large CS1 class: 83% sustained engagement. In Proceedings of the Ninth Annual International ACM Conference on International Computing Education Research (ICER ’13). ACM, New York, NY, USA, 137–144.
[365]
Aditi Kothiyal, Sahana Murthy, and Sridhar Iyer. 2014. Think-pair-share in a large CS1 class: does learning really happen?. In Proceedings of the 2014 Conference on Innovation & Technology in Computer Science Education (ITiCSE ’14). ACM, New York, NY, USA, 51–56.
[366]
[367]
Theodora Koulouri, Stanislao Lauria, and Robert D. Macredie. 2014. Teaching introductory programming: a quantitative evaluation of different approaches. Trans. Comput. Educ. 14, 4, Article 26 (2014), 26:1–26:28 pages.
[368]
Svetlana Kouznetsova. 2007. Using bluej and blackjack to teach object-oriented design concepts in CS1. J. Comput. Sci. Coll. 22, 4 (2007), 49–55. http://dl.acm. org/citation.cfm?id=1229637.1229646
[369]
Feng-Yang Kuo, Wen-Hsiung Wu, and Cathy S Lin. 2013. An investigation of self-regulatory mechanisms in learning to program Visual Basic. Journal of Educational Computing Research 49, 2 (2013), 225–247. EC.49.2.f
[370]
Jaakko Kurhila and Arto Vihavainen. 2011. Management, structures and tools to scale up personal advising in large programming courses. In Proceedings of the 2011 Conference on Information Technology Education (SIGITE ’11). ACM, New York, NY, USA, 3–8. ITiCSE ’18 Companion, July 2–4, 2018, Larnaca, Cyprus Luxton-Reilly et al.
[371]
Lisa L. Lacher and Mark C. Lewis. 2015. The effectiveness of video quizzes in a flipped class. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (SIGCSE ’15). ACM, New York, NY, USA, 224–228.
[372]
Essi Lahtinen and Tuukka Ahoniemi. 2007. Annotations for defining interactive instructions to interpreter based program visualization tools. Electronic Notes in Theoretical Computer Science 178 (2007), 121–128. entcs.2007.01.041
[373]
Essi Lahtinen and Tuukka Ahoniemi. 2009. Kick-start activation to novice programming — a visualization-based approach. Electronic Notes in Theoretical Computer Science 224 (2009), 125–132. 056
[374]
Essi Lahtinen, Kirsti Ala-Mutka, and Hannu-Matti Järvinen. 2005. A study of the difficulties of novice programmers. In Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE ’05). ACM, New York, NY, USA, 14–18.
[375]
[376]
Chien-Hung Lai, Wei-Ching Lin, Bin-Shyan Jong, and Yen-Teh Hsia. 2013. Java assist learning system for assisted learning on facebook. In Learning and Teaching in Computing and Engineering (LaTiCE ’13). IEEE, 77–82.
[377]
Antti-Jussi Lakanen, Vesa Lappalainen, and Ville Isomöttönen. 2015. Revisiting rainfall to explore exam questions and performance on CS1. In Proceedings of the 15th Koli Calling Conference on Computing Education Research (Koli Calling ’15). ACM, New York, NY, USA, 40–49.
[378]
Maria S. W. Lam, Eric Y. K. Chan, Victor C. S. Lee, and Y. T. Yu. 2008. Designing an automatic debugging assistant for improving the learning of computer programming. In International Conference on Hybrid Learning and Education (ICHL ’08). Springer, Berlin, Heidelberg, 359–370. 978-3-540-85170-7_32
[379]
H Chad Lane and Kurt VanLehn. 2004. A dialogue-based tutoring system for beginning programming. In Proceedings of the Seventeenth International Florida Artificial Intelligence Research Society Conference (FLAIRS ’04), Vol. 2. AAAI, 449–454. http://www.aaai.org/Papers/FLAIRS/2004/Flairs04-078.pdf
[380]
Vesa Lappalainen, Antti-Jussi Lakanen, and Harri Högmander. 2017. Towards computer-based exams in CS1. In Proceedings of the 9th International Conference on Computer Supported Education (CSEDU ’17), Vol. 2. SciTePress, 125–136.
[381]
Patricia Lasserre and Carolyn Szostak. 2011. Effects of team-based learning on a CS1 course. In Proceedings of the 16th Annual Joint Conference on Innovation and Technology in Computer Science Education (ITiCSE ’11). ACM, New York, NY, USA, 133–137.
[382]
Matti Lattu, Veijo Meisalo, and Jorma Tarhio. 2003. A visualisation tool as a demonstration aid. Computers & Education 41, 2 (2003), 133–148.
[383]
Celine Latulipe, N. Bruce Long, and Carlos E. Seminario. 2015. Structuring flipped classes with lightweight teams and gamification. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (SIGCSE ’15). ACM, New York, NY, USA, 392–397.
[384]
Tom Lauwers, Illah Nourbakhsh, and Emily Hamner. 2009. CSbots: design and deployment of a robot designed for the CS1 classroom. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (SIGCSE ’09). ACM, New York, NY, USA, 428–432.
[385]
Kris M.Y. Law, Victor C.S. Lee, and Y.T. Yu. 2010. Learning motivation in elearning facilitated computer programming courses. Computers & Education 55, 1 (2010), 218–228.
[386]
Michael J Lee, Faezeh Bahmani, Irwin Kwan, Jilian LaFerte, Polina Charters, Amber Horvath, Fanny Luor, Jill Cao, Catherine Law, Michael Beswetherick, et al. 2014. Principles of a debugging-first puzzle game for computing education. In IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2014). IEEE, 57–64.
[387]
Juho Leinonen, Leo Leppänen, Petri Ihantola, and Arto Hellas. 2017. Comparison of time metrics in programming. In Proceedings of the 2017 ACM Conference on International Computing Education Research (ICER ’17). ACM, New York, NY, USA, 200–208.
[388]
Noel LeJeune. 2010. Contract grading with mastery learning in CS 1. J. Comput. Sci. Coll. 26, 2 (2010), 149–156. http://dl.acm.org/citation.cfm?id= 1858583.1858604
[389]
Ronald Leppan, Charmain Cilliers, and Marinda Taljaard. 2007. Supporting CS1 with a program beacon recognition tool. In Proceedings of the 2007 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists on IT Research in Developing Countries (SAICSIT ’07). ACM, New York, NY, USA, 66–75. 1292491.1292499
[390]
Leo Leppänen, Juho Leinonen, Petri Ihantola, and Arto Hellas. 2017. Predicting academic success based on learning material usage. In Proceedings of the 18th Annual Conference on Information Technology Education (SIGITE ’17). ACM, New York, NY, USA, 13–18.
[391]
Chuck Leska and John Rabung. 2005. Refactoring the CS1 course. J. Comput. Sci. Coll. 20, 3 (2005), 6–18. http://dl.acm.org/citation.cfm?id=1040196.1040199
[392]
Colleen M. Lewis, Ken Yasuhara, and Ruth E. Anderson. 2011. Deciding to major in computer science: a grounded theory of students’ self-assessment of ability. In Proceedings of the Seventh International Workshop on Computing Education Research (ICER ’11). ACM, New York, NY, USA, 3–10. org/10.1145/2016911.2016915
[393]
Hai-Ning Liang, Charles Fleming, Ka Lok Man, and Tammam Tillo. 2013. A first introduction to programming for first-year students at a Chinese university using LEGO MindStorms. In Proceedings of IEEE International Conference on Teaching, Assessment and Learning for Engineering (TALE ’13). IEEE, 233–238.
[394]
Soohyun Nam Liao, Daniel Zingaro, Michael A. Laurenzano, William G. Griswold, and Leo Porter. 2016. Lightweight, early identification of at-risk CS1 students. In Proceedings of the 2016 ACM Conference on International Computing Education Research (ICER ’16). ACM, New York, NY, USA, 123–131.
[395]
Derrell Lipman. 2014. LearnCS!: a new, browser-based C programming environment for CS1. J. Comput. Sci. Coll. 29, 6 (2014), 144–150. http://dl.acm.org/ citation.cfm?id=2602724.2602752
[396]
Alex Lishinski, Aman Yadav, and Richard Enbody. 2017. Students’ emotional reactions to programming projects in introduction to programming: measurement approach and influence on learning outcomes. In Proceedings of the 2017 ACM Conference on International Computing Education Research (ICER ’17). ACM, New York, NY, USA, 30–38.
[397]
Alex Lishinski, Aman Yadav, Richard Enbody, and Jon Good. 2016. The influence of problem solving abilities on students’ performance on different assessment tasks in CS1. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (SIGCSE ’16). ACM, New York, NY, USA, 329– 334.
[398]
Alex Lishinski, Aman Yadav, Jon Good, and Richard Enbody. 2016. Learning to program: gender differences and interactive effects of students’ motivation, goals, and self-efficacy on performance. In Proceedings of the 2016 ACM Conference on International Computing Education Research (ICER ’16). ACM, New York, NY, USA, 211–220.
[399]
Raymond Lister. 2004. Teaching Java first: experiments with a pigs-early pedagogy. In Proceedings of the Sixth Australasian Conference on Computing Education — Volume 30 (ACE ’04). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 177–183. http://dl.acm.org/citation.cfm?id= 979968.979992
[400]
Raymond Lister. 2005. One small step toward a culture of peer review and multi-institutional sharing of educational resources: a multiple choice exam for first semester programming students. In Proceedings of the 7th Australasian Conference on Computing Education — Volume 42 (ACE ’05). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 155–164. http://dl.acm.org/citation.cfm?id=1082424.1082444
[401]
Raymond Lister. 2011. Concrete and other neo-piagetian forms of reasoning in the novice programmer. In Proceedings of the Thirteenth Australasian Computing Education Conference — Volume 114 (ACE ’11). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 9–18. http://dl.acm.org/ citation.cfm?id=2459936.2459938
[402]
Raymond Lister, Elizabeth S Adams, Sue Fitzgerald, William Fone, John Hamer, Morten Lindholm, Robert McCartney, Jan Erik Moström, Kate Sanders, Otto Seppälä, et al. 2004. A multi-national study of reading and tracing skills in novice programmers. In Working Group Reports from ITiCSE on Innovation and Technology in Computer Science Education (ITiCSE-WGR ’04). ACM, New York, NY, USA, 119–150.
[403]
Raymond Lister, Colin Fidge, and Donna Teague. 2009. Further evidence of a relationship between explaining, tracing and writing skills in introductory programming. In Proceedings of the 14th Annual ACM SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE ’09). ACM, New York, NY, USA, 161–165.
[404]
Raymond Lister and John Leaney. 2003. Introductory programming, criterionreferencing, and Bloom. In Proceedings of the 34th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’03). ACM, New York, NY, USA, 143–147.
[405]
Stanislav Litvinov, Marat Mingazov, Vladislav Myachikov, Vladimir Ivanov, Yuliya Palamarchuk, Pavel Sozonov, and Giancarlo Succi. 2017. A tool for visualizing the execution of programs and stack traces especially suited for novice programmers. In Proceedings of the 12th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE 2017). Springer International Publishing, 235–240.
[406]
Matija Lokar and Matija Pretnar. 2015. A low overhead automated service for teaching programming. In Proceedings of the 15th Koli Calling Conference on Computing Education Research (Koli Calling ’15). ACM, New York, NY, USA, 132–136. Introductory Programming: A Systematic Literature Review ITiCSE ’18 Companion, July 2–4, 2018, Larnaca, Cyprus
[407]
Dastyni Loksa and Andrew J. Ko. 2016. The role of self-regulation in programming problem solving process and success. In Proceedings of the 2016 ACM Conference on International Computing Education Research (ICER ’16). ACM, New York, NY, USA, 83–91.
[408]
Mike Lopez, Jacqueline Whalley, Phil Robbins, and Raymond Lister. 2008. Relationships between reading, tracing and writing skills in introductory programming. In Proceedings of the Fourth International Workshop on Computing Education Research (ICER ’08). ACM, New York, NY, USA, 101–112.
[409]
Ellie Lovellette, John Matta, Dennis Bouvier, and Roger Frye. 2017. Just the numbers: an investigation of contextualization of problems for novice programmers. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’17). ACM, New York, NY, USA, 393–398.
[410]
Andrew K. Lui, Yannie H. Y. Cheung, and Siu Cheung Li. 2008. Leveraging students’ programming laboratory work as worked examples. SIGCSE Bull. 40, 2 (2008), 69–73.
[411]
Evelyn Lulis and Reva Freedman. 2011. Validating an instructor rating scale for the difficulty of CS1 test items in C++. J. Comput. Sci. Coll. 27, 2 (2011), 85–91. http://dl.acm.org/citation.cfm?id=2038836.2038847
[412]
Harri Luoma, Essi Lahtinen, and Hannu-Matti Järvinen. 2007. CLIP, a command line interpreter for a subset of C++. In Proceedings of the Seventh Baltic Sea Conference on Computing Education Research — Volume 88 (Koli Calling ’07). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 199–202. http://dl.acm.org/citation.cfm?id=2449323.2449351
[413]
Andrew Luxton-Reilly. 2016. Learning to program is easy. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’16). ACM, New York, NY, USA, 284–289. 1145/2899415.2899432
[414]
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 2017 ITiCSE Conference on Working Group Reports (ITiCSE-WGR ’17). ACM, New York, NY, USA, 47–69.
[415]
Andrew Luxton-Reilly and Paul Denny. 2009. A simple framework for interactive games in CS1. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (SIGCSE ’09). ACM, New York, NY, USA, 216–220.
[416]
Andrew Luxton-Reilly and Andrew Petersen. 2017. The compound nature of novice programming assessments. In Proceedings of the Nineteenth Australasian Computing Education Conference (ACE ’17). ACM, New York, NY, USA, 26–35.
[417]
Marianne Lykke, Mayela Coto, Sonia Mora, Niels Vandel, and Christian Jantzen. 2014. Motivating programming students by problem based learning and LEGO robots. In IEEE Global Engineering Education Conference (EDUCON ’14). IEEE, 544–555.
[418]
Linxiao Ma, John Ferguson, Marc Roper, Isla Ross, and Murray Wood. 2009. Improving the mental models held by novice programmers using cognitive conflict and Jeliot visualisations. In Proceedings of the 14th Annual ACM SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE ’09). ACM, New York, NY, USA, 166–170. 1562877.1562931
[419]
Linxiao Ma, John Ferguson, Marc Roper, and Murray Wood. 2007. Investigating the viability of mental models held by novice programmers. In Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’07). ACM, New York, NY, USA, 499–503. 1227310.1227481
[420]
Linxiao Ma, John Ferguson, Marc Roper, and Murray Wood. 2011. Investigating and improving the models of programming concepts held by novice programmers. Computer Science Education 21, 1 (2011), 57–80. 08993408.2011.554722
[421]
Sandra Madison and James Gifford. 2002. Modular programming: novice misconceptions. Journal of Research on Technology in Education 34, 3 (2002), 217–229.
[422]
Qusay H. Mahmoud, Wlodek Dobosiewicz, and David Swayne. 2004. Redesigning introductory computer programming with HTML, JavaScript, and Java. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’04). ACM, New York, NY, USA, 120–124.
[423]
Qusay H Mahmoud and Pawel Popowicz. 2010. A mobile application development approach to teaching introductory programming. In IEEE Frontiers in Education Conference (FIE ’10). IEEE, T4F–1–T4F–6. FIE.2010.5673608
[424]
Mirna Carelli Oliveira Maia, Dalton Serey, and Jorge Figueiredo. 2017. Learning styles in programming education: a systematic mapping study. In IEEE Frontiers in Education Conference (FIE ’17). IEEE, 1–7.
[425]
[426]
L. Major, T. Kyriacou, and O. P. Brereton. 2012. Systematic literature review: teaching novices programming using robots. In IET Software, Vol. 6. IET, 502– 513. Issue 6.
[427]
David J. Malan. 2010. Reinventing CS50. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education (SIGCSE ’10). ACM, New York, NY, USA, 152–156.
[428]
Mercy Maleko, Margaret Hamilton, and Daryl D’Souza. 2012. Novices’ perceptions and experiences of a mobile social learning environment for learning of programming. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE ’12). ACM, New York, NY, USA, 285–290.
[429]
Mercy Maleko, Dip Nandi, Margaret Hamilton, Daryl D’Souza, and James Harland. 2013. Facebook versus Blackboard for supporting the learning of programming in a fully online course: the changing face of computing education. In Learning and Teaching in Computing and Engineering (LaTiCE ’13). IEEE, 83–89.
[430]
Lauri Malmi, Judy Sheard, Simon, Roman Bednarik, Juha Helminen, Päivi Kinnunen, Ari Korhonen, Niko Myller, Juha Sorva, and Ahmad Taherkhani. 2014. Theoretical underpinnings of computing education research: what is the evidence?. In Proceedings of the Tenth Annual Conference on International Computing Education Research (ICER ’14). ACM, New York, NY, USA, 27–34.
[431]
Linda Mannila and Michael de Raadt. 2006. An objective comparison of languages for teaching introductory programming. In Proceedings of the 6th Baltic Sea Conference on Computing Education Research: Koli Calling 2006 (Koli Calling ’06). ACM, New York, NY, USA, 32–37. 1315803.1315811
[432]
Guillaume Marceau, Kathi Fisler, and Shriram Krishnamurthi. 2011. Measuring the effectiveness of error messages designed for novice programmers. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (SIGCSE ’11). ACM, New York, NY, USA, 499–504.
[433]
Jakeline Marcos-Abed. 2014. Using a COAC# for CS1. In Proceedings of the Western Canadian Conference on Computing Education (WCCCE ’14). ACM, New York, NY, USA, Article 10, 10:1–10:3 pages.
[434]
[435]
Stefanie A. Markham. 2009. Expanding security awareness in introductory computer science courses. In Information Security Curriculum Development Conference (InfoSecCD ’09). ACM, New York, NY, USA, 27–31.
[436]
Stefanie A. Markham and K. N. King. 2010. Using personal robots in CS1: experiences, outcomes, and attitudinal influences. In Proceedings of the Fifteenth Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE ’10). ACM, New York, NY, USA, 204–208.
[437]
Tanya Markow, Eugene Ressler, and Jean Blair. 2006. Catch that speeding turtle: latching onto fun graphics in CS1. Ada Lett. XXVI, 3 (2006), 29–34.
[438]
Will Marrero and Amber Settle. 2005. Testing first: emphasizing testing in early programming courses. In Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE ’05). ACM, New York, NY, USA, 4–8.
[439]
Chris Martin, Janet Hughes, and John Richards. 2017. Learning experiences in programming: the motivating effect of a physical interface. In Proceedings of the 9th International Conference on Computer Supported Education, Vol. 1. SCITEPRESS, 162–172.
[440]
José Alfredo Martínez-Valdés, J. Ángel Velázquez-Iturbide, and Raquel Hijón-Neira. 2017. A (relatively) unsatisfactory experience of use of Scratch in CS1. In Proceedings of the 5th International Conference on Technological Ecosystems for Enhancing Multiculturality (TEEM ’17). ACM, New York, NY, USA, Article 8, 8:1–8:7 pages.
[441]
Raina Mason and Simon. 2017. Introductory programming courses in Australasia in 2016. In Proceedings of the Nineteenth Australasian Computing Education Conference (ACE ’17). ACM, New York, NY, USA, 81–89. 1145/3013499.3013512
[442]
Ásrún Matthíasdóttir and Hallgrímur Arnalds. 2016. E-assessment: students’ point of view. In Proceedings of the 17th International Conference on Computer Systems and Technologies (CompSysTech ’16). ACM, New York, NY, USA, 369– 374.
[443]
Sarah Matzko and Timothy A. Davis. 2006. Teaching CS1 with graphics and C. In Proceedings of the 11th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITICSE ’06). ACM, New York, NY, USA, 168–172.
[444]
Bruce A. Maxwell and Stephanie R. Taylor. 2017. Comparing outcomes across different contexts in CS1. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’17). ACM, New York, NY, USA, 399–403. ITiCSE ’18 Companion, July 2–4, 2018, Larnaca, Cyprus Luxton-Reilly et al.
[445]
Brendan McCane, Claudia Ott, Nick Meek, and Anthony Robins. 2017. Mastery learning in introductory programming. In Proceedings of the Nineteenth Australasian Computing Education Conference (ACE ’17). ACM, New York, NY, USA, 1–10.
[446]
Renée McCauley, Christopher Starr, Walter Pharr, RoxAnn Stalvey, and George Pothering. 2006. Is CS1 better with the same lecture and lab instructor? SIGCSE Bull. 38, 2 (2006), 54–60.
[447]
Ian McChesney. 2016. Three years of student pair programming: action research insights and outcomes. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (SIGCSE ’16). ACM, New York, NY, USA, 84– 89.
[448]
Michael McCracken, Vicki Almstrum, Danny Diaz, Mark Guzdial, Dianne Hagan, Yifat Ben-David Kolikant, Cary Laxer, Lynda Thomas, Ian Utting, and Tadeusz Wilusz. 2001. A multi-national, multi-institutional study of assessment of programming skills of first-year CS students. In ITiCSE Working Group Reports (ITiCSE-WGR 2001). ACM, New York, NY, USA, 125–180. 1145/572139.572181
[449]
Charlie McDowell, Linda Werner, Heather E. Bullock, and Julian Fernald. 2003. The impact of pair programming on student performance, perception and persistence. In Proceedings of the 25th International Conference on Software Engineering (ICSE ’03). IEEE Computer Society, Washington, DC, USA, 602–607. http://dl.acm.org/citation.cfm?id=776816.776899
[450]
Aidan McGowan, Philip Hanna, and Neil Anderson. 2016. Teaching programming: understanding lecture capture YouTube analytics. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’16). ACM, New York, NY, USA, 35–40. 1145/2899415.2899421
[451]
Fraser McKay and Michael Kölling. 2013. Predictive modelling for HCI problems in novice program editors. In Proceedings of the 27th International BCS Human Computer Interaction Conference (BCS-HCI ’13). British Computer Society, Swinton, UK, UK, Article 35, 35:1–35:6 pages. http://dl.acm.org/citation. cfm?id=2578048.2578092
[452]
Jim McKeown. 2004. The use of a multimedia lesson to increase novice programmers’ understanding of programming array concepts. J. Comput. Sci. Coll. 19, 4 (2004), 39–50. http://dl.acm.org/citation.cfm?id=1050231.1050236
[453]
Dawn McKinney and Leo F. Denton. 2004. Houston, we have a problem: there’s a leak in the CS1 affective oxygen tank. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’04). ACM, New York, NY, USA, 236–239.
[454]
Dawn McKinney and Leo F. Denton. 2005. Affective assessment of team skills in agile CS1 labs: the good, the bad, and the ugly. In Proceedings of the 36th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’05). ACM, New York, NY, USA, 465–469.
[455]
Dawn McKinney and Leo F. Denton. 2006. Developing collaborative skills early in the CS curriculum in a laboratory environment. In Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’06). ACM, New York, NY, USA, 138–142.
[456]
Kirby McMaster, Brian Rague, Samuel Sambasivam, and Stuart Wolthuis. 2016. Coverage of CS1 programming concepts in C++ and Java textbooks. In IEEE Frontiers in Education Conference (FIE ’16). IEEE, 1–8. FIE.2016.7757618
[457]
William Isaac McWhorter and Brian C. O’Connor. 2009. Do LEGO® Mindstorms® motivate students in CS1?. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (SIGCSE ’09). ACM, New York, NY, USA, 438–442.
[458]
R. P. Medeiros, G. L. Ramalho, and T. P. Falcão. 2018. A systematic literature review on teaching and learning introductory programming in higher education. IEEE Transactions on Education (2018), 1–14.
[459]
[460]
Paola Medel and Vahab Pournaghshband. 2017. Eliminating gender bias in computer science education materials. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’17). ACM, New York, NY, USA, 411–416.
[461]
M. Dee Medley. 2007. Inquiry-based learning in CS1. J. Comput. Sci. Coll. 23, 2 (2007), 209–215. http://dl.acm.org/citation.cfm?id=1292428.1292464
[462]
Andréa Mendonça, Clara de Oliveira, Dalton Guerrero, and Evandro Costa. 2009. Difficulties in solving ill-defined problems: a case study with introductory computer programming students. In IEEE Frontiers in Education Conference (FIE ’09). IEEE, 1–6.
[463]
Alexander Mentis, Charles Reynolds, Donald Abbott-McCune, and Benjamin Ring. 2009. Cementing abstraction with a concrete application: a focused use of robots in CS1. In Proceedings of ASEE Annual Conference and Exposition. 14.
[464]
László Menyhárt and Gáborné Pap. 2014. Presentation of improved version of guide application for teaching programming fundamentals. In Proceedings on 7th International Multi-Conference on Engineering and Technological Innovation (IMETI ’14). IIIS, 77–82.
[465]
Michael A. Miljanovic and Jeremy S. Bradbury. 2017. Robobug: a serious game for learning debugging techniques. In Proceedings of the 2017 ACM Conference on International Computing Education Research (ICER ’17). ACM, New York, NY, USA, 93–100.
[466]
Alexander Miller, Stuart Reges, and Allison Obourn. 2017. jGRASP: a simple, visual, intuitive programming environment for CS1 and CS2. ACM Inroads 8, 4 (2017), 53–58.
[467]
Bradley N. Miller and David L. Ranum. 2012. Beyond PDF and epub: toward an interactive textbook. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE ’12). ACM, New York, NY, USA, 150–155.
[468]
L. D. Miller, Leen-Kiat Soh, Vlad Chiriacescu, Elizabeth Ingraham, Duane F. Shell, and Melissa Patterson Hazley. 2014. Integrating computational and creative thinking to improve learning and performance in CS1. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE ’14). ACM, New York, NY, USA, 475–480.
[469]
Claudio Mirolo. 2012. Is iteration really easier to learn than recursion for CS1 students?. In Proceedings of the Ninth Annual International Conference on International Computing Education Research (ICER ’12). ACM, New York, NY, USA, 99–104.
[470]
Ananya Misra, Douglas Blank, and Deepak Kumar. 2009. A music context for teaching introductory computing. In Proceedings of the 14th Annual ACM SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE ’09). ACM, New York, NY, USA, 248–252. 1145/1562877.1562955
[471]
Behram F.T. Mistree, Bhupesh Chandra, Ewen Cheslack-Postava, Philip Levis, and David Gay. 2011. Emerson: accessible scripting for applications in an extensible virtual world. In Proceedings of the 10th SIGPLAN Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! 2011). ACM, New York, NY, USA, 77–90. 2048237.2048247
[472]
Phatludi Modiba, Vreda Pieterse, and Bertram Haskins. 2016. Evaluating plagiarism detection software for introductory programming assignments. In Proceedings of the Computer Science Education Research Conference 2016 (CSERC ’16). ACM, New York, NY, USA, 37–46.
[473]
[474]
Susana Montero, Paloma Díaz, David Díez, and Ignacio Aedo. 2010. Dual instructional support materials for introductory object-oriented programming: classes vs. objects. In IEEE Education Engineering Conference (EDUCON ’10). IEEE, 1929–1934.
[475]
Jan Moons and Carlos De Backer. 2009. Rationale behind the design of the EduVisor software visualization component. Electronic Notes in Theoretical Computer Science 224 (2009), 57–65.
[476]
Anmol More, Jitendra Kumar, and VG Renumol. 2011. Web based programming assistance tool for novices. In IEEE International Conference on Technology for Education (T4E ’11). IEEE, 270–273.
[477]
Andrés Moreno, Niko Myller, Erkki Sutinen, and Mordechai Ben-Ari. 2004. Visualizing programs with Jeliot 3. In Proceedings of the Working Conference on Advanced Visual Interfaces (AVI ’04). ACM, New York, NY, USA, 373–376.
[478]
Michael Morgan, Jane Sinclair, Matthew Butler, Neena Thota, Janet Fraser, Gerry Cross, and Jana Jackova. 2017. Understanding international benchmarks on student engagement: awareness and research alignment from a computer science perspective. In Proceedings of the 2017 ITiCSE Conference on Working Group Reports (ITiCSE-WGR ’17). ACM, New York, NY, USA, 1–24. org/10.1145/3174781.3174782
[479]
Sally H. Moritz, Fang Wei, Shahida M. Parvez, and Glenn D. Blank. 2005. From objects-first to design-first with multimedia and intelligent tutoring. In Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE ’05). ACM, New York, NY, USA, 99–103.
[480]
Barbara Moskal, Deborah Lurie, and Stephen Cooper. 2004. Evaluating the effectiveness of a new instructional approach. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’04). ACM, New York, NY, USA, 75–79.
[481]
Frank Mueller and Antony L. Hosking. 2003. Penumbra: an Eclipse plugin for introductory programming. In Proceedings of the 2003 OOPSLA Workshop on Eclipse Technology eXchange (Eclipse ’03). ACM, New York, NY, USA, 65–68.
[482]
Andreas Mühling, Peter Hubwieser, and Marc Berges. 2015. Dimensions of programming knowledge. In International Conference on Informatics in Schools: Situation, Evolution, and Perspectives (ISSEP 2015). Springer, Cham, 32–44.
[483]
Paul Mullins, Deborah Whitfield, and Michael Conlon. 2009. Using Alice 2.0 as a first language. J. Comput. Sci. Coll. 24, 3 (2009), 136–143. http://dl.acm.org/ citation.cfm?id=1409873.1409900
[484]
Jonathan P. Munson and Elizabeth A. Schilling. 2016. Analyzing novice programmers’ response to compiler error messages. J. Comput. Sci. Coll. 31, 3 (2016), 53–61. http://dl.acm.org/citation.cfm?id=2835377.2835386 Introductory Programming: A Systematic Literature Review ITiCSE ’18 Companion, July 2–4, 2018, Larnaca, Cyprus
[485]
Surya Muntha and Larry Morell. 2006. Adding object-orientation to Genesis. J. Comput. Sci. Coll. 21, 5 (2006), 101–106. http://dl.acm.org/citation.cfm?id= 1127351.1127369
[486]
Christian Murphy, Gail Kaiser, Kristin Loveland, and Sahar Hasan. 2009. Retina: helping students and instructors based on observed programming activities. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (SIGCSE ’09). ACM, New York, NY, USA, 178–182.
[487]
Christian Murphy, Eunhee Kim, Gail Kaiser, and Adam Cannon. 2008. Backstop: a tool for debugging runtime errors. In Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’08). ACM, New York, NY, USA, 173–177.
[488]
Laurie Murphy and Lynda Thomas. 2008. Dangers of a fixed mindset: implications of self-theories research for computer science education. In Proceedings of the 13th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE ’08). ACM, New York, NY, USA, 271–275.
[489]
Laurie Murphy and David Wolff. 2009. Creating video podcasts for CS1: lessons learned. J. Comput. Sci. Coll. 25, 1 (2009), 152–158. http://dl.acm.org/citation. cfm?id=1619221.1619252
[490]
Thomas P. Murtagh. 2007. Squint: barely visible library support for CS1. In Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’07). ACM, New York, NY, USA, 526–530.
[491]
Thomas P. Murtagh. 2007. Weaving CS into CS1: a doubly depth-first approach. In Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’07). ACM, New York, NY, USA, 336–340.
[492]
Greg L. Nelson, Benjamin Xie, and Andrew J. Ko. 2017. Comprehension first: evaluating a novel pedagogy and tutoring system for program tracing in CS1. In Proceedings of the 2017 ACM Conference on International Computing Education Research (ICER ’17). ACM, New York, NY, USA, 2–11.
[493]
Vicente Lustosa Neto, Roberta Coelho, Larissa Leite, Dalton S. Guerrero, and Andrea P. Mendonça. 2013. POPT: a problem-oriented programming and testing approach for novice students. In Proceedings of the 2013 International Conference on Software Engineering (ICSE ’13). IEEE Press, Piscataway, NJ, USA, 1099–1108. http://dl.acm.org/citation.cfm?id=2486788.2486939
[494]
Paul Neve, Gordon Hunter, David Livingston, and James Orwell. 2012. NoobLab: an intelligent learning environment for teaching programming. In Proceedings of the The 2012 IEEE/WIC/ACM International Joint Conferences on Web Intelligence and Intelligent Agent Technology — Volume 03 (WI-IAT ’12). IEEE Computer Society, Washington, DC, USA, 357–361. WI-IAT.2012.218
[495]
Tia Newhall, Lisa Meeden, Andrew Danner, Ameet Soni, Frances Ruiz, and Richard Wicentowski. 2014. A support program for introductory CS courses that improves student performance and retains students from underrepresented groups. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE ’14). ACM, New York, NY, USA, 433–438.
[496]
Paul Newton and Stuart Shaw. 2014. Validity in educational and psychological assessment. Sage.
[497]
Sin Chun Ng, Steven O Choy, Reggie Kwan, and SF Chan. 2005. A web-based environment to improve teaching and learning of computer programming in distance education. In International Conference on Web-Based Learning (ICWL ’05). Springer, Berlin, Heidelberg, 279–290.
[498]
Grace Ngai, Winnie W.Y. Lau, Stephen C.F. Chan, and Hong-va Leong. 2010. On the implementation of self-assessment in an introductory programming course. SIGCSE Bull. 41, 4 (2010), 85–89.
[499]
Thuy-Linh Nguyen, Dip Nandi, and Geoff Warburton. 2011. Alice in online and on-campus environments — how well is it received?. In Proceedings of Information Systems Educators Conference (ISECON ’11).
[500]
Uolevi Nikula, Orlena Gotel, and Jussi Kasurinen. 2011. A motivation guided holistic rehabilitation of the first programming course. Trans. Comput. Educ. 11, 4, Article 24 (2011), 24:1–24:38 pages.
References 501 through 768 have been omitted.

Cited By

View all
  • (2025)Programming Fun(damentals): Using commercial video games to teach basic coding to adult learnersEntertainment Computing10.1016/j.entcom.2024.10085052(100850)Online publication date: Jan-2025
  • (2024)Self-Explanation Effect of Cognitive Load Theory in Teaching Basic ProgrammingJournal of Information Systems Education10.62273/GMIV169835:3(303-312)Online publication date: 2024
  • (2024)Factores clave que influyen en el aprendizaje inicial de la programación de computadorasKey factors influencing initial learning in computer programmingRevista Científica de Sistemas e Informática10.51252/rcsi.v4i2.7434:2(e743)Online publication date: 10-Jul-2024
  • Show More Cited By

Index Terms

  1. Introductory programming: a systematic literature review

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ITiCSE 2018 Companion: Proceedings Companion of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education
    July 2018
    235 pages
    ISBN:9781450362238
    DOI:10.1145/3293881
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 02 July 2018

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. CS1
    2. ITiCSE working group
    3. SLR
    4. introductory programming
    5. literature review
    6. novice programming
    7. overview
    8. review
    9. systematic literature review
    10. systematic review

    Qualifiers

    • Research-article

    Conference

    ITiCSE '18
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 552 of 1,613 submissions, 34%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)845
    • Downloads (Last 6 weeks)103
    Reflects downloads up to 13 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2025)Programming Fun(damentals): Using commercial video games to teach basic coding to adult learnersEntertainment Computing10.1016/j.entcom.2024.10085052(100850)Online publication date: Jan-2025
    • (2024)Self-Explanation Effect of Cognitive Load Theory in Teaching Basic ProgrammingJournal of Information Systems Education10.62273/GMIV169835:3(303-312)Online publication date: 2024
    • (2024)Factores clave que influyen en el aprendizaje inicial de la programación de computadorasKey factors influencing initial learning in computer programmingRevista Científica de Sistemas e Informática10.51252/rcsi.v4i2.7434:2(e743)Online publication date: 10-Jul-2024
    • (2024)Evaluating Computational Thinking Based on Game-Based LearningIntegrating Cutting-Edge Technology Into the Classroom10.4018/979-8-3693-3124-8.ch004(56-74)Online publication date: 8-Mar-2024
    • (2024)Microlearning as a Solution to Challenges in Teaching and Learning Introductory Programming CoursesGlobal Perspectives on Micro-Learning and Micro-Credentials in Higher Education10.4018/979-8-3693-0343-6.ch015(257-275)Online publication date: 23-Feb-2024
    • (2024)Exploring the Predictive Potential of Complex Problem-Solving in Computing Education: A Case Study in the Introductory Programming CourseMathematics10.3390/math1211165512:11(1655)Online publication date: 24-May-2024
    • (2024)Searching Questions and Learning Problems in Large Problem Banks: Constructing Tests and Assignments on the FlyComputers10.3390/computers1306014413:6(144)Online publication date: 5-Jun-2024
    • (2024)Multidimensional Framing of Environments Beyond Blocks and Texts in K–12 ProgrammingReview of Educational Research10.3102/00346543231216958Online publication date: 3-Jan-2024
    • (2024)Scaffolded team-based computational modeling and simulation projects for promoting representational competence and regulatory skillsInternational Journal of STEM Education10.1186/s40594-024-00494-311:1Online publication date: 30-Jul-2024
    • (2024)Debugging in Computational Thinking: A Meta-analysis on the Effects of Interventions on Debugging SkillsJournal of Educational Computing Research10.1177/0735633124122779362:4(1087-1121)Online publication date: 20-Jan-2024
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media