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

Contenido principal del artículo

Victor Daniel Gil-Vera

Resumen

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.

Palabras clave:

Descargas

Los datos de descargas todavía no están disponibles.

Detalles del artículo

Referencias (VER)

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),

-64.

Le, N.-T. (2016). Analysis techniques for feedback-based educational systems for programming. In Advanced Computational Methods for Knowledge Engineering (pp. 141-152). Springer.

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.

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

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

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.

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.

Singh, R. (2014). Accessible programming using program synthesis. Massachusetts Institute of Technology, Department of Electrical Engineering.

Terman, S. (2016). GroverCode: code canonicalization and clustering applied to grading. Massachusetts Institute of Technology.

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.

Price, T. W., Dong, Y., y Barnes, T. (2016). Generating Data-Driven Hints for Open-Ended Programming. International Educational Data Mining Society.

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).

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Chaturvedi, R. (2016). Task-based Example Miner for Intelligent Tutoring Systems.

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.

Irfan, M. T., y Gudivada, V. N. (2016). Handbook of Statistics. [On-line]. Vol. 35.

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.

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.

Keuning, H. (2014). Strategy-based feedback for imperative programming exercises. Open Universiteit Nederland.

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.

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