Scratching Our Own Itch: Software to Teach Software Programming


Extensive research about the use of software to improve teaching and learning has been done. But this doesn't seem to significantly improve the learning process of the most basic skill in software that is programming skill. This is unfortunate because the nature of programming learning material is full of logic based material and can be automated (and then optimize). Programming is still perceived as a hard subject to learn. Of many approaches that have been taken, this research analyses an adoptable principle, practices, and tools that have been proven to improve programming learning. This research analyses the current state, obstacles, and potential further exploration of technology/software in teaching and learning programming skill.


Software, Programming, teaching and learning


  • [1] Robins A, Rountree J and Rountree N 2003 Learning and Teaching Programming: A Review and Discussion Comput. Sci. Educ. 13 137–72
  • [2] Malik S I and Coldwell-Neilson J 2017 A model for teaching an introductory programming course using ADRI Educ. Inf. Technol. 22 1089–120
  • [3] Lin C, Liu Z, Chang C and Lin Y 2018 A Genetic Algorithm-Based Personalized Remedial Learning System for Learning Object-Oriented Concepts of Java 1–9
  • [4] Howell R and Wong S H S 2018 Making the Most of Repetitive Mistakes : An Investigation into Heuristics for Selecting and Applying Feedback to Programming Coursework 2018 IEEE Int. Conf. Teaching, Assessment, Learn. Eng. 286–93
  • [5] Elaish M M, Ghani N A, Shuib L and Al-haiqi A 2019 Development of a Mobile Game Application to Boost Students ’ Motivation in Learning English Vocabulary IEEE Access 7 13326–37
  • [6] Michala M and Alexakos C Mobile Applications and Games for a Digital Educational Program on Art and Culture in Secondary School 2018 9th Int. Conf. Information, Intell. Syst. Appl. 1–6
  • [7] Suselo T and Luxton-reilly A 2019 Technologies and Tools to Support Teaching and Learning Computer Graphics A Literature Review 96–105
  • [8] Fraser G, Gambi A, Kreis M and Rojas J M 2019 Gamifying a Software Testing Course with Code Defenders
  • [9] Vial P J, Russel T J, Stirling D, Ros M, Prashan P, Tran L C and Nikolic S 2018 A Java Program for Automatic Team Allocation in Project-Based Course Work 6 185–92
  • [10] Paillard B 2019 Teaching Programming is Hard How to disrupt traditional universities and apply rapid iteration to build the best tech curriculum . 2016 1–7
  • [11] Sajaniemi J and Kuittinen M 2007 An Experiment on Using Roles of Variables in Teaching Introductory Programming Comput. Sci. Educ. 15 59–82
  • [12] de Raadt M 2008 Teaching programming strategies explicitly to novice programmers
  • [13] Ko A J, Latoza T D, Hull S, Ko E A, Kwok W and Quichocho J Teaching Explicit Programming Strategies to Adolescents
  • [14] Moreno A, Sutinen E and Joy M 2014 Defining and evaluating conflictive animations for programming education 629–34
  • [15] D H, Douglas S A and Stasko J T 2002 A Meta-Study of Algorithm Visualization Effectiveness
  • [16] Juárez-ramírez R, Christian X and Macías-olvera R 2018 What is Programming ? Putting all together – A set of skills required 11–20
  • [17] Gordon N, Brayshaw M and Grey S 2019 A Flexible Approach to Introductory Programming: Engaging and motivating students Proc. 3rd Conf. Comput. Educ. Pract. 15
  • [18] Medeiros R P, Ramalho G L and Falcão T P 2018 A Systematic Literature Review on Teaching and Learning Introductory Programming in Higher Education 1–14
  • [19] Ohashi Y 2018 Readiness of Japanese Elementary School Teachers to Begin Computer-Programming Education 2018 IEEE Int. Conf. Teaching, Assessment, Learn. Eng. 807–10
  • [20] Kelly J O and Gibson J P 2006 A non-prescriptive approach to teaching programming ITiCSE 217–21
  • [21] Morrison B B and DiSalvo B 2014 Khan academy gamifies computer science 39–44
  • [22] Miljanovic M A and Bradbury J S 2013 A review of serious games for Programming Diabetes Technol. Ther. 15 A109
  • [23] Grover S, Jackiw N, Lundh P and Grover S 2019 Concepts before coding : non-programming interactives to advance learning of introductory programming concepts in middle school concepts in middle school Comput. Sci. Educ. 00 1–30
  • [24] Pérez-Marín D, Raquel H-N, Romero A and Cruz S 2019 Is the use of Makey Makey Helpful to Teach Programming Concepts to Primary Education Students? Int. J. Online Pedagog. Course Des. 9 15
  • [25] Majherová J and Králík V 2017 Innovative Methods in Teaching Programming for Future Informatics Teachers Eur. J. Contemp. Educ. 6 390–400
  • [26] Haak V, Abke J and Borgeest K 2018 Conception of a Lego Mindstorms EV3 simulation for teaching C in computer science courses IEEE Glob. Eng. Educ. Conf. EDUCON 2018–April 478–83
  • [27] Koulouri T, Lauria S and Macredie R D 2015 Teaching Introductory Programming: A Quantitative Evaluation of Different Approaches ACM Trans. Comput. Educ. 14 26:1–26:28
  • [28] Malik S I, Mathew R and Hammood M M 2019 PROBSOL: A Web-Based Application to Develop Problem Solving Skills in in Introductory Programming (Springer International Publishing)
  • [29] Kalelioǧlu F and Gülbahar Y 2014 The effects of teaching programming via Scratch on problem solving skills: A discussion from learners’ perspective Informatics Educ. 13 33–50
  • [30] Papadakis S, Kalogiannakis M, Orfanakis V and Zaranis N 2017 The Appropriateness of Scratch and App Inventor as Educational Environments for Teaching Introductory Programming in Primary and Secondary Education Int. J. Web-Based Learn. Teach. Technol. 12 58–77
  • [31] Pausch R and Dann W 2000 Alice : a 3-D Tool for Introductory Programming Concepts J. Comput. Sci. Coll. 15 107–16
  • [32] Meerbaum-salant O, Israel R and Ben-ari M 2011 Habits of Programming in Scratch 168–72
  • [33] Yu L, Zhang L, Su X and Liu X 2019 Research on Case Teaching Mode of Programming Course Based on Interdisciplinarity 286 385–8
  • [34] Talib M A, Einea O, Nasir Q, Mowakeh M F and Eltawil M 2019 Enhancing computing studies in high schools: A systematic literature review & UAE case study Heliyon 5 e01235
  • [35] Khaleel F L, Ashaari N S, Wook T S M T and Ismail A 2017 Programming learning requirements based on multi perspectives Int. J. Electr. Comput. Eng. 7 1299–307
  • [36] Vihavainen A, Paksula M and Luukkainen M 2011 Extreme apprenticeship method in teaching programming for beginners 93
  • [37] Rattadilok P and Roadknight C 2018 Improving Student’s Engagement Through the Use of Learning Modules, Instantaneous Feedback and Automated Marking 2018 IEEE Int. Conf. Teaching, Assessment, Learn. Eng. 802–6
  • [38] Hamzah N H, Azha N and Shaari M 2019 Undergraduate Computer Science Students ’ Perception and Motivation : A Feasibility Study and a Proposed Technique for Multimedia Approach in Teaching and Learning Introductory Programming (Springer Singapore)
  • [39] Yeomans L, Zschaler S and Coate K 2018 Transformative and Troublesome ? Students ’ and professional programmers ’ perspectives on di difficult concepts in programming 1 1–27
  • [40] Diego S, Kaczmarczyk L C, East J P, Petrick E R and Herman G L 2010 Identifying Student Misconceptions of Programming 2–6
  • [41] Yong S, Noum E, Sivanesan S K, Pei M, Tay L, Namasivayam S N, Fouladi M H and Loong T H 2018 Integrating Mobile Learning into the Foundation in Engineering Programme 2018 IEEE 10th Int. Conf. Eng. Educ. 196–201
  • [42] Varvara G, Giannakos M N and Chorianopoulos K 2015 Computing education in K-12 schools: A review of the literature IEEE Global Engineering Conference (EDUCON) pp 543–51
  • [43] Jedc L H, Jc I D, Bdg I D, Egd E I H, Dk D C, Dcid H, Ild I D, Ig D G, Edh G Y H, Hj J, Id I, Dc H D, Egdk A A, Egdk G A N, Hij D G, Bda I H, Dbeji D G, Dbeji D C, Hij G H I, Jc G N I D, Jh C I, Egd D G, Hij A A N, Bjhi C I H, Hdak B H I D, Id B H, Ldg I D, Ldg A N and He C 2018 The Potential of Augmented Reality for Computer Science Education 350–6
  • [44] Khine M S 2017 Robotics in STEM Education: Redesigning the Learning Experience Robot. STEM Educ. Redesigning Learn. Exp. 1–262
  • [45] Chetty J and Barlow-Jones G 2018 CODING FOR GIRLS : DISMISSING THE BOYS CLUB MYTH Jacqui Chetty and Glenda Barlow- ­ Jones University of Johannesburg South Africa ICICTE pp 324–35