Derechos de autor 2020 Investigación e Innovación en Ingenierías
Esta obra está bajo una licencia internacional Creative Commons Atribución 4.0.
Estrategia de enseñanza basada en la colaboración y la evaluación automática de código fuente en un curso de programación CS1
Corresponding Author(s) : Carlos Giovanny Hidalgo Suarez
Investigación e Innovación en Ingenierías,
Vol. 9 Núm. 1 (2021): Enero-Junio
Resumen
Contexto y Objetivo: El curso de Introducción a la Programación CS1, es uno de los cursos de programación de computadores, con mayores índices de mortalidad académica, esto se ve reflejado en las bajas calificaciones de los estudiantes. Lo que podría indicar que el método de aprendizaje actual no permite que el estudiante desarrolle las habilidades en la programación y mejore su rendimiento académico. En este sentido, en este artículo se propone una estrategia para estimular el desarrollo de las habilidades en programación y la mejora de la calificación académica de los estudiantes del curso CS1, a través de una actividad colaborativa soportada por una herramienta de evaluación automática de código fuente.
Metodología: Se integró la colaboración y la evaluación automática de código fuente para una actividad de programación que permitió responder las siguientes cuestiones: ¿cuánto tiempo en promedio, se reduce la solución de una tarea de programación mediante una estrategia colaborativa apoyada por una herramienta de evaluación automática de código?, y ¿cuánto se incrementa en la calificación promedio de una tarea de programación utilizando una estrategia colaborativa apoyada por una herramienta de evaluación automática de código?
Resultados: Los experimentos de este trabajo, demuestran que el uso de la colaboración y la evaluación de código fuente automático, mejora las calificaciones en un 50% y afianzan las habilidades de programación, permitiendo intercambiar conocimientos para resolver una tarea de programación en menor tiempo.
Conclusiones: El desarrollo de estrategias que integran la colaboración y la evaluación automática de código impactan positivamente en el proceso de aprendizaje de programación, mejorando significativamente las calificaciones del estudiante, además de habilidades interpersonales que incentivan a mejorar los cursos de programación.
Palabras clave
Descargar cita
Endnote/Zotero/Mendeley (RIS)BibTeX
-
[1] J. Figueiredo y F. J. García-Peñalvo, «Building skills in introductory programming», en ACM International Conference Proceeding Series, 2018, pp. 46–50, doi: 10.1145/3284179.3284190.
[2] C. Alvarado, C. B. Lee, y G. Gillespie, «New CS1 pedagogies and curriculum, the same success factors?», en SIGCSE 2014 - Proceedings of the 45th ACM Technical Symposium on Computer Science Education, New York, New York, USA, 2014, pp. 379–384, doi: 10.1145/2538862.2538897.
[3] «Computer Science Curricula 2013 Curriculum Guidelines for Undergraduate Degree Programs in Computer Science The Joint Task Force on Computing Curricula Association for Computing Machinery (ACM) IEEE Computer Society A Cooperative Project of», 2013, [En línea]. Disponible en: https://www.acm.org/binaries/content/assets/education/cs2013_web_final.pdf.
[4] T. Lauwers y I. Nourbakhsh, «Informing Curricular Design by Surveying CS1 Educators», Computing, 2015, [En línea]. Disponible en: https://www.cs.cmu.edu/ illah/PAPERS/amire08.pdf.
[5] J. Figueiredo, N. Lopes, y F. J. García-Pẽalvo, «Predicting student failure in an introductory programming course with multiple back-propagation», presentado en ACM International Conference Proceeding Series, 2019, pp. 44-49, doi: 10.1145/3362789.3362925.
[6] R. Kraleva, V. Kralev, y D. Kostadinova, «A methodology for the analysis of block-based programming languages appropriate for children», Journal of Computing Science and Engineering, vol. 13, n.o 1, pp. 1-10, 2019, doi: 10.5626/JCSE.2019.13.1.1.
[7] V. T. Nguyen, R. Hite, y T. Dang, «Web-based virtual reality development in classroom: From learner’s perspectives», presentado en Proceedings - 2018 IEEE International Conference on Artificial Intelligence and Virtual Reality, AIVR 2018, 2019, pp. 11-18, doi: 10.1109/AIVR.2018.00010.
[8] S. I. Malik, «Assessing the teaching and learning process of an introductory programming course with bloom’s taxonomy and Assurance of Learning (AOL)», International Journal of Information and Communication Technology Education, vol. 15, n.o 2, pp. 130-145, 2019, doi: 10.4018/IJICTE.2019040108.
[9] Q. Sun, J. Wu, y K. Liu, «How are students’ programming skills developed: an empirical study in an object-oriented course», en Proceedings of the ACM Turing Celebration Conference - China, Chengdu, China, may 2019, pp. 1–6, doi: 10.1145/3321408.3322858.
[10] A. Gonzalez-Escribano, V. Lara-Mongil, E. Rodriguez-Gutiez, y Y. Torres, «Toward improving collaborative behaviour during competitive programming assignments», presentado en Proceedings of EduHPC 2019: Workshop on Education for High Performance Computing - Held in conjunction with SC 2019: The International Conference for High Performance Computing, Networking, Storage and Analysis, 2019, pp. 68-74, doi: 10.1109/EduHPC49559.2019.00014.
[11] G. Wang, H. Zhao, Y. Guo, y M. Li, «Integration of flipped classroom and problem based learning model and its implementation in university programming course», presentado en 14th International Conference on Computer Science and Education, ICCSE 2019, 2019, pp. 606-610, doi: 10.1109/ICCSE.2019.8845525.
[12] J. R. Uhlar y S. Secules, «Butting heads: Competition and posturing in a paired programming team», presentado en Proceedings - Frontiers in Education Conference, FIE, 2019, vol. 2018-October, doi: 10.1109/FIE.2018.8658654.
[13] M. M. Rahman y R. Paudel, «Visual programming and interactive learning based dynamic instructional approaches to teach an introductory programming course», presentado en Proceedings - Frontiers in Education Conference, FIE, 2019, vol. 2018-October, doi: 10.1109/FIE.2018.8658581.
[14] S. Rasipuram y D. B. Jayagopi, «Automatic assessment of communication skill in interview-based interactions», Multimedia Tools and Applications, vol. 77, n.o 14, pp. 18709-18739, 2018, doi: 10.1007/s11042-018-5654-9.
[15] D. Insa y J. Silva, «Automatic assessment of Java code», Computer Languages, Systems and Structures, vol. 53, pp. 59-72, 2018, doi: 10.1016/j.cl.2018.01.004.
[16] K. M. Ala-Mutka, «A Survey of Automated Assessment Approaches for Programming Assignments», Computer Science Education, vol. 15, n.o 2, pp. 83-102, jun. 2005, doi: 10.1080/08993400500150747.
[17] P. Navrat y J. Tvarozek, «Online programming exercises for summative assessment in university courses», presentado en ACM International Conference Proceeding Series, 2014, vol. 883, pp. 341-348, doi: 10.1145/2659532.2659628.
[18] C. Douce, D. Livingstone, y J. Orwell, «Automatic test-based assessment of programming: A review», J. Educ. Resour. Comput., vol. 5, n.o 3, pp. 4–es, sep. 2005, doi: 10.1145/1163405.1163409.
[19] «INGInious’ documentation — INGInious 0.6.dev0 documentation». https://inginious.readthedocs.io/en/v0.6/ (accedido nov. 25, 2019).
[20] Y. huei Wang y H. C. Liao, «Learning performance enhancement using computer-assisted language learning by collaborative learning groups», Symmetry, vol. 9, n.o 8, p. 141, ago. 2017, doi: 10.3390/sym9080141.
[21] D. D. Pratt, «The making of CourseMaker, a web-based shell program which can be set up by the teacher to run online courses», 2003, Accedido: feb. 14, 2020. [En línea]. Disponible en: http://openscholar.dut.ac.za/handle/10321/243.
[22] «Experiences on automatically assessed algorithm simulation exercises with different resubmission policies | Journal on Educational Resources in Computing (JERIC)». https://dl.acm.org/doi/10.1145/1163405.1163412 (accedido feb. 14, 2020).
[23] L.-K. Soh, N. Khandaker, X. Liu, y H. Jiang, «I-MINDS: A multiagent system for intelligent computer- supported collaborative learning and classroom management.», International Journal of Artificial Intelligence in Education, vol. 18, n.o 2, pp. 119–151, 2008.
[24] M. T. Pham y T. B. Nguyen, «The DOMJudge Based Online Judge System with Plagiarism Detection», en 2019 IEEE-RIVF International Conference on Computing and Communication Technologies (RIVF), mar. 2019, pp. 1-6, doi: 10.1109/RIVF.2019.8713763.
[25] F. Restrepo-Calle, J. J. Ramírez-Echeverry, y F. A. Gonzalez, «Uncode: Interactive System for Learning and Automatic Evaluation of Computer Programming Skills», en EDULEARN18 Proceedings, 2018, vol. 1, pp. 6888–6898, doi: 10.21125/edulearn.2018.1632.
[26] J. P. Ignizio, «Generalized goal programming An overview», Computers & Operations Research, vol. 10, n.o 4, pp. 277-289, ene. 1983, doi: 10.1016/0305-0548(83)90003-5.
[27] B. Dunne, A. J. Blauch, y A. Sterian, «The Case For Computer Programming Instruction For All Engineering Disciplines», 2005.
[28] E. Stankov, M. Jovanov, B. Kostadinov, y A. Madevska Bogdanova, «A new model for collaborative learning of programming using source code similarity detection», presentado en IEEE Global Engineering Education Conference, EDUCON, 2015, vol. 2015-April, pp. 709-715, doi: 10.1109/EDUCON.2015.7096047.
[29] M. M. Rahman, Y. Watanobe, y K. Nakamura, «Source Code assessment and classification based on estimated error probability using attentive lstm language model and its application in programming education», Applied Sciences (Switzerland), vol. 10, n.o 8, 2020, doi: 10.3390/APP10082973.
Referencias
[2] C. Alvarado, C. B. Lee, y G. Gillespie, «New CS1 pedagogies and curriculum, the same success factors?», en SIGCSE 2014 - Proceedings of the 45th ACM Technical Symposium on Computer Science Education, New York, New York, USA, 2014, pp. 379–384, doi: 10.1145/2538862.2538897.
[3] «Computer Science Curricula 2013 Curriculum Guidelines for Undergraduate Degree Programs in Computer Science The Joint Task Force on Computing Curricula Association for Computing Machinery (ACM) IEEE Computer Society A Cooperative Project of», 2013, [En línea]. Disponible en: https://www.acm.org/binaries/content/assets/education/cs2013_web_final.pdf.
[4] T. Lauwers y I. Nourbakhsh, «Informing Curricular Design by Surveying CS1 Educators», Computing, 2015, [En línea]. Disponible en: https://www.cs.cmu.edu/ illah/PAPERS/amire08.pdf.
[5] J. Figueiredo, N. Lopes, y F. J. García-Pẽalvo, «Predicting student failure in an introductory programming course with multiple back-propagation», presentado en ACM International Conference Proceeding Series, 2019, pp. 44-49, doi: 10.1145/3362789.3362925.
[6] R. Kraleva, V. Kralev, y D. Kostadinova, «A methodology for the analysis of block-based programming languages appropriate for children», Journal of Computing Science and Engineering, vol. 13, n.o 1, pp. 1-10, 2019, doi: 10.5626/JCSE.2019.13.1.1.
[7] V. T. Nguyen, R. Hite, y T. Dang, «Web-based virtual reality development in classroom: From learner’s perspectives», presentado en Proceedings - 2018 IEEE International Conference on Artificial Intelligence and Virtual Reality, AIVR 2018, 2019, pp. 11-18, doi: 10.1109/AIVR.2018.00010.
[8] S. I. Malik, «Assessing the teaching and learning process of an introductory programming course with bloom’s taxonomy and Assurance of Learning (AOL)», International Journal of Information and Communication Technology Education, vol. 15, n.o 2, pp. 130-145, 2019, doi: 10.4018/IJICTE.2019040108.
[9] Q. Sun, J. Wu, y K. Liu, «How are students’ programming skills developed: an empirical study in an object-oriented course», en Proceedings of the ACM Turing Celebration Conference - China, Chengdu, China, may 2019, pp. 1–6, doi: 10.1145/3321408.3322858.
[10] A. Gonzalez-Escribano, V. Lara-Mongil, E. Rodriguez-Gutiez, y Y. Torres, «Toward improving collaborative behaviour during competitive programming assignments», presentado en Proceedings of EduHPC 2019: Workshop on Education for High Performance Computing - Held in conjunction with SC 2019: The International Conference for High Performance Computing, Networking, Storage and Analysis, 2019, pp. 68-74, doi: 10.1109/EduHPC49559.2019.00014.
[11] G. Wang, H. Zhao, Y. Guo, y M. Li, «Integration of flipped classroom and problem based learning model and its implementation in university programming course», presentado en 14th International Conference on Computer Science and Education, ICCSE 2019, 2019, pp. 606-610, doi: 10.1109/ICCSE.2019.8845525.
[12] J. R. Uhlar y S. Secules, «Butting heads: Competition and posturing in a paired programming team», presentado en Proceedings - Frontiers in Education Conference, FIE, 2019, vol. 2018-October, doi: 10.1109/FIE.2018.8658654.
[13] M. M. Rahman y R. Paudel, «Visual programming and interactive learning based dynamic instructional approaches to teach an introductory programming course», presentado en Proceedings - Frontiers in Education Conference, FIE, 2019, vol. 2018-October, doi: 10.1109/FIE.2018.8658581.
[14] S. Rasipuram y D. B. Jayagopi, «Automatic assessment of communication skill in interview-based interactions», Multimedia Tools and Applications, vol. 77, n.o 14, pp. 18709-18739, 2018, doi: 10.1007/s11042-018-5654-9.
[15] D. Insa y J. Silva, «Automatic assessment of Java code», Computer Languages, Systems and Structures, vol. 53, pp. 59-72, 2018, doi: 10.1016/j.cl.2018.01.004.
[16] K. M. Ala-Mutka, «A Survey of Automated Assessment Approaches for Programming Assignments», Computer Science Education, vol. 15, n.o 2, pp. 83-102, jun. 2005, doi: 10.1080/08993400500150747.
[17] P. Navrat y J. Tvarozek, «Online programming exercises for summative assessment in university courses», presentado en ACM International Conference Proceeding Series, 2014, vol. 883, pp. 341-348, doi: 10.1145/2659532.2659628.
[18] C. Douce, D. Livingstone, y J. Orwell, «Automatic test-based assessment of programming: A review», J. Educ. Resour. Comput., vol. 5, n.o 3, pp. 4–es, sep. 2005, doi: 10.1145/1163405.1163409.
[19] «INGInious’ documentation — INGInious 0.6.dev0 documentation». https://inginious.readthedocs.io/en/v0.6/ (accedido nov. 25, 2019).
[20] Y. huei Wang y H. C. Liao, «Learning performance enhancement using computer-assisted language learning by collaborative learning groups», Symmetry, vol. 9, n.o 8, p. 141, ago. 2017, doi: 10.3390/sym9080141.
[21] D. D. Pratt, «The making of CourseMaker, a web-based shell program which can be set up by the teacher to run online courses», 2003, Accedido: feb. 14, 2020. [En línea]. Disponible en: http://openscholar.dut.ac.za/handle/10321/243.
[22] «Experiences on automatically assessed algorithm simulation exercises with different resubmission policies | Journal on Educational Resources in Computing (JERIC)». https://dl.acm.org/doi/10.1145/1163405.1163412 (accedido feb. 14, 2020).
[23] L.-K. Soh, N. Khandaker, X. Liu, y H. Jiang, «I-MINDS: A multiagent system for intelligent computer- supported collaborative learning and classroom management.», International Journal of Artificial Intelligence in Education, vol. 18, n.o 2, pp. 119–151, 2008.
[24] M. T. Pham y T. B. Nguyen, «The DOMJudge Based Online Judge System with Plagiarism Detection», en 2019 IEEE-RIVF International Conference on Computing and Communication Technologies (RIVF), mar. 2019, pp. 1-6, doi: 10.1109/RIVF.2019.8713763.
[25] F. Restrepo-Calle, J. J. Ramírez-Echeverry, y F. A. Gonzalez, «Uncode: Interactive System for Learning and Automatic Evaluation of Computer Programming Skills», en EDULEARN18 Proceedings, 2018, vol. 1, pp. 6888–6898, doi: 10.21125/edulearn.2018.1632.
[26] J. P. Ignizio, «Generalized goal programming An overview», Computers & Operations Research, vol. 10, n.o 4, pp. 277-289, ene. 1983, doi: 10.1016/0305-0548(83)90003-5.
[27] B. Dunne, A. J. Blauch, y A. Sterian, «The Case For Computer Programming Instruction For All Engineering Disciplines», 2005.
[28] E. Stankov, M. Jovanov, B. Kostadinov, y A. Madevska Bogdanova, «A new model for collaborative learning of programming using source code similarity detection», presentado en IEEE Global Engineering Education Conference, EDUCON, 2015, vol. 2015-April, pp. 709-715, doi: 10.1109/EDUCON.2015.7096047.
[29] M. M. Rahman, Y. Watanobe, y K. Nakamura, «Source Code assessment and classification based on estimated error probability using attentive lstm language model and its application in programming education», Applied Sciences (Switzerland), vol. 10, n.o 8, 2020, doi: 10.3390/APP10082973.