Revisión sistemática de literatura sobre generación automática de ayudas en ejercicios de programación
.
A nivel mundial la programación de computadores es una de las habilidades más demandadas en el mercado laboral y es un componente esencial del plan de estudios en cualquier programa universitario de ingeniería de sistemas. Muchos estudiantes de este tipo de cursos tienen dificultades cuando intentan resolver ejercicios y terminan abandonando o perdiendo el curso. Una forma de ayudar a los programadores principiantes a superar las dificultades para aprender a programar es emplear ayudas automáticas, las cuales consisten en el suministro de sugerencias personalizadas en el proceso de solución de los ejercicios de programación que realizan los estudiantes. Uno de los principales desafíos asociados con la generación de ayudas para la programaci... Ver más
2027-8101
2619-5232
13
2021-12-20
89
102
Victor Daniel Gil-Vera - 2022
Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-CompartirIgual 4.0.
info:eu-repo/semantics/openAccess
http://purl.org/coar/access_right/c_abf2
id |
metarevistapublica_tdea_cuadernoactiva_14_article_838 |
---|---|
record_format |
ojs |
institution |
TECNOLOGICO DE ANTIOQUIA INSTITUCION UNIVERSITARIA |
thumbnail |
https://nuevo.metarevistas.org/TECNOLOGICODEANTIOQUIAINSTITUCIONUNIVERSITARIA/logo.png |
country_str |
Colombia |
collection |
Cuaderno activa |
title |
Revisión sistemática de literatura sobre generación automática de ayudas en ejercicios de programación |
spellingShingle |
Revisión sistemática de literatura sobre generación automática de ayudas en ejercicios de programación Gil-Vera, Victor Daniel Guías de datos, ordenador, ciencia, educación, programación, informática. |
title_short |
Revisión sistemática de literatura sobre generación automática de ayudas en ejercicios de programación |
title_full |
Revisión sistemática de literatura sobre generación automática de ayudas en ejercicios de programación |
title_fullStr |
Revisión sistemática de literatura sobre generación automática de ayudas en ejercicios de programación |
title_full_unstemmed |
Revisión sistemática de literatura sobre generación automática de ayudas en ejercicios de programación |
title_sort |
revisión sistemática de literatura sobre generación automática de ayudas en ejercicios de programación |
title_eng |
Revisión sistemática de literatura sobre generación automática de ayudas en ejercicios de programación |
description |
A nivel mundial la programación de computadores es una de las habilidades más demandadas en el mercado laboral y es un componente esencial del plan de estudios en cualquier programa universitario de ingeniería de sistemas. Muchos estudiantes de este tipo de cursos tienen dificultades cuando intentan resolver ejercicios y terminan abandonando o perdiendo el curso. Una forma de ayudar a los programadores principiantes a superar las dificultades para aprender a programar es emplear ayudas automáticas, las cuales consisten en el suministro de sugerencias personalizadas en el proceso de solución de los ejercicios de programación que realizan los estudiantes. Uno de los principales desafíos asociados con la generación de ayudas para la programación, es la modelación automática de los pasos de la solución a partir de un gran número de soluciones correctas, debido a la diversidad de posibles soluciones que un estudiante puede escribir. El objetivo de este trabajo es presentar una revisión sistemática de literatura (RSL) sobre los algoritmos existentes para generar automáticamente ayudas automáticas a partir de un conjunto de soluciones correctas. Se concluye que, a pesar de que diferentes investigaciones han demostrado la efectividad de este tipo de ayudas, su empleabilidad masiva apenas comienza a implementarse.
|
description_eng |
Worldwide, computer programming is one of the most in-demand skills in the job market and is an essential component of the curriculum in any university systems engineering program. Many students of such courses have difficulties when trying to solve exercises and end up dropping out or losing the course. One way to help novice programmers overcome difficulties in learning to program is to employ automatic aids, which consist of providing personalized suggestions in the process of solving programming exercises that students perform. One of the main challenges associated with the generation of programming aids is the automatic modeling of the solution steps from a large number of correct solutions, due to the diversity of possible solutions that a student can write. The objective of this paper is to present a systematic literature review (SLR) on existing algorithms to automatically generate automatic aids from a set of correct solutions. This paper concludes that, although different researches have demonstrated the effectiveness of this type of aids, their massive employability is just beginning to be implemented.
|
author |
Gil-Vera, Victor Daniel |
author_facet |
Gil-Vera, Victor Daniel |
topicspa_str_mv |
Guías de datos, ordenador, ciencia, educación, programación, informática. |
topic |
Guías de datos, ordenador, ciencia, educación, programación, informática. |
topic_facet |
Guías de datos, ordenador, ciencia, educación, programación, informática. |
citationvolume |
13 |
citationissue |
1 |
citationedition |
Núm. 1 , Año 2021 : Volumen 13 |
publisher |
Tecnológico de Antioquia - Institución Universitaria |
ispartofjournal |
Cuaderno activa |
source |
https://ojs.tdea.edu.co/index.php/cuadernoactiva/article/view/838 |
language |
spa |
format |
Article |
rights |
https://creativecommons.org/licenses/by-nc-sa/4.0 Victor Daniel Gil-Vera - 2022 Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-CompartirIgual 4.0. info:eu-repo/semantics/openAccess http://purl.org/coar/access_right/c_abf2 |
references |
1] Rivers, K., y Koedinger, K. R. (2017). Data-driven hint generation in vast solution spaces: a self-improving python programming tutor. International Journal of Artificial Intelligence in Education, 27(1), 37-64. [2] Le, N.-T. (2016). Analysis techniques for feedback-based educational systems for programming. In Advanced Computational Methods for Knowledge Engineering (pp. 141-152). Springer. [3] Barnes, T., y Stamper, J. (2008). Toward automatic hint generation for logic proof tutoring using historical student data. International Conference on Intelligent Tutoring Systems, 373-382. Springer. [4] Price, T. W., Dong, Y., Zhi, R., Paaßen, B., Lytle, N., Cateté, V., y Barnes, T. (2019). A Comparison of the Quality of Data-Driven Programming Hint Generation Algorithms. International Journal of Artificial Intelligence in Education, 29(3), 368-395. https://doi.org/10.1007/s40593-019-00177-z [5] Kitchenham, B., Pearl Brereton, O., Budgen, D., Turner, M., Bailey, J., y Linkman, S. (2009). Systematic literature reviews in software engineering - A systematic literature review. Information and Software Technology, 51(1), 7-15. https://doi.org/10.1016/j.infsof.2008.09.009 [6] Choudhury, R. R., Yin, H., y Fox, A. (2016). Scale-driven automatic hint generation for coding style. International Conference on Intelligent Tutoring Systems, 122-132. Springer. [7] Wiese, E. S., Yen, M., Chen, A., Santos, L. A., y Fox, A. (2017). Teaching students to recognize and implement good coding style. Proceedings of the Fourth (2017) ACM Conference on Learning@ Scale, 41-50. [8] Singh, R. (2014). Accessible programming using program synthesis. Massachusetts Institute of Technology, Department of Electrical Engineering. [9] Terman, S. (2016). GroverCode: code canonicalization and clustering applied to grading. Massachusetts Institute of Technology. [10] Lazar, T., y Bratko, I. (2014). Data-driven program synthesis for hint generation in programming tutors. International Conference on Intelligent Tutoring Systems, 306-311. Springer. [11] Price, T. W., Dong, Y., y Barnes, T. (2016). Generating Data-Driven Hints for Open-Ended Programming. International Educational Data Mining Society. [12] Perelman, D., Gulwani, S., y Grossman, D. (2014). Test-driven synthesis for automated feedback for introductory computer science assignments. Proceedings of Data Mining for Educational Assessment and Feedback (ASSESS 2014). [13] Rolim, R., Soares, G., D’Antoni, L., Polozov, O., Gulwani, S., Gheyi, R., €¦ Hartmann, B. (2017). Learning syntactic program transformations from examples. 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE), 404-415. IEEE. [14] Phothilimthana, P. M., y Sridhara, S. (2017). High-coverage hint generation for massive courses: Do automated hints help CS1 students? Proceedings of the 2017 Acm Conference on Innovation and Technology in Computer Science Education, 182-187. [15] Head, A., Glassman, E., Soares, G., Suzuki, R., Figueredo, L., D’Antoni, L., y Hartmann, B. (2017). Writing reusable code feedback at scale with mixed-initiative program synthesis. Proceedings of the Fourth (2017) ACM Conference on Learning@ Scale, 89-98. [16] Suzuki, R., Soares, G., Glassman, E., Head, A., D’Antoni, L., y Hartmann, B. (2017). Exploring the design space of automatically synthesized hints for introductory programming assignments. Proceedings of the 2017 CHI Conference Extended Abstracts on Human Factors in Computing Systems, 2951-2958. [17] Gross, S., Mokbel, B., Hammer, B., y Pinkwart, N. (2014). How to select an example? a comparison of selection strategies in example-based learning. International Conference on Intelligent Tutoring Systems, 340-347. Springer. [18] Paaßen, B., Jensen, J., y Hammer, B. (2016). Execution Traces as a Powerful Data Representation for Intelligent Tutoring Systems for Programming. International Educational Data Mining Society. [19] Kaleeswaran, S., Santhiar, A., Kanade, A., y Gulwani, S. (2016). Semi-supervised verified feedback generation. Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 739-750. [20] Gulwani, S., Radiček, I., y Zuleger, F. (2018). Automated clustering and program repair for introductory programming assignments. ACM SIGPLAN Notices, 53(4), 465-480. [21] Marin, V. J., Pereira, T., Sridharan, S., y Rivero, C. R. (2017). Automated personalized feedback in introductory Java programming MOOCs. 2017 IEEE 33rd International Conference on Data Engineering (ICDE), 1259-1270. IEEE. [22] Zimmerman, K., y Rupakheti, C. R. (2015). An automated framework for recommending program elements to novices (n). 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), 283-288. IEEE. [23] Chaturvedi, R. (2016). Task-based Example Miner for Intelligent Tutoring Systems. [24] Freeman, P., Watson, I., y Denny, P. (2016). Inferring student coding goals using abstract syntax trees. International Conference on Case-Based Reasoning, 139-153. Springer. [25] Irfan, M. T., y Gudivada, V. N. (2016). Handbook of Statistics. [On-line]. Vol. 35. [26] Fossati, D., Di Eugenio, B., Ohlsson, S., Brown, C., y Chen, L. (2015). Data driven automatic feedback generation in the iList intelligent tutoring system. Technology, Instruction, Cognition and Learning, 10(1), 5-26. [27] Jin, W., Barnes, T., Stamper, J., Eagle, M. J., Johnson, M. W., y Lehmann, L. (2012). Program representation for automatic hint generation for a data-driven novice programming tutor. International Conference on Intelligent Tutoring Systems, 304-309. Springer. [28] Keuning, H. (2014). Strategy-based feedback for imperative programming exercises. Open Universiteit Nederland. [29] Price, T. W., Dong, Y., y Lipovac, D. (2017). iSnap: towards intelligent tutoring in novice programming environments. Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education, 483-488. [30] Paassen, B., Mokbel, B., y Hammer, B. (2016). Adaptive structure metrics for automated feedback provision in intelligent tutoring systems. Neurocomputing, 192, 3-13. https://doi.org/10.1016/j.neucom.2015.12.108 |
type_driver |
info:eu-repo/semantics/article |
type_coar |
http://purl.org/coar/resource_type/c_6501 |
type_version |
info:eu-repo/semantics/publishedVersion |
type_coarversion |
http://purl.org/coar/version/c_970fb48d4fbd8a85 |
type_content |
Text |
publishDate |
2021-12-20 |
date_accessioned |
2021-12-20T00:00:00Z |
date_available |
2021-12-20T00:00:00Z |
url |
https://ojs.tdea.edu.co/index.php/cuadernoactiva/article/view/838 |
url_doi |
https://ojs.tdea.edu.co/index.php/cuadernoactiva/article/view/838 |
issn |
2027-8101 |
eissn |
2619-5232 |
citationstartpage |
89 |
citationendpage |
102 |
url2_str_mv |
https://ojs.tdea.edu.co/index.php/cuadernoactiva/article/download/838/1364 |
_version_ |
1811200387129016320 |
spelling |
Revisión sistemática de literatura sobre generación automática de ayudas en ejercicios de programación Revisión sistemática de literatura sobre generación automática de ayudas en ejercicios de programación A nivel mundial la programación de computadores es una de las habilidades más demandadas en el mercado laboral y es un componente esencial del plan de estudios en cualquier programa universitario de ingeniería de sistemas. Muchos estudiantes de este tipo de cursos tienen dificultades cuando intentan resolver ejercicios y terminan abandonando o perdiendo el curso. Una forma de ayudar a los programadores principiantes a superar las dificultades para aprender a programar es emplear ayudas automáticas, las cuales consisten en el suministro de sugerencias personalizadas en el proceso de solución de los ejercicios de programación que realizan los estudiantes. Uno de los principales desafíos asociados con la generación de ayudas para la programación, es la modelación automática de los pasos de la solución a partir de un gran número de soluciones correctas, debido a la diversidad de posibles soluciones que un estudiante puede escribir. El objetivo de este trabajo es presentar una revisión sistemática de literatura (RSL) sobre los algoritmos existentes para generar automáticamente ayudas automáticas a partir de un conjunto de soluciones correctas. Se concluye que, a pesar de que diferentes investigaciones han demostrado la efectividad de este tipo de ayudas, su empleabilidad masiva apenas comienza a implementarse. Worldwide, computer programming is one of the most in-demand skills in the job market and is an essential component of the curriculum in any university systems engineering program. Many students of such courses have difficulties when trying to solve exercises and end up dropping out or losing the course. One way to help novice programmers overcome difficulties in learning to program is to employ automatic aids, which consist of providing personalized suggestions in the process of solving programming exercises that students perform. One of the main challenges associated with the generation of programming aids is the automatic modeling of the solution steps from a large number of correct solutions, due to the diversity of possible solutions that a student can write. The objective of this paper is to present a systematic literature review (SLR) on existing algorithms to automatically generate automatic aids from a set of correct solutions. This paper concludes that, although different researches have demonstrated the effectiveness of this type of aids, their massive employability is just beginning to be implemented. Gil-Vera, Victor Daniel Guías de datos, ordenador, ciencia, educación, programación, informática. 13 1 Núm. 1 , Año 2021 : Volumen 13 Artículo de revista Journal article 2021-12-20T00:00:00Z 2021-12-20T00:00:00Z 2021-12-20 application/pdf Tecnológico de Antioquia - Institución Universitaria Cuaderno activa 2027-8101 2619-5232 https://ojs.tdea.edu.co/index.php/cuadernoactiva/article/view/838 https://ojs.tdea.edu.co/index.php/cuadernoactiva/article/view/838 spa https://creativecommons.org/licenses/by-nc-sa/4.0 Victor Daniel Gil-Vera - 2022 Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-CompartirIgual 4.0. 89 102 1] Rivers, K., y Koedinger, K. R. (2017). Data-driven hint generation in vast solution spaces: a self-improving python programming tutor. International Journal of Artificial Intelligence in Education, 27(1), 37-64. [2] Le, N.-T. (2016). Analysis techniques for feedback-based educational systems for programming. In Advanced Computational Methods for Knowledge Engineering (pp. 141-152). Springer. [3] Barnes, T., y Stamper, J. (2008). Toward automatic hint generation for logic proof tutoring using historical student data. International Conference on Intelligent Tutoring Systems, 373-382. Springer. [4] Price, T. W., Dong, Y., Zhi, R., Paaßen, B., Lytle, N., Cateté, V., y Barnes, T. (2019). A Comparison of the Quality of Data-Driven Programming Hint Generation Algorithms. International Journal of Artificial Intelligence in Education, 29(3), 368-395. https://doi.org/10.1007/s40593-019-00177-z [5] Kitchenham, B., Pearl Brereton, O., Budgen, D., Turner, M., Bailey, J., y Linkman, S. (2009). Systematic literature reviews in software engineering - A systematic literature review. Information and Software Technology, 51(1), 7-15. https://doi.org/10.1016/j.infsof.2008.09.009 [6] Choudhury, R. R., Yin, H., y Fox, A. (2016). Scale-driven automatic hint generation for coding style. International Conference on Intelligent Tutoring Systems, 122-132. Springer. [7] Wiese, E. S., Yen, M., Chen, A., Santos, L. A., y Fox, A. (2017). Teaching students to recognize and implement good coding style. Proceedings of the Fourth (2017) ACM Conference on Learning@ Scale, 41-50. [8] Singh, R. (2014). Accessible programming using program synthesis. Massachusetts Institute of Technology, Department of Electrical Engineering. [9] Terman, S. (2016). GroverCode: code canonicalization and clustering applied to grading. Massachusetts Institute of Technology. [10] Lazar, T., y Bratko, I. (2014). Data-driven program synthesis for hint generation in programming tutors. International Conference on Intelligent Tutoring Systems, 306-311. Springer. [11] Price, T. W., Dong, Y., y Barnes, T. (2016). Generating Data-Driven Hints for Open-Ended Programming. International Educational Data Mining Society. [12] Perelman, D., Gulwani, S., y Grossman, D. (2014). Test-driven synthesis for automated feedback for introductory computer science assignments. Proceedings of Data Mining for Educational Assessment and Feedback (ASSESS 2014). [13] Rolim, R., Soares, G., D’Antoni, L., Polozov, O., Gulwani, S., Gheyi, R., €¦ Hartmann, B. (2017). Learning syntactic program transformations from examples. 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE), 404-415. IEEE. [14] Phothilimthana, P. M., y Sridhara, S. (2017). High-coverage hint generation for massive courses: Do automated hints help CS1 students? Proceedings of the 2017 Acm Conference on Innovation and Technology in Computer Science Education, 182-187. [15] Head, A., Glassman, E., Soares, G., Suzuki, R., Figueredo, L., D’Antoni, L., y Hartmann, B. (2017). Writing reusable code feedback at scale with mixed-initiative program synthesis. Proceedings of the Fourth (2017) ACM Conference on Learning@ Scale, 89-98. [16] Suzuki, R., Soares, G., Glassman, E., Head, A., D’Antoni, L., y Hartmann, B. (2017). Exploring the design space of automatically synthesized hints for introductory programming assignments. Proceedings of the 2017 CHI Conference Extended Abstracts on Human Factors in Computing Systems, 2951-2958. [17] Gross, S., Mokbel, B., Hammer, B., y Pinkwart, N. (2014). How to select an example? a comparison of selection strategies in example-based learning. International Conference on Intelligent Tutoring Systems, 340-347. Springer. [18] Paaßen, B., Jensen, J., y Hammer, B. (2016). Execution Traces as a Powerful Data Representation for Intelligent Tutoring Systems for Programming. International Educational Data Mining Society. [19] Kaleeswaran, S., Santhiar, A., Kanade, A., y Gulwani, S. (2016). Semi-supervised verified feedback generation. Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 739-750. [20] Gulwani, S., Radiček, I., y Zuleger, F. (2018). Automated clustering and program repair for introductory programming assignments. ACM SIGPLAN Notices, 53(4), 465-480. [21] Marin, V. J., Pereira, T., Sridharan, S., y Rivero, C. R. (2017). Automated personalized feedback in introductory Java programming MOOCs. 2017 IEEE 33rd International Conference on Data Engineering (ICDE), 1259-1270. IEEE. [22] Zimmerman, K., y Rupakheti, C. R. (2015). An automated framework for recommending program elements to novices (n). 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), 283-288. IEEE. [23] Chaturvedi, R. (2016). Task-based Example Miner for Intelligent Tutoring Systems. [24] Freeman, P., Watson, I., y Denny, P. (2016). Inferring student coding goals using abstract syntax trees. International Conference on Case-Based Reasoning, 139-153. Springer. [25] Irfan, M. T., y Gudivada, V. N. (2016). Handbook of Statistics. [On-line]. Vol. 35. [26] Fossati, D., Di Eugenio, B., Ohlsson, S., Brown, C., y Chen, L. (2015). Data driven automatic feedback generation in the iList intelligent tutoring system. Technology, Instruction, Cognition and Learning, 10(1), 5-26. [27] Jin, W., Barnes, T., Stamper, J., Eagle, M. J., Johnson, M. W., y Lehmann, L. (2012). Program representation for automatic hint generation for a data-driven novice programming tutor. International Conference on Intelligent Tutoring Systems, 304-309. Springer. [28] Keuning, H. (2014). Strategy-based feedback for imperative programming exercises. Open Universiteit Nederland. [29] Price, T. W., Dong, Y., y Lipovac, D. (2017). iSnap: towards intelligent tutoring in novice programming environments. Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education, 483-488. [30] Paassen, B., Mokbel, B., y Hammer, B. (2016). Adaptive structure metrics for automated feedback provision in intelligent tutoring systems. Neurocomputing, 192, 3-13. https://doi.org/10.1016/j.neucom.2015.12.108 https://ojs.tdea.edu.co/index.php/cuadernoactiva/article/download/838/1364 info:eu-repo/semantics/article http://purl.org/coar/resource_type/c_6501 http://purl.org/coar/resource_type/c_dcae04bc http://purl.org/redcol/resource_type/ARTREV info:eu-repo/semantics/publishedVersion http://purl.org/coar/version/c_970fb48d4fbd8a85 info:eu-repo/semantics/openAccess http://purl.org/coar/access_right/c_abf2 Text Publication |