Python, nuevo paradigma en la educación universitaria file... nuevo paradigma en la educación ......
Transcript of Python, nuevo paradigma en la educación universitaria file... nuevo paradigma en la educación ......
• VOLUMEN 13 • NÚMERO 38 • ISSN 2075 - 8936
RESUMENLacrecientenecesidaddeaplicarlatecnologíaenlavidadiariatornacadavezmásimperiosolanecesidaddelaprendizajedeunlenguajedeprogramaciónafindediseñar,elaboraromodificarintrincadassolucionesquesonempleadasparaelprocesamientodedatos.Estopuedevariarsegúneláreadeinterésdecadapersona,llegandoarequerirunaltogradodedominiootalvezundominiosomerodeestoslenguajes.
Afrontandounarealidadounárbolgenealógicodeloslenguajesdeprogramación,nosmuestraquesevaramificandocadavezmásenalternativasgenéricasoespecíficas.
Existeunagranvariedaddelenguajesdeprogramaciónapesardelniveldeformación,peroalmargendeconsiderarcomoprimerin-dicadorelobjetivodeuso,debeconsiderarseunindicadorquesetornacadavezmásrelevante.Esteindicadoreslacurvadeapren-dizaje,queclasificaaloslenguajesconungradomayoromenordecomplejidaddeescrituraounasintaxisqueaparentamásunlenguajenaturalqueunlenguajeestrictobasadoennormasyreglasqueobedecenasintaxismuyelaboradas.
Entreloslenguajesdeprogramación-siseconsideraesteúltimoindicadorcomorelevante-seencuentranloslenguajesdealtonivel,dondecaberesaltaellenguajePythonque,porsusbondades,estáenconstantecrecimientoporlaaceptacióndelacomunidadmundialdedesarrolladores.
SeconsideraquePythonesunlenguajedealtonivelconunacrecienteaceptacióndelacomunidadmundial,porlocualdeberíaserelprimerlenguajeaseraprendidoportodaslaspersonas,noimportandolascaracterísticasinicialesdelosestudiantesenlosgradosdeformaciónuniversitaria.
Palabras clave: Python.Lenguajeprogramación.Altonivel
ABSTRACTThegrowingneedtoapplytechnologyindailylifeitbecomesincreasinglyimperativetolearnaprogramminglanguageinordertodesign,developormodifyintricatesolutionsthatareusedfordataprocessing,whichaccordingtotheareaofinterestofeachperson,mayrequireahighdegreeofmasteryorperhapsashallowmasteryoftheselanguages.
Facingareality, there isagenealogicaltreeofprogramminglanguages,which isbranching increasingly intogenericorspecificalternatives,whichbasetheiruseontheobjectivethatseekstoreachtheinterested.
Nomatter the levelof training, there isagreatvarietyofprogramming languages,butregardlessof thegoalofuseasthe firstindicator,itshouldbeconsideredanindicatorthatbecomesincreasinglyrelevant,thisindicatoristhelearningcurve,whichclassifieslanguageswithagreaterorlesserdegreeofwritingcomplexityorasyntaxthatlooksmorelikeanaturallanguagethanastrictlanguagebasedonnormsandrulesthatobeyelaboratesyntaxes.
Amongtheprogramminglanguages,ifthislastindicatorisconsideredrelevant,therearehigh-levellanguages,highlightingthePythonlanguage,which,duetoitsbenefits,isconstantlygrowingbytheacceptanceoftheworldwidecommunityofdevelopers.
IfPythonisconsideredtobeahigh-levellanguagewithagrowingacceptanceoftheworldcommunity,thenitshouldbethefirstlanguagethatshouldbelearnedbyallpeople,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ónuniversitaria
Python, new paradigm in university education1. Iván José Mendoza Moya
1.IngenierodeSistemas.DocenteUniversidaddelValleCochabamba.[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
UNIVERSIDAD DEL VALLE
INTRODUCCIÓNAligualcomoseaprendeausarunalenguadecomunicaciónsocial,todonuevoconocimientoparaelhombrepartedesdelasimplicidaddeluso,hastaeldominioyentendimientodelasrobustasreglasynormasquerigensuformación.Nomenossignificativoeselaprendizajedeloslenguajesdeprogramaciónque,enlacotidianeidad,sehaconvertidoenunaobligatoriedadenprácticamentecualquieráreadeconocimientoprofesional.Esasíquelasinstitucionesdeforma-ciónprofesionalsuperiorincluyenacertadamentemateriasrelacionadasconlainformáticaenunmayoromenorgradodecomplejidad;empero,conlamayorseriedad,elaprendizajedelainformáticaenlaformaciónprofesionaluniversitariaseprofundizamás,hastalainclusióndelenguajesdeprogramación,yconmayornecesidadenlascarrerasdetecnifi-cacióncientíficaeningeniería.
Sinembargo,existenfactoresquepuedenserdeterminantesenlabuenaprácticadeunametodologíadelaenseñanzayaprendizajedenuevoslenguajesdeprogramación.Claramenteseobservaquetodoreposaenlacurvadeaprendizajedeestoslenguajes,quesegúnseaelcriteriodelevaluadorsitúanaloslenguajesenrankingparametrizadoseneluso,cos-tos,comunidad,respaldoyotros.Ahora,surgenmáspreguntascomo:¿quécaracterísticaspuedenconvertirseencon-trariosalobjetivodelaenseñanzadeunlenguaje?¿cuándeterminanteeslavoluntad,entusiasmoointerésdelestudianteparaaprenderunlenguaje?¿repitesuefectividadlaideaquelaingenieríaesparapocos?¿cuállaimportanciadeelegirunlenguajedeprogramaciónconcaracterísticassimilaresalalenguamaterna?¿cuáleselgradodemejoraenelapren-dizajedeprogramaciónsegúnellenguajeelegido?¿laresponsabilidaddelauniversidadenelegirelprimerlenguajedeenseñanzaesmuyalta,osóloselimitaaobservarlasconsecuenciasenlosnivelesposterioresdeefectividaddeloses-tudiantes?
Cambio del paradigma PEA en la programación de softwareSurgennuevasycomplejasinterrogantessegúnseavanzaenelanálisisdelaobligadasinergiaentrehombreycom-putadora,quevanmarcandolafronteradeestudioparaconstruirnuevosparadigmasenelPEA(ProcesoEnseñanza–Aprendizaje)deloslenguajesdeprogramación.
Sehavaloradoelresultadodelaaplicaciónatravésconsultasadocentes,estudiantesyprofesionalesqueestánrela-cionadosconeltemadedesarrollodesoftware,asícomolasbibliografíasrelevantesconeltema,estudiosrealizadosporempresasinternacionalesqueexponensusresultadosconsecuenciadelconteodelíneasdecódigoenrepositoriospúbli-cos,todoestoconelpropósitodefundamentarcambiosenlosrecursosdelPEAenlascarrerasdeformaciónuniversitaria,sustentandounmodeloidealacordealoscambiostecnológicos.
Afluyentodasestasideasenunainterrogante:¿cuáldeberíaserelprimerlenguajeparalosinteresadosqueiniciancarrerasafinesalaprogramacióndecomputadoras?
Considerandoqueexisteunagranofertayalternativasdeloslenguajesdeprogramación,convienerecurriralanálisisdetercerosobteniendobasesdeconocimientosobreunanálisismásglobalymundialsobrelaspreferenciasysuscarac-terísticasparaelempleodelenguajes.
Desde1950alafecha,elárbolgenealógicodeloslenguajesdeprogramaciónhasidoabundante(figuraNº1)[1],siendoéstosclasificadoscomogenéricos,específicos,híbridos,debajonivel,dealtonivel,orientadosaobjetosyvarioscrite-riosdeenfoqueporsuscaracterísticas.(figuraNº 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
• 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
UNIVERSIDAD DEL VALLE
Sehavenidoinsertandoenelparadigmatradicionalelaprendizajedelaprogramacióncomoasignaturaenloscursosdesecundaria,einclusoprimaria,recurriendoalenguajestipadosaltamenteelaboradosensusintaxisyquedistandeserútilesparaelambienteacadémicoescolar.Estaseleccióndeloslenguajesparteúnicamenteconelcriteriodeintentardarunacontinuidaddelosrecursosacadémicosqueencararáelestudianteafuturo.Pero,¿cuálessonlosfundamentoscien-tíficosopragmáticosquedeterminancualesellenguajequedebelaacademiaincorporarcomopartedesuscontenidoscurriculares?
ConceptualizandolasbasesLevVigotskyparaentenderellenguajecomoprocesosocialyaJeanPiagetcomoprocesocog-nitivo,seentiendequeelaprendizajedelalenguasebasaenlacuriosidad,imitación,repeticiónyhablatelegráfica(figurasNº 2y3).Enetapasuniversitarias,partedeesacuriosidadsetransformaennecesidad,obligandoalosinteresa-dosaentenderdesdesusbaseselnuevoconocimiento.
Asícomolosniñosabsorbenlagramáticadelalenguaquetienecontacto,dondelasimplicidaddelasnormasyreglaslasaprendeluegodeusarlibrementeellenguajeylosidealesdecomunicación,unlenguajedeprogramacióndeberíaseraquellenguajequecumplavariascaracterísticas.
Paraelegirunlenguajeseconsideraaspectoscomosiescomercial,elparadigmadeprogramación,comunidad,soporte,ofertasdeempleo,complejidad,costos,licenciasynomenosimportantecurvadeaprendizaje.
Figura Nº 3. Aprendiendo a programar
Fuente: Elaboración propia a partir de diversas fuentes, 2016
Lametodologíadelaprogramaciónesaquellaquecolaboraydasoportealasetapasdeprogramación,comosonanalizaryentender,diseñarlasolución,codificar,depurarytestear,comosemuestraenlafiguraNº 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
• VOLUMEN 13 • NÚMERO 38 • ISSN 2075 - 8936
Antelosrecursosactualesparaelaprendizaje(comorepositoriosdecontenidosdigitalesdondesehacíaprácticamenteimperceptiblelabrechadigitalenlasactualesgeneraciones,lasprimeraspracticasdelaprendizajedondenoexistíanin-formaciónactualizada,loslibroseranescasosyestabanenotroidioma,noexistíacomunidaddeapoyooconsulta),elesfuerzoylogroparalograraprenderunlenguajedeprogramacióneratitánico.
Sinembargo,laactualizaciónconstantedelasofertastecnológicas,contenidosdigitalesyotrosmásnoshallevadoaunacarreraprofesionalconmayorcantidadycalidadderecursos,dondesóloquedaunavariablependiente:laeleccióndelprimerlenguajedeprogramación.Estoenvirtudquetodaslasdemáscaracterísticasdeloslenguajesquedanensegundoplanoenimportancia,como:comunidad,respaldotécnico,soporte,etc.
ConsiderandoquePythonesellenguajeconmenoscomplejidaddeprogramación,acontinuación,semuestraunpedazodecódigo,cuyaintenciónesmostrarlafechaylahoradelsistema.
Figura Nº 5. Código para mostrar fecha y hora en JAVA y PYTHON
Fuente: Elaboración propia, 2016
EllenguajedeprogramaciónfuecreadoporGuidovanRossumycuentaconlasmayorescaracterísticasparaelapren-dizajecomoprimerlenguaje.Haidomarcandodesdelosaños90unvertiginosocrecimientoyeshastalafechaunodeloslenguajesqueprefierelacomunidaddedesarrolladoresyempresasparalaconstruccióndeaplicacionesositiosweb,comosemuestraenlatablaNº 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
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
• VOLUMEN 13 • NÚMERO 38 • ISSN 2075 - 8936
Acontinuación,semuestrandoscuadrosobtenidosdelosrepositoriosdeGitHub[5],quesonunodelosrepositoriosim-portantesparaelversionamientodecódigoenloscualesresaltalaaceptabilidaddellenguajePythonentrelosproyec-tosconmayorpresenciayengrandesproyectosdeaplicaciones.
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)
Comoconclusión,sepuedemencionarquePythonesunlenguajedeprogramaciónquesoportalosparadigmasdeori-entaciónaobjetos,programaciónimperativa,funcionalesydeprocedimientodebidoasuelegantediseñoysimplesin-taxis,quefácilmentepuedeencararproyectosgrandesopequeños,deescritoriooenlaweb,alserunlenguajealtamentelegible,conciso,flexibleyconrespaldo.Empero,sumayorcualidadeslaqueseloconsideracomounlenguajedealtonivel,loquepermiteunaentendimientomásadaptadoallenguajehumanocomún,pareciéndosesuestructuraaunpseudocó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
UNIVERSIDAD DEL VALLE
REFERENCIAS BIBLIOGRÁFICAS[1]http://www.levenez.com/lang/history.hml(14/Nov/201608:00)[2]Vygotski,L.S.,Kozulin,A.,&Abadía,P.T.(1995).Pensamientoylenguaje(pp.97-115).Barcelona:Paidós.[3]Piaget,J.,&Inhelder,B.(1948).Lareprésentationdel'espacechezl'enfant[4]http://www.itproportal.com/2016/04/02/javascript-vs-python-which-programming-language-is-the-most-complex/(abrilde2016)[5]http://Github.com(noviembrede2016)
REFERENCIAS CONSULTADASVanRossum,G.,&DrakeJr,F.L.(1995).Pythonreferencemanual.Amsterdam:CentrumvoorWiskundeenInformatica.https://wiki.python.org/moin/OrganizationsUsingPython,(noviembrede2016)https://pythonconquerstheuniverse.wordpress.com/2009/10/03/python-java-a-side-by-side-comparison/(noviembrede2016)
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