Servicios Personalizados
Articulo
Indicadores
Links relacionados
- Citado por SciELO
- Similares en SciELO
Bookmark
Journal Boliviano de Ciencias
versión impresa ISSN 2075-8936
JBC v.13 n.39 Cochabamba ago. 2017
ARTÍCULO REVISIÓN
PYTHON, NUEVO PARADIGMA EN LA EDUCACIÓN UNIVERSITARIA
PYTHON, NEW PARADIGM IN UNIVERSITY EDUCATION
1. Iván José Mendoza Moya
1. Ingeniero de Sistemas. Docente Universidad del Valle Cochabamba. ijmaendozam@gmail.com
Fecha de recepción: 14/11/16 Fecha de aprobación: 17/07/17
RESUMEN
La creciente necesidad de aplicar la tecnología en la vida diaria torna cada vez más imperioso la necesidad del aprendizaje de un lenguaje de programación a fin de disenar, elaborar o modificar intrincadas soluciones que son empleadas para el procesamiento de datos. Esto puede variar según el área de interés de cada persona, llegando a requerir un alto grado de dominio o tal vez un dominio somero de estos lenguajes.
Afrontando una realidad o un árbol genealógico de los lenguajes de programación, nos muestra que se va ramificando cada vez más en alternativas genéricas o específicas.
Existe una gran variedad de lenguajes de programación a pesar del nivel de formación, pero al margen de considerar como primer indicador el objetivo de uso, debe considerarse un indicador que se torna cada vez más relevante. Este indicador es la curva de aprendizaje, que clasifica a los lenguajes con un grado mayor o menor de complejidad de escritura o una sintaxis que aparenta más un lenguaje natural que un lenguaje estricto basado en normasy reglas que obedecen a sintaxis muy elaboradas.
Entre los lenguajes de programación -si se considera este último indicador como relevante- se encuentran los lenguajes de alto nivel, donde cabe resalta el lenguaje Python que, por sus bondades, está en constante crecimiento por la aceptación de la comunidad mundial de desarrolladores.
Se considera que Python es un lenguaje de alto nivel con una creciente aceptación de la comunidad mundial, por lo cual debería ser el primer lenguaje a ser aprendido por todas las personas, no importando las características iniciales de los estudiantes en los grados de formación universitaria.
Palabras clave: Python. Lenguaje programación. Alto nivel
ABSTRACT
The growing need to apply technology in daily life it becomes increasingly imperative to learn a programming language in order to design, develop or modify intricate solutions that are used for data processing, which according to the área of interest of each person, may requirea high degree of mastery orperhapsa shallowmastery of these languages.
Facing a reality, there is a genealogical tree of programming languages, which is branching increasingly into generic or specific alternatives, which base their use on the objective that seeks to reach the interested.
No matter the level of training, there is a great variety of programming languages, but regardless of the goal of use as the first indicator, it should be considered an indicator that becomes increasingly relevant, this indicator is the learning curve, which classifies languages with a greater or lesser degree of writing complexity or a syntax that looks more like a natural language than a strict language based on norms and rules that obey elaborate syntaxes.
Among the programming languages, if this last indicator is considered relevant, there are high-level languages, highlighting the Python language, which, due to its benefits, is constantly growing by the acceptance of the worldwide community of developers.
If Python is considered to be a high-level language with a growing acceptance of the world community, then it should be the first language that should be learned by all people, regardless of the initialcharacteristicsof studentsin university degrees.
Keywords: Python. Programming language. High level
INTRODUCCIÓN
Al igual como se aprende a usar una lengua de comunicación social, todo nuevo conocimiento para el hombre parte desde la simplicidad del uso, hasta el dominio y entendimiento de las robustas reglas y normas que rigen su formación. No menos significativo es el aprendizaje de los lenguajes de programación que, en la cotidianeidad, se ha convertido en una obligatoriedad en prácticamente cualquier área de conocimiento profesional. Es así que las instituciones de formación profesional superior incluyen acertadamente materias relacionadas con la informática en un mayoro menorgrado de complejidad; empero, con la mayorseriedad, el aprendizaje de la informática en la formación profesional universitaria se profundiza más, hasta la inclusión de lenguajes de programación, y con mayor necesidad en las carreras de tecnifi-cación científica en ingeniería.
Sin embargo, existen factores que pueden ser determinantes en la buena práctica de una metodología de la ensenanza y aprendizaje de nuevos lenguajes de programación. Claramente se observa que todo reposa en la curva de aprendizaje de estos lenguajes, que según sea el criterio del evaluadorsitúan a los lenguajes en ranking parametrizados en el uso, costos, comunidad, respaldo y otros. Ahora, surgen más preguntas como: ?qué características pueden convertirse en contrarios al objetivo de la ensenanza de un lenguaje? ?cuan determinante es la voluntad, entusiasmo o interés del estudiante para aprender un lenguaje? ?repite su efectividad la idea que la ingeniería es para pocos? ?cuál la importancia de elegir un lenguaje de programación con características similares a la lengua materna? ?cuál es el grado de mejora en el aprendizaje de programación según el lenguaje elegido? ?la responsabilidad de la universidad en elegir el primer lenguaje de ensenanza es muy alta, o sólo se limita a observar las consecuencias en los niveles posteriores de efectividad de los estudiantes?
Cambio del paradigma PEA en la programación de software
Surgen nuevas y complejas interrogantes según se avanza en el análisis de la obligada sinergia entre hombre y computadora , que van marcando la frontera de estudio para construir nuevos paradigmas en el PEA (Proceso Ensenanza-Aprendizaje) de los lenguajes de programación.
Se ha valorado el resultado de la aplicación a través consultas a docentes, estudiantes y profesionales que están relacionados con el tema de desarrollo de software, así como las bibliografías relevantes con el tema, estudios realizados por empresas internacionales que exponen sus resultados consecuencia del conteo de líneas de código en repositorios públicos, todo esto con el propósito de funda mentar cambios en los recursos del PEA en las carreras de formación universitaria, sustentando un modelo ideal acorde a los cambios tecnológicos.
Afluyen todas estas ideas en una interrogante: ?cuál debería ser el primer lenguaje para los interesados que inician carreras afines a la programación de computadoras?
Considerando que existe una gran oferta y alternativas de los lenguajes de programación, conviene recurrir al análisis de terceros obteniendo bases de conocimiento sobre un análisis más global y mundial sobre las preferencias y sus características para el empleo de lenguajes.
Desde 1950 a la fecha, el árbol genealógico de los lenguajes de programación ha sido abundante (figura N° 1) [1], siendo éstos clasificados como genéricos, específicos, híbridos, de bajo nivel, de alto nivel, orientados a objetos y varios criterios de enfoque porsus características, (figura N°2).
Se ha venido insertando en el paradigma tradicional el aprendizaje de la programación como asignatura en los cursos de secundaria, e incluso primaria, recurriendo a lenguajes tipados altamente elaborados en su sintaxis y que distan de ser útiles para el ambiente académico escolar. Esta selección de los lenguajes parte únicamente con el criterio de intentar dar una continuidad de los recursos académicos que encarará el estudiante a futuro. Pero, ?cuáles son los fundamentos cien-tíficoso pragmáticos que determinan cuales el lenguaje que debe la academia incorporarcomo parte de sus contenidos curriculares?
Conceptualizando las bases Lev Vigotsky para entender el lenguaje como proceso social y a Jean Piaget como proceso cog-nitivo, se entiende que el aprendizaje de la lengua se basa en la curiosidad, imitación, repetición y habla telegráfica (figuras N° 2 y 3). En etapas universitarias, parte de esa curiosidad se transforma en necesidad, obligando a los interesados a entender desde sus bases el nuevo conocimiento.
Así como los ninos absorben la gramática de la lengua que tiene contacto, donde la simplicidad de las normas y reglas las aprende luego de usar libremente el lenguaje y los ideales de comunicación, un lenguaje de programación debería ser aquel lenguaje que cumpla varias características.
Para elegir un lenguaje se considera aspectos como si es comercial, el paradigma de programación, comunidad, soporte, ofertas de empleo, complejidad, costos, licencias y no menos importante curva de aprendizaje.
La metodología de la programación es aquella que colabora y da soporte a las etapas de programación, como son analizar y entender, disenar la solución, codificar, depurar y testear, como se muestra en la figura N°4.
Ante los recursos actuales para el aprendizaje (como repositorios de contenidos digitales donde se hacía prácticamente imperceptible la brecha digital en las actuales generaciones, las primeras practicas del aprendizaje donde no existían información actualizada, los libros eran escasos y estaban en otro idioma, no existía comunidad de apoyo o consulta), el esfuerzo y logro para lograr aprender un lenguaje de programación era titánico.
Sin embargo, la actualización constante de las ofertas tecnológicas, contenidos digitales y otros más nos ha llevado a una carrera profesional con mayor cantidad y calidad de recursos, donde sólo queda una variable pendiente: la elección del primer lenguaje de programación. Esto en virtud que todas las demás características de los lenguajes quedan en segundo plano en importancia, como: comunidad, respaldo técnico, soporte, etc.
Considerando que Python es el lenguaje con menos complejidad de programación, a continuacion.se muestra un pedazo de código, cuya intención es mostrar la fecha y la hora del sistema.
El lenguaje de programación fue creado por Guido van Rossum y cuenta con las mayores características para el aprendizaje como primer lenguaje. Ha ido marcando desde los anos 90 un vertiginoso crecimiento y es hasta la fecha uno de los lenguajes que prefiere la comunidad de desarrolladores y empresas para la construcción de aplicaciones o sitios web, como se muestra en la tabla N° 1.
A continuacion, se muestran dos cuadros obtenidos de los repositorios de GitHub [5], que son uno de los repositorios importantes para el versionamiento de código en los cuales resalta la aceptabilidad del lenguaje Python entre los proyectos con mayor presencia y en grandes proyectos de aplicaciones.
Como conclusión, se puede mencionar que Python es un lenguaje de programación que soporta los paradigmas de orientación a objetos, programación imperativa, funcionales y de procedimiento debido a su elegante diseno y simple sintaxis, que fácilmente puede encarar proyectos grandes o pequenos, de escritorio o en la web, al ser un lenguaje altamente legible, conciso, flexible y con respaldo. Empero, su mayor cualidad es la que se lo considera como un lenguaje de alto nivel, lo que permite una entendimiento más adaptado al lenguaje humano común, pareciéndose su estructura a un pseudocódigo.
REFERENCIAS BIBLIOGRÁFICAS
[1] http://www.levenez.com/lang/history.hml (14/Nov/2016 08:00) [ Links ]
[2] Vygotski, L.S., Kozulin, A., & Abadía, P. T. (1995). Pensamiento y lenguaje (pp. 97-115). Barcelona: Paidós. [ Links ]
[3] Piaget, J., & Inhelder, B. (1948). La représentation de l'espace chez l'enfant [ Links ]
[4] http://www.itproportal.com/2016/04/02/javascript-vs-python-which-programming-language-is-the-most-complex/ (abril de 2016) [ Links ]
[5] http://Github.com (noviembre de 2016) [ Links ]
REFERENCIAS CONSULTADAS
Van Rossum, G., & Drake Jr, F. L. (1995). Python reference manual. Amsterdam: Centrum voorWiskundeen Informática. https://wiki.python.org/moin/OrganizationsUsingPython, (noviembre de 2016) [ Links ]
https://pythonconquerstheuniverse.word press.com/2009/10/03/python-java-a-side-by-side-comparison/ (noviembre de 2016) [ Links ]