ABSTRACT
Programming is difficult and requires a lot of work and dedication from the students and teachers. Programming is part of the curriculum of many courses, but especially in computer science, and most teaching and learning is problematic. Despite all the efforts of the researchers, it seems to be difficult to find an effective method of teaching that is suitable for all students. This paper describes a set of possible instructional strategies for teaching and learning and its application to an introductory programming course. The goal of utilizing a smart learning system was to increase student scores, pass rate, and increase efficiency for both students and teachers. The set of instructional strategies based on technology was implemented in an introductory programming course over several academic years. Data were collected and the results are analyzed. The results show that there are significant improvements in the grade distributions, the pass/fail rate, in the interest and participation of the students in the different activities developed throughout the course, greater motivation and passion in solving problems, and the more efficient use of teacher time and effort.
- Ahmadzadeh, M. 2005. An Analysis of Patterns of Debugging Among Novice. ITiCSE ’05 (2005).Google Scholar
- Akkila, A.N. 2019. Survey of Intelligent Tutoring Systems up to the end of 2017. IJARW.Google Scholar
- Álvarez Herrero, J.F. 2020. Computational Thinking in Early Childhood Education, beyond Floor Robots. Education in the Knowledge Society (EKS). 21, (Jul. 2020), 11. DOI:https://doi.org/10.14201/eks.22366.Google Scholar
- Crow, T. 2018. Intelligent Tutoring Systems for Programming Education: A Systematic Review. ACM International Conference Proceeding Series (New York, New York, USA, Jan. 2018), 53–62.Google ScholarDigital Library
- Dekhane, S. 2013. Mobile app development to increase student engagement and problem solving skills. Journal of Information Systems Education. 24, 4 (2013), 299–308.Google Scholar
- Deterding, S. 2011. From game design elements to gamefulness: Defining “gamification.” Proceedings of the 15th International Academic MindTrek Conference: Envisioning Future Media Environments, MindTrek 2011. (2011), 9–15. DOI:https://doi.org/10.1145/2181037.2181040.Google ScholarDigital Library
- Deterding, S. 2012. Gamification: designing for motivation. Interactions. 19, 4 (2012), 14. DOI:https://doi.org/10.1145/2212877.2212883.Google ScholarDigital Library
- Deterding, S. 2011. Gamification: Using game design elements in non-gaming contexts. Conference on Human Factors in Computing Systems - Proceedings. (2011), 2425–2428. DOI:https://doi.org/10.1145/1979742.1979575.Google ScholarDigital Library
- Elshiekh, R. and Butgerit, L. 2017. Using Gamification to Teach Students Programming Concepts. OALib. 04, 08 (2017), 1–7. DOI:https://doi.org/10.4236/oalib.1103803.Google ScholarCross Ref
- Figueiredo, J. 2016. Ne-course for learning programming. Proceedings of the Fourth International Conference on Technological Ecosystems for Enhancing Multiculturality - TEEM ’16 (New York, New York, USA, 2016), 549–553.Google ScholarDigital Library
- Figueiredo, J. 2019. Predicting Student Failure in an Introductory Programming Course with Multiple Back-Propagation. Proceedings of the Seventh International Conference on Technological Ecosystems for Enhancing Multiculturality - TEEM’19 (New York, New York, USA, 2019), 44–49.Google ScholarDigital Library
- Figueiredo, J. and García-peñalvo, F.J. 2020. Increasing student motivation in computer programming with gamification. 2020 IEEE Global Engineering Education Conference (EDUCON) (Porto, 2020), 997–1000.Google ScholarCross Ref
- Figueiredo, J. and García-Peñalvo, F.J. 2018. Building Skills in Introductory Programming. Proceedings of the Sixth International Conference on Technological Ecosystems for Enhancing Multiculturality - TEEM’18 (New York, New York, USA, 2018), 46–50.Google ScholarDigital Library
- Figueiredo, J. and García-Peñalvo, F.J. 2017. Improving Computational Thinking Using Follow and Give Instructions. Proceedings of the 5th International Conference on Technological Ecosystems for Enhancing Multiculturality - TEEM 2017 (New York, New York, USA, 2017), 1–7.Google Scholar
- Figueiredo, J. and García-Peñalvo, F.J. 2019. Teaching and learning strategies of programming for university courses. Proceedings of the Seventh International Conference on Technological Ecosystems for Enhancing Multiculturality - TEEM’19 (New York, New York, USA, 2019), 1020–1027.Google ScholarDigital Library
- Fincher, S. 2005. Computer Science at Kent programming courses. 1 (2005).Google Scholar
- Garcia-Peñalvo, F.J. 2016. What Computational Thinking Is. Journal of Information Technology Research. 9(3), v–vi, October (2016).Google Scholar
- García-Peñalvo, F.J. 2016. TACCLE 3, O5: An overview of the most relevant literature on coding and computational thinking with emphasis on the relevant issues for teachers KA2 project " TACCLE 3 – Coding " (2015-1-BE02-KA201-012307). TACCLE3 Consortium (Belgium, 2016), 72.Google Scholar
- García-Peñalvo, F.J. and Cruz-Benito, J. 2016. Computational thinking in pre-university education. Proceedings of the Fourth International Conference on Technological Ecosystems for Enhancing Multiculturality - TEEM ’16 (New York, New York, USA, 2016), 13–17.Google ScholarDigital Library
- García-Peñalvo, F.J. and Mendes, A.J. 2017. Exploring the computational thinking effects in pre-university education. Computers in Human Behavior. (Dec. 2017). DOI:https://doi.org/10.1016/j.chb.2017.12.005.Google Scholar
- Garcia, D.D. 2016. Rediscovering the passion, beauty, joy, and awe: {Making} computing fun again, part 7. Proceedings of the 47th ACM Technical Symposium on Computer Science Education (SIGCSE ’16). (2016), 273–274. DOI:https://doi.org/10.1145/2538862.2538874.Google ScholarDigital Library
- Gomes, A. and Mendes, A. 2014. A teacher's view about introductory programming teaching and learning: Difficulties, strategies and motivations. 2014 IEEE Frontiers in Education Conference (FIE) Proceedings (Oct. 2014), 1–8.Google ScholarCross Ref
- González-González, C.S. 2019. State of the Art in the Teaching of Computational Thinking and Programming in Childhood Education. Education in the Knowledge Society. 20, (2019), 1–15. DOI:https://doi.org/http://dx.doi.org/10.14201/eks2019_20_a17.Google Scholar
- GONZÁLEZ MARTÍNEZ, J. 2018. ¿Robots o programación? El concepto de Pensamiento Computacional y los futuros maestros. Education in the Knowledge Society (EKS). 19, 2 (Jul. 2018), 29. DOI:https://doi.org/10.14201/eks20181922945.Google Scholar
- Ibanez, M.B. 2014. Gamification for engaging computer science students in learning activities: A case study. IEEE Transactions on Learning Technologies. 7, 3 (2014), 291–301. DOI:https://doi.org/10.1109/TLT.2014.2329293.Google ScholarCross Ref
- Jaime R., C. 1970. AI in CAI: An Artificial-Intelligence Approach to Computer-Assisted Instruction. lEEE TRANSACTIONS ON MAN-MACHINE SYSTEMS. Vol. MMS-1, No. 4 (1970).Google Scholar
- Jenkins, T. 2002. On the Difficulty of Learning to Program. Language. 4, (2002), 53–58. DOI:https://doi.org/10.1109/ISIT.2013.6620675.Google Scholar
- Lahtinen, E. 2005. A study of the difficulties of novice programmers. ACM SIGCSE Bulletin. 37, 3 (Sep. 2005), 14. DOI:https://doi.org/10.1145/1151954.1067453.Google ScholarDigital Library
- Llorens Largo FaraónGarcía-Peñalvo, F.J.P.X.V.E. 2017. La enseñanza de la informática, la programación y el pensamiento computacional en los estudios preuniversitario. Education in the Knowledge Society. (2017).Google Scholar
- López, A. and García-Peñalvo, F. 2020. Evaluación de habilidades del pensamiento computacional para predecir el aprendizaje y retención de estudiantes en la asignatura de programación de computadoras en educación superior. Revista de Educación a Distancia (RED). 20, (2020). DOI:https://doi.org/10.6018/red.409991.Google Scholar
- McCracken, M. 2001. A multi-national, multi-institutional study of assessment of programming skills of first-year CS students. ACM SIGCSE Bulletin. 33, 4 (Dec. 2001), 125. DOI:https://doi.org/10.1145/572139.572181.Google ScholarDigital Library
- Nacke, L.E. 2013. Gamification 2013: Proceedings of the First International Conference on Gameful Design, Research, and Applications: October 2-4, 2013, Stratford, Ontario, Canada. ACM International Conference Proceeding Series. (2013).Google Scholar
- Nwana, H.S. 1990. Intelligent tutoring systems: an overview. Artificial Intelligence Review. 4, 4 (Dec. 1990), 251–277. DOI:https://doi.org/10.1007/BF00168958.Google ScholarCross Ref
- Piteira, M. 2018. Computer Programming Learning: How to Apply Gamification on Online Courses? Journal of Information Systems Engineering & Management. 3, 2 (2018). DOI:https://doi.org/10.20897/jisem.201811.Google ScholarCross Ref
- Queirós, R. 2019. PROud-A gamification framework based on programming exercises usage data. Information (Switzerland). 10, 2 (2019), 1–14. DOI:https://doi.org/10.3390/info10020054.Google Scholar
- Quille, K. and Bergin, S. 2019. CS1: how will they do? How can we help? A decade of research and practice. Computer Science Education. 29, 2–3 (2019), 254–282. DOI:https://doi.org/10.1080/08993408.2019.1612679.Google ScholarCross Ref
- Ramírez Montoya, M.S. 2019. Engagement in the course of programming in higher education through the use of gamification.Google Scholar
- Real-Fernández, A. 2019. Instructional Strategies for a Smart Learning System. Proceedings of the Seventh International Conference on Technological Ecosystems for Enhancing Multiculturality (TEEM 2019). 9, (2019). DOI:https://doi.org/10.1145/3362789.3362915.Google ScholarDigital Library
- Robins, A. 2016. Learning and Teaching Programming: A Review and Discussion. 3408, April (2016), 37–41. DOI:https://doi.org/10.1076/csed.13.2.137.14200.Google Scholar
- Shuhidan, S. 2009. A taxonomic study of novice programming summative assessment. Conferences in Research and Practice in Information Technology Series. 95, (2009), 147–156.Google Scholar
- Song, J.S. 1997. An intelligent tutoring system for introductory C language course. Computers & Education. 28, 2 (Feb. 1997), 93–102. DOI:https://doi.org/10.1016/S0360-1315(97)00003-1.Google ScholarDigital Library
- Wing, J.M. 2006. Computational thinking. Communications of the ACM. 49, 3 (Mar. 2006), 33. DOI:https://doi.org/10.1145/1118178.1118215.Google ScholarDigital Library
- Zapata-Ros, M. 2019. Computational Thinking Unplugged. Education in the Knowledge Society. 20, (2019), 1–29. DOI:https://doi.org/http://dx.doi.org/10.14201/eks2019_20_a18Google Scholar
- Intelligent Tutoring Systems approach to Introductory Programming Courses
Recommendations
Building Skills in Introductory Programming
TEEM'18: Proceedings of the Sixth International Conference on Technological Ecosystems for Enhancing MulticulturalityLearning to program is difficult and requires a lot of work, dedication, and training. The difficulties of teaching and learning programming are a cause for concern for everyone where this subject is needed. It is a universal problem. The theme of ...
A Tool Help for Introductory Programming Courses
TEEM'21: Ninth International Conference on Technological Ecosystems for Enhancing Multiculturality (TEEM'21)In a technological age of great and rapid changes, for today's students are not enough to know how to use all new technologies. To face the difficult job market in the area of information technology, students must have programming skills. Especially in ...
Ne-course for learning programming
TEEM '16: Proceedings of the Fourth International Conference on Technological Ecosystems for Enhancing MulticulturalityDifficulties in learning programming are a constant concern in engineering courses. In many research studies involving the learning programming must of the solutions presented, from the beginning of the first programming languages, was to apply different ...
Comments