Evolución de un curso inicial de programación a un enfoque multiparadigma. Análisis y resultados
DOI:
https://doi.org/10.24215/18509959.24.e01Palabras clave:
Programación, Algoritmos, Taller de programación, Paradigmas, LenguajesResumen
En este trabajo se analiza la evolución de un curso inicial de programación, que ha sido reestructurado en dos asignaturas cuatrimestrales, incorporando en el segundo cuatrimestre trabajo experimental en tres paradigmas (imperativo, orientado a objetos y concurrente). Los temas principales incluyen una discusión sobre el impacto de este enfoque en el alumno de una carrera universitaria de informática, los criterios de selección de los paradigmas elegidos y aspectos salientes de la metodología y herramientas de implementación en el aula. Se analizan las demandas de la industria del software y el cambio tecnológico en la elección este enfoque, y se compara este nuevo curso con la solución clásica implementada anteriormente. Se presentan las ventajas y desafíos de este enfoque multiparadigma, luego de tres años de trabajo con más de 800 alumnos. Las conclusiones se enfocan en el impacto en el aprendizaje del alumno, considerando el efecto directo y el efecto indirecto sobre los cursos posteriores de la carrera.
Descargas
Citas
C. Leska, J. Barr, L.A. Smith King, “Multiple Paradigms in CS I”, ACM SIGCSE Bulletin, vol. 28, no. 1, pp. 343-347, 1996.
S. Perugini, “The design of an emerging/multi- paradigm programming languages course”, Journal of Computing Sciences in Colleges, vol. 34, no. 1, pp. 52- 59, 2018.
J. Reinfelds, “A three paradigm first course for CS majors”, ACM SIGCSE Bulletin, vol. 27, no. 1, pp. 223-227, 1995.
M.Vujošević-Janičić, D. Tošić, “The role of programming paradigms in the first programming courses”, The Teaching of Mathematics, vol. 21, pp. 63-83, 2008.
A. De Giusti, C. Madoz, E. Ibañez, “Propuesta de Enseñanza del curso ‘Algoritmos, Datos y Programas’”, April 8, 2018. [Online]. Available: http://info.unlp.edu.ar/wp- content/uploads/2018/09/Algoritmos-Datos-y- Programas.pdf [Accessed June 13, 2019]
E. Giangrande Jr, “CS1 programming language options”, Journal of Computing Sciences in Colleges, vol. 22, no. 3, pp. 153–160, 2007.
M. Hertz, “What do "CS1" and "CS2" mean?: investigating differences in the early courses”, in Proceedings of the 41st ACM Technical Symposium on Computer Science Education (SIGCSE '10), 2010, pp. 199-203.
K. Becker, “Back to Pascal: retro but not backwards”, Journal of Computing Sciences in Colleges, vol. 18, no. 2, pp. 17–27, 2002.
R. Close, D. Kopec, J. Aman, “CS1: perspectives on programming languages and the breadth-first approach”, Journal of Computing Sciences in Colleges, vol. 15, no. 5, pp. 228-234, 2000.
Pears, S. Seidman, L. Malmi, L. Mannila, E. Adams, J. Bennedsen, M. Devlin, J. Paterson, “A survey of Literature on the Teaching of Introductory Programming”, ACM SIGCSE Bulletin, vol. 39, no. 4, pp. 204-223, 2007.
T. Vilner, E. Zur, J. Gal-Ezer, “Fundamental concepts of CS1: procedural vs. object oriented paradigm - a case study”, ACM SIGCSE Bulletin, vol. 39, no. 3, pp. 171-175, 2007.
D. F. Shell, L. Soh, A. E. Flanigan, M. S. Peteranetz, “Students’ Initial Course Motivation and Their Achievement and Retention in College CS1 Courses”, in Proceedings of the 47th ACM Technical Symposium on Computing Science Education (SIGCSE '16), 2016, pp. 639-644.
C. Stephenson, A. D. Miller, C. Alvarado, L. Barker, V. Barr, T. Camp, C. Frieze, C. Lewis, E. Cannon Mindell, L. Limbird, D. Richardson, M. Sahami, E. Villa, H. Walker, S. Zweben, Retention in Computer Science Undergraduate Programs in the U.S.: Data Challenges and Promising Interventions, ACM, 2018.
S. Cass, “The 2018 Top Programming Languages”, IEEE Spectrum, July 31, 2018. [Online], Available: https://spectrum.ieee.org/at-work/innovation/the-2018- top-programming-languages [Accessed June 13, 2019]
K. B. Bruce, A. Danyluk, T. Murtagh, “Introducing Concurrency in CS 1”, in Proceedings of the 41st ACM Technical Symposium on Computer Science Education (SIGCSE '10), 2010, pp. 224-228.
L. De Giusti, F. Leibovich, F. Chichizola, M. Naiouf, A. De Giusti, “Incorporando conceptos en la enseñanza de Concurrencia y Paralelismo utilizando el entorno CMRE”, in Actas del XXI (CACIC 2015), 2015, pp. 1212-1221.
S. Magana, Disruptive Classroom Technologies: A Framework for Innovation in Education, Corwin Press, 2017.
Forte, M. Guzdial, “Motivation and Non-Majors in CS1: Identifying Discrete Audiences for Introductory Computer Science”, IEEE Transactions on Education, vol. 48, no. 2, pp. 248-253, 2005.
A. De Giusti, C. Madoz, G. Gorga, L. De Giusti, V. Ainchil, I. Rodriguez, L. Marrero, E. Ibañez, “Propuesta de Enseñanza del curso ‘Conceptos de Algoritmos, Datos y Programas’”, April, 8, 2018. [Online]. Available: http://info.unlp.edu.ar/wp- content/uploads/2018/05/Conceptos-de-Algoritmos- Datos-y-Programas.pdf [Accessed June 13, 2019]
A. De Giusti, G. Gorga, L. De Giusti, V. Ainchil, W. Hasperué, V. Sanz, E. Ibañez, “Propuesta de Enseñanza del curso ‘Taller de Programación’”, April, 8, 2018. [Online]. Available: http://info.unlp.edu.ar/wp- content/uploads/2018/05/Taller-de-Programaci%C3%B3n.pdf [Accessed June 13, 2019]
S. S. Brilliant, T. R. Wiseman, “The first programming paradigm and language dilemma”, ACM SIGCSE Bulletin, vol. 28, no. 1, pp. 338–342, 1996.
D. Gries, “What should we teach in an introductory programming course?”, ACM SIGCSE Bulletin, vol. 6, no. 1, pp. 81-89, 1974.
M. H. Goldwasser, D. Letscher, “Teaching an Object- Oriented CS1 with Python”, ACM SIGCSE Bulletin, vol. 40, no. 3, pp. 42-46, 2008.
K. Sanders, L. Thomas, “Checklists for Grading Object-Oriented CS1 Programs: concepts and misconceptions”, ACM SIGCSE Bulletin, vol. 39, no. 3, pp. 166-170, 2007.
J. Castro, L. De Giusti, G. Gorga, M. Sanchez, M. Naiouf, A. De Giusti, “ECMRE: Extended Concurrent Multi Robot Environment”, in Actas del XXIII Congreso Argentino de Ciencias de la Computación (CACIC 2017), 2017, pp. 1133-1142.
De Giusti, F. E. Frati, M. Sanchez, L. De Giusti, “LIDI Multi Robot Environment: Support software for concurrency learning in CS1”, in Proceedings of the 2012 International Conference on Collaboration Technologies and Systems (CTS), 2012, pp. 294-298.
Publicado
Cómo citar
Número
Sección
Licencia
Derechos de autor y licencias
Los artículos aceptados para publicación tendrán la licencia de Creative Commons BY-NC. Los autores deben firmar un acuerdo de distribución no exclusiva después de la aceptación del artículo.