SENA Centro de Electricidad y Automatización Industrial Regional Valle. Septiembre 2016
APP INVENTOR COMO ALTERNATIVA PARA LA ENSEÑANZA DE LA PROGRAMACIÓN EN EL SENA. APP INVENTOR AS ALTERNATIVE TO TEACHING OF PROGRAMMING IN THE SENA. Ingeniero de Sistemas, Especialista Tecnológico en Seguridad de Redes de Computadores. Instructor de Informática, Sena, Centro de Electricidad y Automatización Industrial Regional Valle. Cali, Colombia. Contacto:
[email protected]
Clasificación del artículo: técnico – científico. Financiamiento: Sena – CEAI CEAI Regional Valle Resumen El articulo analiza las técnicas mediante las cuales se enseña programación de computadoras, computadoras, plantea la l a importancia de modernizar las técnicas de enseñanza a tiempos actuales: donde no son comunes ventanas MS-DOS que se utilizan en programación lineal, en cambio son comunes las App móviles que requieren nuevas metodologías debido a particularidades como aplicaciones: aplicaciones: síncronas, asíncronas, online, offline. Se plantea App inventor como alternativa para el aprendizaje aprendizaje de la programación programación y el desarrollo ágil de Apps. Se propone App Inventor como opción en la enseñanza de la programación en el SENA.
Palabras Clave: Enseñanza de la programación; Sena; App Inventor; Sena; Tecnología en sistemas; Android; Scratch; App; programación Colombia;
Abstract The article discusses the techniques by which computer programming is taught, raises the importance of modernizing teaching techniques to modern times: where are not common windows MSDOS that are used in linear programming instead are common mobile App that They require new methodologies due to peculiarities as applications: synchronous, asynchronous, online, offline. App inventor be an alternative for learning programming and agile development of Apps. App Inventor is proposed as an option in teaching programming in the SENA.
1. Introducción. Indican (Ferreira Szpiniak, Szpiniak, A., & Rojo, G. A. 2006) que los sistemas informáticos con el paso de los años han evolucionado, la ingeniería de software ha requerido nuevos paradigmas de programación, se ha ha pasado de: lenguaje lenguaje ensamblador, fortran, cobol, pascal hasta la programación estructurada presente aún hoy en día, sostienen además que la enseñanza de la programación ha evolucionado también, pero no existe un consenso que unifique los diferentes métodos existentes, ya que un algoritmo tiene diferentes formas para resolverse, en especial no existe tampoco un enfoque didáctico para las materias introductorias a la programación que tenga una efectividad indiscutible, para la enseñanza unos prefieren emplear sintaxis propia de un lenguaje de programación, y otros un lenguaje algorítmico o de seudocódigo al que posteriormente se le hará una transición a un lenguaje de programación, sostienen que es inconveniente que se aprenda a programar en determinada sintaxis debido a que es complicado luego ligar los conceptos básicos a un lenguaje distinto al que se aprendió, de otro lado
Ing. Andrés Fernando Parra Rivera I nstructor Análisis y Desarrollo de Sistemas de Información.
SENA Centro de Electricidad y Automatización Industrial Regional Valle. Septiembre 2016
resulta más fácil enseñar mediante un lenguaje informal para luego pasar a un lenguaje formal.
Sánchez Luján2 y Carlos Alfonso Sagaste Berna 2014)
2. Desarrollo Para (Mancha, A. G., Rodríguez) la transición de un lenguaje informal a uno formal de programación se facilita debido a que todos los lenguajes de programación tienen conceptos abstractos, es decir que son comunes entre sí los cuales son: variables, vectores, tipos de datos, estructuras de datos, entre otros. Hoy en día existen nuevas formas de facilitar la enseñanza de la programación ya que a tiempos modernos donde la programación orientada a objetos y los entornos gráficos son en los que se predominan, el aprender programación en algunos países está siendo una materia regular en escuelas y colegios, gracias al nacimiento de alternativas de enseñanza como Scratch usado en países como Costa Rica que ha utilizado Scratch para enseñar conceptos básicos de programación hasta estructuras complejas como HTML, CSS y programación para dispositivos móviles mediante App Inventor ( Troz, A., Nava,
Se realiza una encuesta a 43 aprendices de la Formación Análisis y Desarrollo de Sistemas de Información en la sede Bretaña del centro CEAI, del SENA Regional Valle, el día 12 de septiembre de 2016, luego de haber cursado el modulo que corresponde a algoritmia y seudocódigo, revelo que un 62,8% (27 aprendices) de los encuestados, desconocía los entornos tipo MS-DOS (Véase ilustración 1). De igual manera un 88,4% (38 aprendices) de los encuestados indico que considera que la programación debería enseñarse de una forma más gráfica y moderna, teniendo en cuenta que cursaron un módulo donde trabajaron en la herramienta de seudocódigo: Pseint (Véase ilustración 2). Pregunta 01: Antes de iniciar la formación ADSI ¿Conocía lo que es una ventana MS-DOS? Donde se ejecutan los ejercicios en Pseint. (43 respuestas)
A., Pérez, P., & Jiménez, F. 2015)
Es importante entonces implementar herramientas modernas en la enseñanza de la programación especialmente en el SENA acorde a alternativas actuales, en un mundo lleno de opciones donde deben evolucionar las herramientas de enseñanza conforme avanza la programación. El propósito de este documento es plantear la importancia de renovar algunas técnicas que se utilizan actualmente en el aprendizaje de la programación debido a que algunas de las actuales técnicas causan una deserción alta en la población educativa. (María Guadalupe Amado Moreno1, Ángel García Velázquez1, Reyna Arcelia Brito Páez1, Bertha Ivonne
Ilustración 1 Conocimiento previo de entornos MSDOS.
Fuente: Elaboración Propia.
Ing. Andrés Fernando Parra Rivera I nstructor Análisis y Desarrollo de Sistemas de Información.
SENA Centro de Electricidad y Automatización Industrial Regional Valle. Septiembre 2016
Pregunta 02: ¿Considera que debería enseñarse la programación de una forma más gráfica o moderna, trabajando con ventanas y botones, no con mensajes de escribir y leer? (43 respuestas)
Ilustración 2 Pregunta sobre enseñanza de la programación.
Fuente: Realización Propia.
aprendices) han estudiado antes programación provienen de una formación técnica (véase ilustración 4), lo que indicaría que es normal que quienes estudian sistemas a nivel técnico siguen su cadena formativa en sistemas, y que 21,4% (3 aprendices) de ellos han estudiado previamente una tecnología la cual no continuaron en ella, el 28,6% (4 aprendices) de los encuestados cursa otro estudio relacionado con su formación de tecnología en sistemas en el SENA de forma conjunta, y ninguno de los encuestados (43 aprendices) aprendices SENA ADSI posee un título o estudio universitario previo en Sistemas. Pregunta 04: Si había estudiado antes algo relacionado con programación, ¿de qué nivel fue? (14 Respuestas)
La encuesta también revelo que solamente el 32,6% (14 aprendices) de los encuestados traían un previo conocimiento de programación (Véase ilustración 3). Pregunta 03: ¿Posee un conocimiento previo sobre programación? (43 respuestas)
Ilustración 4 Nivel en el que curso programación
Fuente: Elaboración Propia. Fuente: Elaboración Propia.
De quienes estudiaron previamente programación solo el 23,8% finalizo ese estudio (Véase ilustración 5).
De quienes tienen un estudio previo en programación (14 Aprendices) lo adquirieron por un estudio previo, se pudo determinar que de ellos 50% (7
Pregunta 05: Responda solo si ya tiene otro estudio relacionado con programación: ¿Termino ese anterior
Ilustración 3 Conocimiento previo en programación.
Ing. Andrés Fernando Parra Rivera I nstructor Análisis y Desarrollo de Sistemas de Información.
SENA Centro de Electricidad y Automatización Industrial Regional Valle. Septiembre 2016
estudio relacionado con programación? (14 Respuestas)
Ilustración 5 Culminación de estudios previos en programación.
Fuente: Elaboración Propia. La estadísticas indican que el índice de culminación de quienes han estudiado antes algo relacionado con programación es bajo (apenas 3 de los 14 con estudio previo lo culminaron), de analizar los datos se puede inferir que la dificultades comunes en el aprendizaje de la programación son: no estar familiarizados en entornos DOS con un 45,2% (18 aprendices), le sigue en la lista de dificultades que le resultan al grupo insuficientes las explicaciones del docente, y que la metodología de resolución de los ejercicios es compleja, ambas con un 23,8% (18 aprendices), cerrando las causas de dificultades en la enseñanza lo poco llamativo que resulta el MS-DOS con un 7,1% (6 aprendices), de esto se puede inferir que la dificultad en el aprendizaje de la programación no radica tanto en la presentación de los datos en un ambiente MS-DOS sino en que los estudiantes sondeados, no están familiarizados con el (Véase ilustración 6).
Ilustración 6 Dificultades en la enseñanza de la programación.
Fuente: Elaboración Propia. Actualmente existen alternativas modernas y didácticas para la enseñanza de la programación Scratch ampliamente difundido hoy en día en la enseñanza de la programación y en algunas instituciones de primaria y bachillerato Troz, A., Nava, A., Pérez, P., & Jiménez, F. (2015), fue desconocido para el 75,6% (31 aprendices) (Véase ilustración 7), y de quienes conocen Scratch al 58.3% (7 aprendices) le parece esta una herramienta más sencilla para la enseñanza de la programación (véase ilustración 8). Pregunta 07: ¿Conoce Scratch? (42 Respuestas)
Pregunta 06: ¿Cuál cree usted que es la principal causa que dificultad el aprendizaje de la programación? (43 Respuestas) Ilustración 7 Conocimiento de Scratch
Fuente: Elaboración Propia. Ing. Andrés Fernando Parra Rivera I nstructor Análisis y Desarrollo de Sistemas de Información.
SENA Centro de Electricidad y Automatización Industrial Regional Valle. Septiembre 2016
Pregunta 8: Responda solo si conoce Scratch. ¿La estructura de bloques de Scratch le resulta más sencilla que el método de enseñanza actual? (12 respuestas)
móviles, la cual no demanda un conocimiento previo en programación, entre otras ya mencionadas ventajas, resulta llamativo que de los estudiantes encuestados solo el 35,7% (14 aprendices) conoce la herramienta (véase ilustración 9). ¿Ha escuchado antes sobre el APP Inventor, el cual permite programar en español, es online y permite hacer programas para celular sin ser un experto? (42 aprendices)
Ilustración 8 Comparación método actual vs Scratch.
Fuente: Elaboración Propia. Una herramienta similar a Scratch, que también implementa en el desarrollo diagramas de bloques, pero que permite realizar programación funcional para móviles en sistema operativo Android es el App Inventor, los bloques son funcionales y contienen las estructuras básicas con las que se trabaja en cualquier lenguaje de programación, los elementos gráficos de la herramienta interaccionan en tiempo real, luego del diseño gráfico del programa, este se codifica mediante los ya mencionados bloques donde posteriormente se puede generar un apk o un código qr, ambas opciones facilitan la instalación del programa realizado en el teléfono Android. App inventor representa varias ventajas en la enseñanza de la programación entre ellas se resalta: no se tiene que ser un experto para realizar programas, ya que su estructura visual de bloques le concede ser más practico en términos de pedagogía, además es online y libre (Sánchez, J. D. 2016). Siendo App inventor una herramienta moderna para realizar aplicaciones
Ilustración 9 Conocimiento Previo de App Inventor
Fuente: Elaboración Propia. El mercado de las aplicaciones móviles es creciente, mediante las tiendas en línea de los principales contendores IOS y Android, se encuentran vitrinas de gran audiencia, para aprovecharlas se debe enfocar a los estudiantes para ser emprendedores en algunos casos y en otros para crear aplicaciones para el entorno empresarial. (González, M. R. 2014) Empieza a debatirse abiertamente en el foro público sobre la conveniencia de que nuestros estudiantes aprendan a programar como se aprende a leer (Silió, 2013), la creación de Apps es una competencia fundamental para la sociedad actual 2.0 (Agencia Efe, 2014). Emprendedores adolescentes como Nick D’Aloisio, un adolescente de 17 años
que recientemente ha diseñado una “App” llamada “Summly”, que reduce el tamaño de las noticias para hacerlas más fáciles de utilizar en la pantalla de un
Ing. Andrés Fernando Parra Rivera I nstructor Análisis y Desarrollo de Sistemas de Información.
SENA Centro de Electricidad y Automatización Industrial Regional Valle. Septiembre 2016
móvil, vendió a Yahoo! su proyecto por 23 millones de euros, (Agencia Efe, 2013) este es un modelo a emular por parte de los jóvenes que buscan incorporarse al desarrollo de sistemas de información. En el contexto latinoamericano y colombiano, las Apps han tenido un enorme crecimiento gracias a que la red celular y los equipos disponibles han ido evolucionando y creciendo con el paso del tiempo, dicha expansión ha creado un mercado de gran tamaño a satisfacer en las tiendas de aplicaciones, para proporcionar satisfacción a este mercado deben implementarse metodologías de desarrollo agiles, con un análisis enfocado a móviles, ya que las actuales practicas o estándares bajo los cuales se realiza software transaccional difieren de los requerimientos que presentan los servicios móviles, ya que estos facilitan: movilidad y ubicación, pero siguen siendo limitantes el tamaño de su pantalla y la duración de la batería, a comparación de un equipo de cómputo. (Mantilla, M. C. G., Ariza, L. L. C., & Delgado, B. M. 2014). Las aplicaciones móviles deben garantizar el cumplimiento de las necesidades de los usuarios y al mismo tiempo generen ingresos. La metodología se encuentra enmarcada en cinco fases como (véase ilustración 10 (Mantilla, M. C. G., Ariza, L. L. C., & Delgado, B. M. 2014)), denominadas: análisis, diseño, desarrollo, pruebas de funcionamiento y entrega. A continuación se describe cada una de las actividades que intervienen en el desarrollo de la propuesta. (Mantilla, M. C. G., Ariza, L. L. C., & Delgado, B. M. 2014).
Ilustración 10 Etapas de la metodología del desarrollo de aplicaciones móviles
Fuente: (Mantilla, M. C. G., Ariza, L. L. C., & Delgado, B. M. 2014). La ilustración muestra las fases y las actividades que componen el tiempo de salida al mercado de una App, donde del análisis resalta que el servicio debe personalizarse, adaptando el mismo a perfiles, costumbres de los clientes, su entorno y otros elementos que permitan la aceptación del servicio. En el diseño se debe definir el escenario, donde las aplicaciones pueden ser síncronas, asíncronas, trabajar en tiempo real o ser enteramente offline, luego se realiza el modelado mediante uml, donde también se asignan tiempos y recursos. En el desarrollo, las actividades son: codificar y se probar los módulos unitarios, documentar el código y se realiza la codificación de ayudas como el manual de usuario y de instalación. En las pruebas se emulan y simulan se insertan
Ing. Andrés Fernando Parra Rivera I nstructor Análisis y Desarrollo de Sistemas de Información.
SENA Centro de Electricidad y Automatización Industrial Regional Valle. Septiembre 2016
datos que incluso pueden ser erróneos para probar la aplicación, posteriormente estas pruebas se realizan en equipos reales, para medir el desempeño del aplicativo, si se detectan errores, debe regresarse a la fase de diseño y corregirlos, una vez el producto funcione a satisfacción pasa a la fase de entrega, se perfeccionan los manuales y definir e implementar el medio de distribución o comercialización. ( Mantilla, M. C. G., Ariza, L. L. C., & Delgado, B. M. 2014).
Esta metodología es similar a las fases del ciclo de vida del software para programas transaccionales pero el desarrollo de aplicaciones móviles introduce nuevos conceptos en la metodología como son: síncrono, asíncrono, personalización y simuladores lo cual sustenta que la metodología para la realización de las aplicaciones difiere de la forma en la que se elaboran los proyectos de aplicaciones web y de escritorio.
3. Reflexiones En Colombia en el SENA el desarrollo de aplicaciones móviles va ganando lugar, dentro de la formación virtual se ofrecen cursos relacionados con APP inventor, se le presenta como una herramienta introductoria al lenguaje Android (Senasofiaplus 2016) El potencial de App inventor va desde una herramienta para la enseñanza de la programación hasta ser una herramienta capaz de Visualizar de forma gráfica valores, así estos se presenten en forma histórica, con él también se pueden almacenar datos y compartirlos en internet mediante bases de datos en servidores o de forma local en el teléfono (Mantilla, M. C. G., Ariza, L. L. C., & Delgado, B. M. 2014). App Inventor siendo una herramienta tan didáctica para la enseñanza de la
programación y potente a la vez, puede aportarle a la formación de los aprendices del SENA que inician una carrera Técnica o Tecnológica relacionada con el desarrollo de Software, una nueva forma de aprender a programar, como alternativa al seudocódigo y la algoritmia actuales, presenta un ambiente grafico amigable, es más sencillo, de esta manera puede proveer más rápidamente la forma de aprender, emprender y crear.
4. Conclusiones. La forma en la que se enseña a programar sigue siendo la misma de hace un par de años, donde hoy en día se han creado nuevos paradigmas y metodologías orientados a la movilidad. Para los estudiantes los métodos basados en algoritmos y seudocódigos resultan poco llamativos y obsoletos ya que ellos no se encuentran familiarizados con entornos basados en MS-DOS, en cambio les llama la atención desarrollar aplicativos que sean funcionales en sus celulares y/o dispositivos móviles. (Encuesta elaborada con recursos propios 2016) Las aplicaciones móviles toman día a día cobran mayor demanda y brindan mejores ingresos a quienes dominan su creación e implementación, mediante la potente herramienta App inventor se ofrece una alternativa diferente para la enseñanza de la programación, en especial en el SENA, donde se realizó la encuesta, resulta entonces prudente recomendar enseñarle a los aprendices de la institución programación mediante App inventor, explorar el potencial de la herramienta, y facilitar la creatividad de los aprendices aplicando metodologías adecuadas al desarrollo de aplicaciones móviles, complementando algunos temas que requieran sintaxis detallada, donde seguida o conjuntamente puedan
Ing. Andrés Fernando Parra Rivera I nstructor Análisis y Desarrollo de Sistemas de Información.
SENA Centro de Electricidad y Automatización Industrial Regional Valle. Septiembre 2016
enseñarse también otros lenguajes de programación, formando alumnos competentes con los requerimientos del mercado actual.
5. Financiamiento Este artículo es un producto que se realizó gracias al apoyo del SENA CEAI Regional Valle Sede Bretaña.
6. Referencias Ferreira Szpiniak, A., & Rojo, G. A. (2006). Enseñanza de la programación. TE & ET . Mancha, A. G., Rodríguez, J. G., & Tello, A. L. Tres Lenguajes Distintos y un Solo Objeto Verdadero: una Propuesta de Introducción a la Programación. Troz, A., Nava, A., Pérez, P., & Jiménez, F. (2015). Estado de la enseñanza de la programación en Costa Rica. San José. María Guadalupe Amado Moreno1 , Ángel García Velázquez1 , Reyna Arcelia Brito Páez1 , Bertha Ivonne Sánchez Luján2 y Carlos Alfonso Sagaste Berna (2014), Causas de reprobación en ingeniería desde la perspectiva del académico y administradores Sánchez, J. D. (2016). Open hardware y software, herramientas para el desarrollo de competencias educativas. Revista Iberoamericana de Producción Educativa.
Académica
y
Silió, E. (7 de marzo de 2013). Aprender a programar como se aprende a leer. El País.com. Recuperado de http://sociedad.elpais.com/sociedad/201 3/03/07/actualidad/1362689630_904553 .html Agencia Efe (27 de marzo de 2013). Nick D’Aloisio, el adolescente de 17
años que ha creado una app de 23 millones. La Vanguardia.com. Recuperado de http://www.lavanguardia.com/tecnologi a/20130327/54369594772/nick-daloisio-adolescente-app-47millones.html Agencia Efe (20 de enero de 2014). Seis mil alumnos de Cataluña aprenden a hacer aplicaciones para móviles. La Vanguardia.com. Recuperado de http://www.lavanguardia.com/ vida/20140120/54399342068/seis-milalumnos-de-cataluna-aprenden-a-haceraplicaciones-para-moviles.html Mantilla, M. C. G., Ariza, L. L. C., & Delgado, B. M. (2014). Metodología para el desarrollo de aplicaciones móviles. Revista Tecnura, 18(40), 20-35. Senasofiaplus (2016) http://oferta.senasofiaplus.edu.co/sofiaoferta/detalleoferta.html?fm=0&fc=GKP6MKXKIok Encuesta realizada mediante Google Forms (2016) goo.gl/zi1CWi
Gestión
González, M. R. (2014). Aprender a programar" APPS" como enriquecimiento curricular en alumnado de alta capacidad. Bordón. Revista de pedagogía,66 (4), 135-155.
Ing. Andrés Fernando Parra Rivera I nstructor Análisis y Desarrollo de Sistemas de Información.