RESUMEN Objetivo: El enfoque de aprendizaje colaborativo asistido por computadora (CSCL) integra la inteligencia artificial (IA) para mejorar el proceso de aprendizaje a través de la colaboración y las tecnologías de la información y la comunicación (TICs). En este sentido, se podrían diseñar estrategias innovadoras y efectivas para el aprendizaje de la programación de computadoras. Este artículo presenta un estudio sistemático de mapeo de los años 2009 a 2021, el cual muestra cómo la integración del CSCL y la IA apoya el proceso de aprendizaje en cursos de programación. Metodología: Este estudio se realizó mediante una revisión de datos proveniente de distintas fuentes bibliográficas como Scopus, Web of Science (WoS), ScienceDirect y repositorios de la plataforma GitHub. El trabajo emplea un enfoque metodológico cuantitativo, en el cual los resultados se representan a través de mapas tecnológicos que muestran los siguientes aspectos: i) los lenguajes de programación utilizados para el desarrollo de software de CSCL e IA; ii) la tecnología de software CSCL y la evolución de la IA; y iii) las clasificaciones, los temas de investigación, las técnicas de inteligencia artificial y las estrategias de CSCL de la ACM. Resultados: Los resultados de esta investigación ayudan a entender los beneficios y retos de usar el enfoque de CSCL e IA para el aprendizaje de la programación de computadoras, identificando algunas estrategias y herramientas para mejorar el proceso en cursos de programación (e.g., La implementación de estrategias del enfoque CSCL utilizadas para formar grupos, de otras para evaluar y de otras para brindar retroalimentación); así como para monitorear el proceso y medir los resultados de los estudiantes utilizando jueces virtuales para la evaluación automática del código, identificación de perfiles, análisis de código, simulación de profesores, actividades de aprendizaje activo y entornos interactivos, entre otros. Sin embargo, aún hay preguntas investigación por resolver para cada proceso. Conclusiones: Este trabajo discute la integración del CSCL y la IA para mejorar el aprendizaje en cursos de programación y cómo esta apoya el proceso educativo de los estudiantes. Ningún modelo integra el enfoque CSCL con técnicas de IA, lo cual permite implementar actividades de aprendizaje y, al mismo tiempo, observar y analizar la evolución del sistema y de la manera en que sus usuarios (estudiantes) mejoran sus habilidades de aprendizaje con respecto a la programación. Adicionalmente, las diferentes herramientas encontradas en este artículo podrían ser exploradas por profesores e instituciones, o podrían desarrollarse nuevas tecnologías a partir de ellas.
ABSTRACT Objective: The Computer-Supported Collaborative Learning (CSCL) approach integrates artificial intelligence (AI) to enhance the learning process through collaboration and information and communication technologies (ICTs). In this sense, innovative and effective strategies could be designed for learning computer programming. This paper presents a systematic mapping study from 2009 to 2021, which shows how the integration of CSCL and AI supports the learning process in programming courses. Methodology: This study was conducted by reviewing data from different bibliographic sources such as Scopus, Web of Science (WoS), ScienceDirect, and repositories of the GitHub platform. It employs a quantitative methodological approach, where the results are represented through technological maps that show the following aspects: i) the programming languages used for CSCL and AI software development; ii) CSCL software technology and the evolution of AI; and iii) the ACM classifications, research topics, artificial intelligence techniques, and CSCL strategies. Results: The results of this research help to understand the benefits and challenges of using the CSCL and AI approach for learning computer programming, identifying some strategies and tools to improve the process in programming courses (e.g., the implementation of the CSCL approach strategies used to form groups, others to evaluate, and others to provide feedback); as well as to control the process and measure student results, using virtual judges for automatic code evaluation, profile identification, code analysis, teacher simulation, active learning activities, and interactive environments, among others. However, for each process, there are still open research questions. Conclusions: This work discusses the integration of CSCL and AI to enhance learning in programming courses and how it supports students' education process. No model integrates the CSCL approach with AI techniques, which allows implementing learning activities and, at the same time, observing and analyzing the evolution of the system and how its users (students) improve their learning skills with regard to programming. In addition, the different tools found in this paper could be explored by professors and institutions, or new technologies could be developed from them.