¿Enseñar a programar con Python o con Python enseñar a programar?
Aceptada
Charla sobre cómo enseñar conceptos de programación en la Universidad utilizando Python como herramienta didáctica.
Tipo: Charla estandard, 25 minutos
Nivel: Medio
Disertantes: Lucas Spigariol
Biografiá del Disertante: Ing. en Sistemas de Información Mag. en Docencia Universitaria Lic. en Ciencias de la Comunicación
Horario: 10:30 - 10:55 - 26/10/2024
Sala: Auditorio
Etiquetas/Tags: educación. paradigmas de programación.
Descripción completa
Parece una tautología, pero no lo es. Tal vez la síntesis en la enunciación del título no sea del todo expresiva de la complejidad del planteo, pero insinúa una tensión en el vínculo entre lo que se considera una herramienta y un objetivo. En un extremo, quien sabe mucho sobre programación pero no tiene idea de Python, requiere un cierto camino de aprendizaje para familiarizarse con el lenguaje y aprovechar sus potencialidades siendo conciente de sus limitaciones. En el otro extremo, también es posible conocer mucho sobre Python aún sin tener conceptos de programación, lo que implica un recorrido de aprendizaje muy diferente al anterior. De todas maneras, el escenario planteado es diferente: A quien no conoce ni de programación ni de python, ¿que recorrido se le propone? Sin dudas será por un lugar intermedio a ambos extremos anteriores donde se articulan elementos del lenguaje con conceptos de programación. Pero retomando la cuestión inicial, ¿cómo se da esta articulación? ¿es el lenguaje una herramienta para el objetivo de aprender a programar bien, o son los conceptos de programación herramientas para el objetivo de aprender bien el lenguaje? Aquí se propone seguir el primer recorrido: Python es un excelente medio para que un estudiante se adentre en el apasionante mundo de la programación. En esta idea se basa el programa de una materia inicial en una carrera universitaria de informática. El objetivo es formar profesionales que a la hora de desarrollar un producto de software no sólo encuentren en Python una opción válida, sino que en contextos donde dicha elección no sea posible puedan recuperar los conceptos de programación aprendidos y extrapolarlos a otros lenguajes o tecnologías. La siguiente definición, no menor, es acerca de cuáles conceptos de programación son los que se se busca enseñar. En la industria del desarrollo de software conviven diferentes conjuntos de conceptos de programación que la academia, tomando prestando el término de las ciencias sociales, define como paradigmas. Sin llegar a ser excluyentes, tiene cada uno su propia identidad y una serie de principios fundantes que orienta la forma de pensar de quienes programan en ellos, que queda visiblemente reflejada en el código escrito. Phyton, siendo un lenguaje versatil y amplio en el abanico de opciones que pone a disposición del programador, permite ser utilizado para construir software desde diferentes paradigmas, en particular la programación orientada a objetos, la programación funcional y la programación estructurada o procedural. De acuerdo con cuál paradigma de programación se ponga como objetivo de aprendizaje será el enfoque que se pueda hacer con el lenguaje. Y como todo "enfoque", se asume un determinado recorte en el cuál hay elementos que quedan fuera, y hay un énfasis en destacar ciertos otros elementos. En el presente trabajo se abordan en particular las decisiones tomadas para enseñar a programar de manera procedural con python y se insinúan algunas pistas para hacerlo en los otros paradigmas. Se basa en la tarea docente, relativamente reciente, en la asignatura "Taller de programación I" de la Tecnicatura en Inteligencia Artificial y la Licenciatura en Informática de la Unahur, y en la experiencia de mucho años de docencia universitaria, habiendo hecho el recorrido personal de llegar a python ya sabiendo programar en los diferentes paradigmas.