Python, nuevo paradigma en la educación universitaria file... nuevo paradigma en la educación ......

8
• VOLUMEN 13 • NÚMERO 38 • ISSN 2075 - 8936 RESUMEN Lacrecientenecesidaddeaplicarlatecnologíaenlavidadiariatornacadavezmásimperiosolanecesidaddelaprendizajedeun lenguajedeprogramaciónafindediseñar,elaboraromodificarintrincadassolucionesquesonempleadasparaelprocesamientode datos.Estopuedevariarsegúneláreadeinterésdecadapersona,llegandoarequerirunaltogradodedominiootalvezundominio somerodeestoslenguajes. Afrontandounarealidadounárbolgenealógicodeloslenguajesdeprogramación,nosmuestraquesevaramificandocadavezmás enalternativasgenéricasoespecíficas. Existeunagranvariedaddelenguajesdeprogramaciónapesardelniveldeformación,peroalmargendeconsiderarcomoprimerin- dicadorelobjetivodeuso,debeconsiderarseunindicadorquesetornacadavezmásrelevante.Esteindicadoreslacurvadeapren- dizaje,queclasificaaloslenguajesconungradomayoromenordecomplejidaddeescrituraounasintaxisqueaparentamásun lenguajenaturalqueunlenguajeestrictobasadoennormasyreglasqueobedecenasintaxismuyelaboradas. Entreloslenguajesdeprogramación-siseconsideraesteúltimoindicadorcomorelevante-seencuentranloslenguajesdealtonivel, dondecaberesaltaellenguajePythonque,porsusbondades,estáenconstantecrecimientoporlaaceptacióndelacomunidad mundialdedesarrolladores. SeconsideraquePythonesunlenguajedealtonivelconunacrecienteaceptacióndelacomunidadmundial,porlocualdeberíaser elprimerlenguajeaseraprendidoportodaslaspersonas,noimportandolascaracterísticasinicialesdelosestudiantesenlosgrados deformaciónuniversitaria. Palabras clave: Python.Lenguajeprogramación.Altonivel ABSTRACT Thegrowingneedtoapplytechnologyindailylifeitbecomesincreasinglyimperativetolearnaprogramminglanguageinorderto design,developormodifyintricatesolutionsthatareusedfordataprocessing,whichaccordingtotheareaofinterestofeachperson, mayrequireahighdegreeofmasteryorperhapsashallowmasteryoftheselanguages. Facingareality,thereisagenealogicaltreeofprogramminglanguages,whichisbranchingincreasinglyintogenericorspecific alternatives,whichbasetheiruseontheobjectivethatseekstoreachtheinterested. 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,itshouldbeconsideredanindicatorthatbecomesincreasinglyrelevant,thisindicatoristhelearningcurve,whichclassifies languageswithagreaterorlesserdegreeofwritingcomplexityorasyntaxthatlooksmorelikeanaturallanguagethanastrictlanguage basedonnormsandrulesthatobeyelaboratesyntaxes. Amongtheprogramminglanguages,ifthislastindicatorisconsideredrelevant,therearehigh-levellanguages,highlightingthePython language,which,duetoitsbenefits,isconstantlygrowingbytheacceptanceoftheworldwidecommunityofdevelopers. IfPythonisconsideredtobeahigh-levellanguagewithagrowingacceptanceoftheworldcommunity,thenitshouldbethefirst languagethatshouldbelearnedbyallpeople,regardlessoftheinitialcharacteristicsofstudentsinuniversitydegrees. Keywords: Python.Programminglanguage.Highlevel 68 ÁREAS TECNOLOGÍA, INFORMÁTICA, ELECTRÓNICA Y ARQUITECTURA 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.IngenierodeSistemas.DocenteUniversidaddelValleCochabamba. [email protected] Fecha de recepción: 14/11/16 Fecha de aprobación: 17/07/17 REV JOURNAL BOL CIENC # 39.qxp_Layout 1 22/8/17 4:37 p.m. Página 68

Transcript of Python, nuevo paradigma en la educación universitaria file... nuevo paradigma en la educación ......

Page 1: Python, nuevo paradigma en la educación universitaria file... nuevo paradigma en la educación ... desdelasimplicidaddeluso,hastaeldominioy ... empero,conlamayorseriedad,elaprendizajedela

• VOLUMEN 13 • NÚMERO 38 • ISSN 2075 - 8936

RESUMENLa­creciente­necesidad­de­aplicar­la­tecnología­en­la­vida­diaria­torna­cada­vez­más­imperioso­la­necesidad­del­aprendizaje­de­unlenguaje­de­programación­a­fin­de­diseñar,­elaborar­o­modificar­intrincadas­soluciones­que­son­empleadas­para­el­procesamiento­dedatos.­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­dominiosomero­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ásen­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­in-dicador­el­objetivo­de­uso,­debe­considerarse­un­indicador­que­se­torna­cada­vez­más­relevante.­Este­indicador­es­la­curva­de­apren-dizaje,­que­clasifica­a­los­lenguajes­con­un­grado­mayor­o­menor­de­complejidad­de­escritura­o­una­sintaxis­que­aparenta­más­unlenguaje­natural­que­un­lenguaje­estricto­basado­en­normas­y­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­comunidadmundial­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­serel­primer­lenguaje­a­ser­aprendido­por­todas­las­personas,­no­importando­las­características­iniciales­de­los­estudiantes­en­los­gradosde­formación­universitaria.

Palabras clave: Python.­Lenguaje­programación.­Alto­nivel

ABSTRACTThe­growing­need­to­apply­technology­in­daily­life­it­becomes­increasingly­imperative­to­learn­a­programming­language­in­order­todesign,­develop­or­modify­intricate­solutions­that­are­used­for­data­processing,­which­according­to­the­area­of­interest­of­each­person,may­require­a­high­degree­of­mastery­or­perhaps­a­shallow­mastery­of­these­languages.

Facing­a­reality,­ there­ is­a­genealogical­tree­of­programming­languages,­which­ is­branching­ increasingly­ into­generic­or­specificalternatives,­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­ firstindicator,­it­should­be­considered­an­indicator­that­becomes­increasingly­relevant,­this­indicator­is­the­learning­curve,­which­classifieslanguages­with­a­greater­or­lesser­degree­of­writing­complexity­or­a­syntax­that­looks­more­like­a­natural­language­than­a­strict­languagebased­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­Pythonlanguage,­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­firstlanguage­that­should­be­learned­by­all­people,­regardless­of­the­initial­characteristics­of­students­in­university­degrees.

Keywords: Python.­Programming­language.­High­level

68 ÁREAS TECNOLOGÍA, INFORMÁTICA, ELECTRÓNICA Y ARQUITECTURA

Artículo Revisión

Python, nuevo paradigma en la educaciónuniversitaria

Python, new paradigm in university education1. Iván José Mendoza Moya

1.­Ingeniero­de­Sistemas.­Docente­Universidad­del­Valle­Cochabamba.­[email protected]

Fecha de recepción: 14/11/16Fecha de aprobación: 17/07/17

REV JOURNAL BOL CIENC # 39.qxp_Layout 1 22/8/17 4:37 p.m. Página 68

Page 2: Python, nuevo paradigma en la educación universitaria file... nuevo paradigma en la educación ... desdelasimplicidaddeluso,hastaeldominioy ... empero,conlamayorseriedad,elaprendizajedela

UNIVERSIDAD DEL VALLE

INTRODUCCIÓNAl­igual­como­se­aprende­a­usar­una­lengua­de­comunicación­social,­todo­nuevo­conocimiento­para­el­hombre­partedesde­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­enuna­obligatoriedad­en­prácticamente­cualquier­área­de­conocimiento­profesional.­Es­así­que­las­instituciones­de­forma-ción­profesional­superior­incluyen­acertadamente­materias­relacionadas­con­la­informática­en­un­mayor­o­menor­gradode­complejidad;­empero,­con­la­mayor­seriedad,­el­aprendizaje­de­la­informática­en­la­formación­profesional­universitariase­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­enseñanzay­aprendizaje­de­nuevos­lenguajes­de­programación.­Claramente­se­observa­que­todo­reposa­en­la­curva­de­aprendizajede­estos­lenguajes,­que­según­sea­el­criterio­del­evaluador­sitúan­a­los­lenguajes­en­ranking­parametrizados­en­el­uso,­cos-tos,­comunidad,­respaldo­y­otros.­Ahora,­surgen­más­preguntas­como:­¿qué­características­pueden­convertirse­en­con-trarios­al­objetivo­de­la­enseñanza­de­un­lenguaje?­¿cuán­determinante­es­la­voluntad,­entusiasmo­o­interés­del­estudiantepara­aprender­un­lenguaje?­¿repite­su­efectividad­la­idea­que­la­ingeniería­es­para­pocos?­¿cuál­la­importancia­de­elegirun­lenguaje­de­programación­con­características­similares­a­la­lengua­materna?­¿cuál­es­el­grado­de­mejora­en­el­apren-dizaje­de­programación­según­el­lenguaje­elegido?­¿la­responsabilidad­de­la­universidad­en­elegir­el­primer­lenguaje­deenseñanza­es­muy­alta,­o­sólo­se­limita­a­observar­las­consecuencias­en­los­niveles­posteriores­de­efectividad­de­los­es-tudiantes?

Cambio del paradigma PEA en la programación de softwareSurgen­nuevas­y­complejas­interrogantes­según­se­avanza­en­el­análisis­de­la­obligada­sinergia­entre­hombre­y­com-putadora­,­que­van­marcando­la­frontera­de­estudio­para­construir­nuevos­paradigmas­en­el­PEA­(Proceso­Enseñanza–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­rela-cionados­con­el­tema­de­desarrollo­de­software,­así­como­las­bibliografías­relevantes­con­el­tema,­­estudios­realizados­porempresas­internacionales­que­exponen­sus­resultados­consecuencia­del­conteo­de­líneas­de­código­en­repositorios­públi-cos,­todo­esto­con­el­propósito­de­fundamentar­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­iniciancarreras­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­deterceros­obteniendo­bases­de­conocimiento­sobre­un­análisis­más­global­y­mundial­sobre­las­preferencias­y­sus­carac-terí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­crite-rios­de­enfoque­por­sus­características.­(figura­Nº 2).

69

• VOLUMEN 13 • NÚMERO 38 • ISSN 2075 - 8936

REV JOURNAL BOL CIENC # 39.qxp_Layout 1 22/8/17 4:37 p.m. Página 69

Page 3: Python, nuevo paradigma en la educación universitaria file... nuevo paradigma en la educación ... desdelasimplicidaddeluso,hastaeldominioy ... empero,conlamayorseriedad,elaprendizajedela

• VOLUMEN 13 • NÚMERO 38 • ISSN 2075 - 8936

Figura Nº 1. Árbol genealógico lenguajes de programación 1950 - 2015

Fuente: http://www.levenez.com/lang/history.hml (14/Nov/2016)

Figura Nº 2. Características de los lenguajes de programación

Fuente: Elaboración propia a partir de diversas fuentes, 2016

70 ÁREAS TECNOLOGÍA, INFORMÁTICA, ELECTRÓNICA Y ARQUITECTURA

REV JOURNAL BOL CIENC # 39.qxp_Layout 1 22/8/17 4:37 p.m. Página 70

Page 4: Python, nuevo paradigma en la educación universitaria file... nuevo paradigma en la educación ... desdelasimplicidaddeluso,hastaeldominioy ... empero,conlamayorseriedad,elaprendizajedela

UNIVERSIDAD DEL VALLE

Se­ha­venido­insertando­en­el­paradigma­tradicional­el­aprendizaje­de­la­programación­como­asignatura­en­los­cursos­desecundaria,­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­daruna­continuidad­de­los­recursos­académicos­que­encarará­el­estudiante­a­futuro.­Pero,­¿cuáles­son­los­fundamentos­cien-tíficos­o­pragmáticos­que­determinan­cual­es­el­lenguaje­que­debe­la­academia­incorporar­como­parte­de­sus­contenidoscurriculares?­

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­interesa-dos­a­entender­desde­sus­bases­el­nuevo­conocimiento.­

Así­como­los­niños­absorben­la­gramática­de­la­lengua­que­tiene­contacto,­donde­la­simplicidad­de­las­normas­y­reglaslas­aprende­luego­de­usar­libremente­el­lenguaje­y­los­ideales­de­comunicación,­un­lenguaje­de­programación­debería­seraquel­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.

Figura Nº 3. Aprendiendo a programar

Fuente: Elaboración propia a partir de diversas fuentes, 2016

La­metodología­de­la­programación­es­aquella­que­colabora­y­da­soporte­a­las­etapas­de­programación,­como­son­analizary­entender,­diseñar­la­solución,­codificar,­depurar­y­testear,­como­se­muestra­en­la­figura­Nº 4.

FiguraNº 4. Procesos de la programación

Fuente: Elaboración propia a partir de diversas fuentes, 2016

71

• VOLUMEN 13 • NÚMERO 38 • ISSN 2075 - 8936

REV JOURNAL BOL CIENC # 39.qxp_Layout 1 22/8/17 4:37 p.m. Página 71

Page 5: Python, nuevo paradigma en la educación universitaria file... nuevo paradigma en la educación ... desdelasimplicidaddeluso,hastaeldominioy ... empero,conlamayorseriedad,elaprendizajedela

• VOLUMEN 13 • NÚMERO 38 • ISSN 2075 - 8936

Ante­los­recursos­actuales­para­el­aprendizaje­(como­repositorios­de­contenidos­digitales­donde­se­hacía­prácticamenteimperceptible­la­brecha­digital­en­las­actuales­generaciones,­las­primeras­practicas­del­aprendizaje­donde­no­existían­in-formación­actualizada,­los­libros­eran­escasos­y­estaban­en­otro­idioma,­no­existía­comunidad­de­apoyo­o­consulta),­elesfuerzo­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­unacarrera­profesional­con­mayor­cantidad­y­calidad­de­recursos,­donde­sólo­queda­una­variable­pendiente:­la­elección­delprimer­lenguaje­de­programación.­Esto­en­virtud­que­todas­las­demás­características­de­los­lenguajes­quedan­en­segundoplano­en­importancia,­como:­comunidad,­respaldo­técnico,­soporte,­etc.­

Considerando­que­Python­es­el­lenguaje­con­menos­complejidad­de­programación,­a­continuación,­se­muestra­un­pedazode­código,­cuya­intención­es­mostrar­la­fecha­y­la­hora­del­sistema.

Figura Nº 5. Código para mostrar fecha y hora en JAVA y PYTHON

Fuente: Elaboración propia, 2016

El­lenguaje­de­programación­fue­creado­por­Guido­van­Rossum­y­cuenta­con­las­mayores­características­para­el­apren-dizaje­como­primer­lenguaje.­Ha­ido­marcando­desde­los­años­90­un­vertiginoso­crecimiento­y­es­hasta­la­fecha­uno­delos­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.

72 ÁREAS TECNOLOGÍA, INFORMÁTICA, ELECTRÓNICA Y ARQUITECTURA

REV JOURNAL BOL CIENC # 39.qxp_Layout 1 22/8/17 4:37 p.m. Página 72

Page 6: Python, nuevo paradigma en la educación universitaria file... nuevo paradigma en la educación ... desdelasimplicidaddeluso,hastaeldominioy ... empero,conlamayorseriedad,elaprendizajedela

UNIVERSIDAD DEL VALLE

Tabla Nº 1. Lista de aplicaciones realizadas

Fuente: Elaboración propia, 2016

73

• VOLUMEN 13 • NÚMERO 38 • ISSN 2075 - 8936

REV JOURNAL BOL CIENC # 39.qxp_Layout 1 22/8/17 4:37 p.m. Página 73

Page 7: Python, nuevo paradigma en la educación universitaria file... nuevo paradigma en la educación ... desdelasimplicidaddeluso,hastaeldominioy ... empero,conlamayorseriedad,elaprendizajedela

• VOLUMEN 13 • NÚMERO 38 • ISSN 2075 - 8936

A­continuación,­se­muestran­dos­cuadros­obtenidos­de­los­repositorios­de­GitHub­[5],­que­son­uno­de­los­repositorios­im-portantes­para­el­versionamiento­de­código­en­los­cuales­resalta­la­aceptabilidad­del­lenguaje­Python­entre­los­proyec-tos­con­mayor­presencia­y­en­grandes­proyectos­de­aplicaciones.

Figura Nº 6. Ranking de popularidad de los lenguajes de programación

Fuente: GitHub, noviembre 2016

Figura Nº 7. Top de los lenguajes de programación activos

Fuente: GitHub/info.html (noviembre, 2016)

Como­conclusión,­se­puede­mencionar­que­Python­es­un­lenguaje­de­programación­que­soporta­los­paradigmas­de­ori-entación­a­objetos,­programación­imperativa,­funcionales­y­de­procedimiento­debido­a­su­elegante­diseño­y­simple­sin-taxis,­que­fácilmente­puede­encarar­proyectos­grandes­o­pequeños,­de­escritorio­o­en­la­web,­al­ser­un­lenguaje­altamentelegible,­conciso,­flexible­y­con­respaldo.­Empero,­su­mayor­cualidad­es­la­que­se­lo­considera­como­un­lenguaje­de­altonivel,­lo­que­permite­una­entendimiento­más­adaptado­al­lenguaje­humano­común,­pareciéndose­su­estructura­a­unpseudocódigo.

74 ÁREAS TECNOLOGÍA, INFORMÁTICA, ELECTRÓNICA Y ARQUITECTURA

REV JOURNAL BOL CIENC # 39.qxp_Layout 1 22/8/17 4:37 p.m. Página 74

Page 8: Python, nuevo paradigma en la educación universitaria file... nuevo paradigma en la educación ... desdelasimplicidaddeluso,hastaeldominioy ... empero,conlamayorseriedad,elaprendizajedela

UNIVERSIDAD DEL VALLE

REFERENCIAS BIBLIOGRÁFICAS[1]­http://www.levenez.com/lang/history.hml­(14/Nov/2016­08:00)[2]­Vygotski,­L.­S.,­Kozulin,­A.,­&­Abadía,­P.­T.­(1995).­Pensamiento­y­lenguaje­(pp.­97-115).­Barcelona:­Paidós.[3]­Piaget,­J.,­&­Inhelder,­B.­(1948).­La­représentation­de­l'espace­chez­l'enfant[4]­http://www.itproportal.com/2016/04/02/javascript-vs-python-which-programming-language-is-the-most-complex/(abril­de­2016)­[5]­http://Github.com­(noviembre­de­2016)

REFERENCIAS CONSULTADASVan­Rossum,­G.,­&­Drake­Jr,­F.­L.­(1995).­Python­reference­manual.­Amsterdam:­Centrum­voor­Wiskunde­en­Informatica.https://wiki.python.org/moin/OrganizationsUsingPython,­(noviembre­de­2016)https://pythonconquerstheuniverse.wordpress.com/2009/10/03/python-java-a-side-by-side-comparison/­(noviembre­de2016)

75

• VOLUMEN 13 • NÚMERO 38 • ISSN 2075 - 8936

REV JOURNAL BOL CIENC # 39.qxp_Layout 1 22/8/17 4:37 p.m. Página 75