6
Abstract— Mobile technologies have an impact in teaching and learning programming in computational sciences, leading to developing tools to support this process in introductory courses. Increased access to mobile phones allow us to promote its use in programming courses using a mobile platform, trying to improve classes with out of class support. This paper presents the structure and experience of using PAEPOO (Plataforma para el Aprendizaje y Enseñanza de Programación Orientada a Objetos; in english PLSOOP (Platform for Learning Support and Object Oriented Programming), a mobile application where students, enthusiastic about using their mobile phone, undertake an active and committed role in their learning process, taking advantage of the aiding platform with great results and acceptation. Keywords— object oriented programming, mobile applications, teaching-learning programming process. I. INTRODUCCIÓN A innovación de las aplicaciones para dispositivos móviles ha llamado la atención a educadores para facilitar el proceso de enseñanza aprendizaje [1]. Últimamente se ha investigado el impacto de las tecnologías móviles como apoyo en el aprendizaje de las ciencias computacionales [2] con resultados a favor y se han desarrollado aplicaciones para la adquisición de competencias disciplinares en diversas áreas [3] con diferentes enfoques. Por ejemplo la plataforma Any.do es un gestor de tareas donde los estudiantes y docentes pueden organizar fácilmente todas las tareas pendientes. El Proyecto Noah (Networked Organisms and Habitats) es un recurso que fomenta la exploración y documentación de la biodiversidad local donde los usuarios aportan información sobre su entorno natural [4]. Entre las herramientas disponibles en internet encontramos Codecademy, Skillshare, TryRuby, Programr, Kodable, Code School, plataformas especializadas en educación [5] cuyo objetivo es enseñar para aprender a programar. Luigina Foggetti [6] nos enumera 10 aplicaciones para enseñar a programar dirigido a niños, entre ellas nos menciona Lightbot Jr., the Foos, Scratch Jr., Hopscoth, Daisy the Dinosaur, Tinker, Cargo-Bot, las cuales clasificadas por edades, tienen el objetivo de estimular la enseñanza de construir juegos y otras actividades utilizando una interfaz visual o cadenas de código. L.G. Martinez, Universidad Autonoma de Baja California, Tijuana B.C., Mexico, [email protected] S. Marrufo, Universidad Autonoma de Baja California, Tijuana B.C., Mexico, [email protected] G. Licea, Universidad Autonoma de Baja California, Tijuana B.C., Mexico, [email protected] J. Reyes-Juarez, Universidad Autonoma de Baja California, Tijuana B.C., Mexico, [email protected] L. Aguilar, Universidad Autonoma de Baja California, Tijuana B.C., Mexico, [email protected] En la actualidad va en aumento el desarrollo de aplicaciones móviles para aprender a programar, mas no siempre son las adecuadas, lo que nos lleva a crear nuestras propias aplicaciones para aprovechar la ventaja de utilizar la tecnología móvil. Estas aplicaciones tratan de hacer más amigable el aprender a programar, Hsu y Ching [7] diseñaron App Inventor como solución para aprender programación visual presentando una herramienta que ayuda a diseñar programas sencillos y al utilizar una plataforma virtual de soporte, ayudan a los estudiantes a interactuar y participar colaborativamente, enriqueciendo el aprendizaje en línea. Las distintas herramientas son de utilidad para aquellos docentes que quieren potenciar el uso de dispositivos móviles en sus aulas, tanto para dinamizar sus clases, realizar actividades de aprendizaje, organizar horarios y recursos o, incluso, apoyar las sesiones de estudio de sus alumnos. Guerrero y asociados [8] utilizaron dispositivos móviles para facilitar y aumentar la participación de los alumnos en las clases presenciales y concluyeron que la contribución de los alumnos en las mismas también aumenta. En el contexto de sistemas de aprendizaje con aplicaciones móviles Castro y compañeros [9] han desarrollado un sistema de aprendizaje móvil con servicios de seguimiento y personalización del aprendizaje mediante avisos vía Twitter, Facebook y mensajería de texto, utilizando Objetos de Aprendizaje Móviles (OAM). Es por eso que el uso de los teléfonos inteligentes (smartphones) en los procesos de enseñanza-aprendizaje presenta una serie de ventajas pedagógicas [10] a la que se suman otras operativas, ya que se trata de una herramienta de la que disponen prácticamente todos los estudiantes y brinda enormes posibilidades de interacción en los ambientes de aprendizaje. El Smartphone es flexible, de tamaño pequeño, de empleo fácil, su costo puede ser bastante bajo, puede ser usado en cualquier parte y en cualquier momento, de interacción instantánea, de gran accesibilidad, portabilidad y funcionalidad. En cuanto a los riesgos más destacados en relación a la utilización del teléfono móvil dentro del ámbito educativo, Cabero [11] menciona que son: la adicción, la pantalla reducida, el rápido desfasamiento del producto y el empleo considerable de tiempo por parte de los docentes. En cuanto a la enseñanza de programación orientada a objetos (POO), es una tarea compleja escoger el lenguaje de programación apropiado. La plataforma ideal y el diseñar problemas que exploten el potencial de un robusto paradigma son metas educativas en el área de las ciencias de la computación planteadas por las actuales instituciones educativas [12]. La introducción de conceptos como objetos, instanciación, polimorfismo y herencia son temas complejos y de difícil asimilación. L.G. Martínez, S. Marrufo, G. Licea, J. Reyes-Juárez. and L. Aguilar Using a Mobile Platform for Teaching and Learning Object Oriented Programming L IEEE LATIN AMERICA TRANSACTIONS, VOL. 16, NO. 6, JUNE 2018 1825

Using a Mobile Platform for Teaching and Learning … · Aprendizaje y Enseñanza de Programación Orientada a Objetos; ... nos enumera 10 aplicaciones para enseñar a programar dirigido

  • Upload
    doanbao

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Abstract— Mobile technologies have an impact in teaching and learning programming in computational sciences, leading to developing tools to support this process in introductory courses. Increased access to mobile phones allow us to promote its use in programming courses using a mobile platform, trying to improve classes with out of class support. This paper presents the structure and experience of using PAEPOO (Plataforma para el Aprendizaje y Enseñanza de Programación Orientada a Objetos; in english PLSOOP (Platform for Learning Support and Object Oriented Programming), a mobile application where students, enthusiastic about using their mobile phone, undertake an active and committed role in their learning process, taking advantage of the aiding platform with great results and acceptation.

Keywords— object oriented programming, mobile applications, teaching-learning programming process.

I. INTRODUCCIÓN A innovación de las aplicaciones para dispositivos móviles ha llamado la atención a educadores para facilitar el proceso de enseñanza aprendizaje [1]. Últimamente se

ha investigado el impacto de las tecnologías móviles como apoyo en el aprendizaje de las ciencias computacionales [2] con resultados a favor y se han desarrollado aplicaciones para la adquisición de competencias disciplinares en diversas áreas [3] con diferentes enfoques.

Por ejemplo la plataforma Any.do es un gestor de tareas donde los estudiantes y docentes pueden organizar fácilmente todas las tareas pendientes. El Proyecto Noah (Networked Organisms and Habitats) es un recurso que fomenta la exploración y documentación de la biodiversidad local donde los usuarios aportan información sobre su entorno natural [4]. Entre las herramientas disponibles en internet encontramos Codecademy, Skillshare, TryRuby, Programr, Kodable, Code School, plataformas especializadas en educación [5] cuyo objetivo es enseñar para aprender a programar.

Luigina Foggetti [6] nos enumera 10 aplicaciones para enseñar a programar dirigido a niños, entre ellas nos menciona Lightbot Jr., the Foos, Scratch Jr., Hopscoth, Daisy the Dinosaur, Tinker, Cargo-Bot, las cuales clasificadas por edades, tienen el objetivo de estimular la enseñanza de construir juegos y otras actividades utilizando una interfaz visual o cadenas de código.

L.G. Martinez, Universidad Autonoma de Baja California, Tijuana B.C.,

Mexico, [email protected] S. Marrufo, Universidad Autonoma de Baja California, Tijuana B.C.,

Mexico, [email protected] G. Licea, Universidad Autonoma de Baja California, Tijuana B.C.,

Mexico, [email protected] J. Reyes-Juarez, Universidad Autonoma de Baja California, Tijuana B.C.,

Mexico, [email protected] L. Aguilar, Universidad Autonoma de Baja California, Tijuana B.C.,

Mexico, [email protected]

En la actualidad va en aumento el desarrollo de aplicaciones móviles para aprender a programar, mas no siempre son las adecuadas, lo que nos lleva a crear nuestras propias aplicaciones para aprovechar la ventaja de utilizar la tecnología móvil. Estas aplicaciones tratan de hacer más amigable el aprender a programar, Hsu y Ching [7] diseñaron App Inventor como solución para aprender programación visual presentando una herramienta que ayuda a diseñar programas sencillos y al utilizar una plataforma virtual de soporte, ayudan a los estudiantes a interactuar y participar colaborativamente, enriqueciendo el aprendizaje en línea.

Las distintas herramientas son de utilidad para aquellos docentes que quieren potenciar el uso de dispositivos móviles en sus aulas, tanto para dinamizar sus clases, realizar actividades de aprendizaje, organizar horarios y recursos o, incluso, apoyar las sesiones de estudio de sus alumnos. Guerrero y asociados [8] utilizaron dispositivos móviles para facilitar y aumentar la participación de los alumnos en las clases presenciales y concluyeron que la contribución de los alumnos en las mismas también aumenta.

En el contexto de sistemas de aprendizaje con aplicaciones móviles Castro y compañeros [9] han desarrollado un sistema de aprendizaje móvil con servicios de seguimiento y personalización del aprendizaje mediante avisos vía Twitter, Facebook y mensajería de texto, utilizando Objetos de Aprendizaje Móviles (OAM).

Es por eso que el uso de los teléfonos inteligentes (smartphones) en los procesos de enseñanza-aprendizaje presenta una serie de ventajas pedagógicas [10] a la que se suman otras operativas, ya que se trata de una herramienta de la que disponen prácticamente todos los estudiantes y brinda enormes posibilidades de interacción en los ambientes de aprendizaje. El Smartphone es flexible, de tamaño pequeño, de empleo fácil, su costo puede ser bastante bajo, puede ser usado en cualquier parte y en cualquier momento, de interacción instantánea, de gran accesibilidad, portabilidad y funcionalidad.

En cuanto a los riesgos más destacados en relación a la utilización del teléfono móvil dentro del ámbito educativo, Cabero [11] menciona que son: la adicción, la pantalla reducida, el rápido desfasamiento del producto y el empleo considerable de tiempo por parte de los docentes.

En cuanto a la enseñanza de programación orientada a objetos (POO), es una tarea compleja escoger el lenguaje de programación apropiado. La plataforma ideal y el diseñar problemas que exploten el potencial de un robusto paradigma son metas educativas en el área de las ciencias de la computación planteadas por las actuales instituciones educativas [12]. La introducción de conceptos como objetos, instanciación, polimorfismo y herencia son temas complejos y de difícil asimilación.

L.G. Martínez, S. Marrufo, G. Licea, J. Reyes-Juárez. and L. Aguilar

Using a Mobile Platform for Teaching and Learning Object Oriented Programming

L

IEEE LATIN AMERICA TRANSACTIONS, VOL. 16, NO. 6, JUNE 2018 1825

En la Universidad El Bosque en Bogotá Colombia [13] se han desarrollado ayudas didácticas para el aprendizaje de POO incentivando de manera significativa el interés por seguir un proceso de aprendizaje. Contribuyen al desarrollo de las destrezas necesarias para que los estudiantes apliquen sus conocimientos aprendidos en sus materias de POO. Complementan la metodología de enseñanza logrando una transmisión del conocimiento más completa, clara y profunda en los estudiantes del proceso de aprendizaje de POO.

Se han popularizado herramientas educativas para estudiantes utilizando entornos de programación innovadores [14], tales como Scratch de MIT, Greenfoot de la Universidad de Kent, Inglaterra y Alice de la Universidad de Carnegie Mellon. Utilizan prácticas que logran desarrollar en el estudiante las habilidades, interés y competencias asociadas al análisis, abstracción, identificación de variables, escritura de sentencias algorítmicas, entre otras. Estas investigaciones continúan la búsqueda de herramientas y metodologías para ser utilizadas en los primeros cursos de programación, que ayuden a mitigar las deficiencias con las que llegan los estudiantes, la falta de motivación, y el rechazo para el desarrollo de aplicaciones escribiendo código en los programas.

Es por eso que al ver la necesidad de ayudar al alumno en el aprendizaje de la programación, el impacto de las aplicaciones móviles, el interés por usar dispositivos móviles, surge el interés de potenciar y dinamizar las clases con la herramienta propuesta en cuestión.

El presente trabajo muestra la implementación de una herramienta para la asistencia del aprendizaje utilizando las tecnologías móviles llamando la atención del estudiante para generar interés en el curso; específicamente utilizada en cursos de programación orientada a objetos para la Universidad Autónoma de Baja California en México.

Su objetivo es promover el acceso a las herramientas de estudio que sean vistas en el curso de programación por medio de sus teléfonos móviles. Así se logra proporcionar una mayor comprensión del entorno real comparado con el paradigma orientado a objetos, se aumenta el interés de los estudiantes en utilizar dispositivos móviles como herramienta en el apoyo del aprendizaje, e identifican los aspectos más importantes en los cuales los estudiantes de primer contacto con la materia tienen mayor dificultad para la comprensión del paradigma orientado a objetos.

II. UTILIZACIÓN DE LA PLATAFORMA

Lo que se busca en la propuesta es la enseñanza de la

programación orientada a objetos mediante la interacción con tecnologías móviles, utilizando una herramienta con la que los estudiantes se sientan cómodos y satisfechos con los conocimientos adquiridos, asimilando los conocimientos con mayor facilidad, obteniendo un aprendizaje significativo y útil, aprovechando el potencial de los teléfonos móviles que no se han explotado en su totalidad. La herramienta llamada PAEPOO (Plataforma para el Apoyo en el aprendizaje y Enseñanza de Programación Orientada a Objetos) fue diseñada para ser una ayuda eficaz en el rendimiento del aprendizaje de alumnos nuevos en la POO.

Inicialmente se realizó una encuesta a una muestra de 174 estudiantes de nuestra universidad, la cual mostró que el 96% de los estudiantes posee teléfono celular. De los celulares en cuestión más del 50% son teléfonos inteligentes (smartphones) con la capacidad de tener un navegador para móviles. El 25% de los estudiantes posee una tableta con las mismas posibilidades, tendencia que va en aumento. Se les preguntó qué tan favorable es usar sus dispositivos móviles para apoyar la educación en sus clases, mostrando una opinión bastante favorable para usarlos (55% muy favorable y 25% favorable, 17% indiferente, 3% desfavorable).

Luego se utilizó la herramienta PAEPOO en un grupo de la materia POO de la carrera de ingeniero en computación de nuestra universidad, registrando las actividades de los estudiantes en la plataforma y realizando encuestas antes, durante y después para ir midiendo la aceptación y opinión del uso de la misma.

La integración efectiva de cualquier tecnología en la educación, requiere un gran y variado grupo de educadores participantes. Rößling y asociados [15] menciona que los salones de clase serían los puntos de encuentro de sociabilización de las universidades donde las aplicaciones dentro de los dispositivos móviles se puedan acceder desde cualquier lugar y si damos seguimiento a las actividades que los estudiantes realizan dentro de ellas podremos mejorar aquellas características que sean deficientes entre ellos.

Consideramos que los estudiantes en clases de programación necesitan escuchar la explicación del profesor y observar la demostración o la técnica de la solución. A su vez ellos necesitan tener tiempo con el profesor para practicar, comentar y explorar. A través del entrenamiento, el estudiante desarrolla una habilidad más sólida en los conceptos de programación y pueden empezar a completar la mayoría de las tareas de programación independientemente [16].

En grupos grandes, el tener la herramienta ayudaría en el proceso a que más pronto desarrollen las habilidades. Utilizar un aprendizaje activo basado en el constructivismo será más efectivo cuando los estudiantes conduzcan los ejercicios y el profesor los guía en el proceso [17].

III. DESARROLLO DE LA PLATAFORMA PAEPOO

La plataforma desarrollada es un conjunto de aplicaciones que pretenden auxiliar al estudiante en su curso de programación orientada a objetos a través de explicaciones, ejemplos y definiciones sobre los temas más relevantes del paradigma. Uno de los objetivos de PAEPOO es aprovechar la familiarización que tienen los estudiantes con sus dispositivos móviles para tener forma adicional de incrementar sus conocimientos, ya que PAEPOO contiene definiciones, conceptos, aplicaciones y mucha interacción para los usuarios y el paradigma orientado a objetos. Esta plataforma no pretende sustituir al maestro en el aula de clases, pero sí proporcionarle una herramienta más para combatir la dificultad en el aprendizaje del paradigma.

En la figura 1 se muestra la estructura de la plataforma donde se observa el conjunto de las aplicaciones y su rol dentro de la misma.

1826 IEEE LATIN AMERICA TRANSACTIONS, VOL. 16, NO. 6, JUNE 2018

Figura 1. Diagrama principal que muestra la estructura de PAEPOO.

La plataforma, funciona bajo las tecnologías Android e iOS

de los dispositivos móviles y además podrá ser vista en cualquier computadora de escritorio o laptop. La plataforma solicita la matrícula del estudiante y una contraseña que sólo él conoce. Una vez que el estudiante ha sido autentificado, la plataforma despliega las aplicaciones que están disponibles en una lista de menú, estas son (1) Definer, (2) Error Finder y (3) Code Factory, como se muestra en la figura 2.

Definer es una aplicación con un compendio de definiciones de los temas selectos de programación orientada a objetos con ejemplos y ejercicios. Todos los temas presentan un ejemplo de cómo declararlo en código Java, se explican las reglas de aplicación o de utilización, se proporcionan sugerencias de cuándo se debe o no utilizar, y en algunos casos mostrar ventajas y desventajas de usarlo en algunas secciones del código.

Figura 2. Acceso y Aplicaciones de la plataforma PAEPOO.

.

Además de mostrar las definiciones también se proporciona

una lista de ejemplos de cada una de las palabras que el estudiante puede leer si la definición no le ha quedado del todo clara. Estos ejemplos están basados en situaciones cotidianas de distintos rubros, como situaciones que puede tener una persona al arreglar un auto o al preparar algo de comer. La figura 3 muestra cómo se presenta la definición de método, cómo se declara y sus ejemplos. El estudiante puede volver en cualquier momento a los menús de cada tema o al menú principal con los botones que se encuentran siempre disponibles en la parte inferior de la pantalla.

Figura 3. Ejemplo de como un objeto de la vida real se puede plasmar en código.

CodeFactory es una aplicación que por medio de una serie de preguntas al estudiante, va generando código en Java. Las preguntas están relacionadas con algún modelado del mundo real y cómo poco a poco se va transformando el ejemplo cotidiano a código. Está basado en tres niveles de dominio en los cuales se van agregando más temas de programación orientada a objetos. Al iniciar esta aplicación lo primero que se le pide al estudiante es que seleccione el nivel de dominio. Generalmente dependerá de las clases que esté tomando en el curso para poder ir avanzado cada vez más lejos [18]. Los niveles de usuario son: - Principiante: En este nivel los estudiantes aplican los conceptos básicos, clase, atributos y métodos. - Intermedio: En este nivel los estudiantes generan su primer objeto y seleccionan atributos y realizan las funciones que crearon en el nivel anterior. - Avanzado: Se introduce lo que es herencia y se crea una subclase para ello, con nuevos métodos y atributos, además de los heredados por la clase padre.

Para los tres niveles se muestra código de lo que están realizando. El formato de código va acorde conforme se enseña en este curso, pudiendo existir la posibilidad de cambiar de acuerdo a las necesidades del maestro.

MARTINEZ et al.: USING A MOBILE PLATFORM FOR 1827

En el nivel principiante de CodeFactory, el estudiante tiene la posibilidad de elegir qué parte del mundo real quiere modelar y transformarlo a código (figura 4). Los modelos fueron elegidos por recomendaciones de colegas de la universidad y profesores de la materia. Una vez elegido el ejemplo a modelar, se le pregunta al estudiante qué entidades desea utilizar en su modelado y desde ese momento aparece la opción de ver el código que se va generando.

Figura 4. Nivel de dominio para seleccionar ejemplo, entidad, características y método.

Después se muestra el listado de atributos y el estudiante es libre de elegir la cantidad que desee, de igual manera se muestra los métodos que su entidad puede realizar. En cada selección de ejemplos, se va mostrando directamente cómo se genera el código para cada pantalla respectivamente. El código final como un ejemplo, mostrado en la pantalla de PAEPOO, puede verse en la figura 4 esquina inferior derecha.

ErrorFinder es una biblioteca de errores que pretende ofrecer al estudiante soluciones para corregir aquellos errores que su compilador le marque al momento de estar programando (Figura 5). La aplicación muestra una lista pequeña de errores comunes, pero tiene la posibilidad de que los mismos estudiantes envíen los errores y posteriormente puedan ofrecerles soluciones.

Al hacer una búsqueda, la aplicación le devolverá un listado con aquellos errores que tengan las palabras que el estudiante haya ingresado, mostrando no únicamente las que tengan las palabras en el orden escrito, si no también aquellas que tiene en algún lugar del texto todas las palabras en común. Esta lista muestra el estudiante el error tal cual lo escribe el compilador, ya sean errores de ejecución, de compilación o de sintaxis, y a su vez la cantidad de posibles soluciones para poder arreglar el problema

Figura 5. ErrorFinder: pantalla inicial y un ejemplo de búsqueda y solución de errores.

El propósito principal de ErrorFinder es que el alumno no

se detenga al momento de programar, que no existan errores que eviten seguir programando o pierda el interés por no poder solucionar su problema. ErrorFinder pretende tener la mayor cantidad de errores y soluciones que cualquier excepción lanzada por el compilador pueda generar. El problema del lenguaje para los estudiantes es una limitante cuando están compilando código, pues todos esos errores son mostrados en inglés. ErrorFinder es en español, una vez ingresado el error, este es traducido, explicando por qué se genera y se proporcionan soluciones amigables de cómo corregir el problema.

Todas las aplicaciones que pertenecen a PAEPOO están en constante cambio, retroalimentándose de las opiniones que ofrecen los estudiantes y profesores. PAEPOO se ha desarrollado en versión móvil para los navegadores web, tanto de teléfonos como computadoras de escritorio, y una versión media para el sistema operativo Android.

IV. RESULTADOS La plataforma se probó en un grupo de Programación

Orientada a Objetos de tercer semestre de la carrera de Ingeniero en Computación, esta materia es el primer acercamiento a los conceptos de orientación a objetos. Al inicio del curso los estudiantes están ansiosos por aprender, lo cual ayudó a querer utilizar su dispositivo móvil para acceder a la plataforma fuera de clase. Todas las acciones que los estudiantes realizaban dentro de PAEPOO fueron registradas y estuvieron siempre bajo control.

La aplicación que más llegaron a utilizar fue CodeFactory, en un 42% comparada con Definer con un 32% y ErrorFinder el 26%. Los resultados nos indican que usan CodeFactory porque se les complica plasmar el mundo real en código orientado a objetos; usan Definer porque se les complica comprender las bases de programación orientada a objetos y utilizan ErrorFinder ya que se les complica escribir código.

CodeFactory es la aplicación a la que más recurren los estudiantes, tanto por veces de utilización, como cantidad de tiempo invertida en ella. Esta aplicación es la base principal de la plataforma, pues es aquí donde los estudiantes empiezan a

1828 IEEE LATIN AMERICA TRANSACTIONS, VOL. 16, NO. 6, JUNE 2018

ver los primeros intentos de modelaje del mundo real en código de Java para programación orientada a objetos. La aplicación enriquecida con amplios ejemplos les ayuda a sentirse cómodos con el modelado más apropiado para ellos, con el que más se identifiquen, les satisfaga o simplemente les guste o estén muy relacionados.

El nivel principiante fue el que más estuvo presente, ya que eran estudiantes de tercer grado de la universidad que jamás habían tenido contacto con programación orientada a objetos. Los modelos utilizados fueron los ejemplos más comunes en la mayoría de los cursos de programación orientada a objetos, modelado del movimiento de un auto, el reino animal, y uno adicional que habla sobre cuerpos celestes.

Una vez elegido el modelo, se creaban las clases que serían utilizadas a lo largo de toda la aplicación, para poder comprender los temas de clases, objetos, atributos, herencia y polimorfismo. La clase que predominó para consulta entre los estudiantes fue la clase auto, que pertenece al modelado de movimiento de un vehículo, el resto estuvo muy por debajo del porcentaje.

Para la aplicación Definer, el tema más visitado fue polimorfismo y encapsulación, que son de los últimos temas que se ven en los primeros cursos de programación orientada a objetos, seguido de herencia y método. Los temas objeto, clase y atributo fueron los menos consultados, esto debido a que son los temas más sencillos de entender. Polimorfismo es el tema que predominó durante toda la aplicación, este tema fue introducido un mes después de haber iniciado las pruebas en el curso, a pesar de eso fue el más visitado con la desventaja de antigüedad ante el resto de los temas.

Al finalizar el semestre se consultó mediante una encuesta, la experiencia de la utilización de PAEPOO, sus resultados, impresiones y sugerencias o críticas de cualquier tipo que pudieran tener. La respuesta global fue que fue de mucha ayuda (86%), aunque un 14% no la utilizaron porque no tenían ningún dispositivo móvil al alcance.

Para intentar comprender las necesidades de los estudiantes se les preguntó qué beneficios o desventajas notaban mientras utilizaban la plataforma, intentar conocer aquellas cosas que les hacían falta a ellos en especial, o eso que les gustó mucho y que no quisieran cambiarlo. Las respuestas se englobaron para obtener los siguientes resultados: ayudó a entender conceptos y ejemplos (43%), ayudó a encontrar tus errores (14%), necesita más ejemplos (29%); y una opción neutral que indica la indiferencia para los estudiantes (14%).

De forma global la mayoría de los estudiantes opinaron que todas estas características de PAEPOO les ayudaron a entender mejor los conceptos básicos de la programación orientada a objetos. Gracias a las definiciones de Definer y la interacción con el código de CodeFactory les facilitó llegar a comprender un poco mejor lo que se ve en clase.

IV. CONCLUSIONES La dificultad en el aprendizaje de la programación

orientada a objetos no sólo recae en la dificultad del curso y la planeación del mismo, un profesor debe hacer su papel de motivador/profesor, atender a todas las necesidades personales de los estudiantes, abarcar las distintas culturas y necesidades de cada uno de ellos. Es necesario que en grupos grandes en el curso de programación, los mismos estudiantes sean maestros

y estudiantes. El apoyo con herramientas ha demostrado ser una ayuda eficaz en el rendimiento del aprendizaje, en especial en personas que inician en el tema.

Para cubrir todas estas dificultades, hay que dejar que los mismos estudiantes encuentren la forma ideal para aprender ellos mismos, guiados por el profesor que hace su papel de motivador. El utilizar las tecnologías móviles es una ventaja para que cada estudiante tenga la libertar de aprender a su manera con los elementos facilitados por el profesor.

Con este trabajo observamos que los estudiantes se entusiasman al utilizar sus teléfonos móviles como apoyo en el aprendizaje de sus asignaturas, aquellos estudiantes que al inicio no estaban interesados en aprender a programar tuvieron un fuerte interés en utilizar la aplicación ya que podían acceder a ella desde sus teléfonos. La plataforma fue muy útil, pues ayudó a los estudiantes a comprender los conceptos básicos de programación orientada a objetos.

La tendencia es hacer digitales las clases poco a poco en la universidad, esto se podrá lograr gracias a los dispositivos móviles. En general las tendencias móviles están introduciéndose en las áreas de educación y es muy bien acogida por los estudiantes, sobre todo los que ya cuentan con teléfono móvil.

Se pretende utilizar PAEPOO de una forma más interactiva para que los estudiantes puedan realizar pequeños y simples ejercicios dónde pongan a prueba sus conocimientos adquiridos dentro de la misma plataforma. Así ellos podrán ser autoevaluados y mejorar en aquellos puntos donde tengan deficiencia de conocimientos sobre el tema.

La adición de ejercicios para esta aplicación será un cambio que mejorará aún más el rendimiento y utilidad de la plataforma. Implementación de ejercicios como relación de palabras, crucigramas, sopa de letras, completar sentencias, donde aumente la interacción del estudiante; incluso de una forma colaborativa donde entre aplicaciones, puedan comunicarse los estudiantes entre sí, sin importar el lugar donde hagan sesión o el momento en que se conecten.

PAEPOO, como su nombre lo indica (Plataforma para el apoyo en el Aprendizaje y Enseñanza de Programación Orientada a Objetos) fue desarrollado únicamente con la intención de ayudar en el tema de programación orientada a objetos. El objetivo de utilizar todos los medios disponibles para apoyar en la educación de los estudiantes en cualquier área debe ser un objetivo de cualquier universidad y habrá que aprovechar la familiaridad y accesibilidad de los dispositivos móviles para utilizarlos a favor de la educación.

El desarrollo de aplicaciones móviles es un mercado que va en aumento y con mucho potencial. La educación debe aprovechar las herramientas para favorecer el aprendizaje de los alumnos, que aprendan por sí mismos, investigando y experimentando, siendo los dispositivos móviles instrumentos fáciles de usar, ágiles, innovadores y de fácil acceso a las masas.

REFERENCIAS [1] Johnson, L., Smith, R., Willis, H., Levine, A., & Haywood, K. (2011).

The 2011 horizon report. Austin, Texas: The New Media Consortium. [2] Zaldivar, A.; Tripp, C.; Aguilar, J.A.; Tovar, J.E.; Anguiano, C.E.

“Using Mobile Technologies to support Learning in Computer Science

MARTINEZ et al.: USING A MOBILE PLATFORM FOR 1829

Students”. IEEE Latin America Transactions Vol 13 (1) Jan 2015 377-382

[3] Castro, G.G.; Dominguez, E.L.; Velazquez, Y.H.; Matla, M.Y.R.; Toledo, C.B.E. and Hernandez, S.E.P. “MobiLearn: Context-Aware Mobile Learning System”. IEEE Latin America Transactions, vol. 14 (2) Feb 2016 958-964

[4] Palacios, L. “Noah’s Ark: El arte de humanizer del gran numero”. Proyecto, Progreso, Arquitectura, Gran Escala No.10 Mayo 2014, Universidad de Sevilla ISSN 2171-6897 DOI: http://dx.doi.org/10.12795/ppa.2014i10.07

[5] “10 plataformas para aprender programación” julio 2012; Universia España, retrieved from http://noticias.universia.es/vida-universitaria/noticia/2012/07/24/952730/10-plataformas-aprender-programacion.html

[6] Foggetti, L. “Niños a programar – 10 apps recomendadas para enseñar a programar” EDUforics, mayo 2016; Retrieved from http://www.eduforics.com/ninos-programar-aplicaciones/

[7] Hsu, Y.; Ching Y. “Mobile App Design for Teaching and Learning: Educators’ Experiences in an Online Graduate Course”. J. International Review of research in open and distributed learning, vol. 14 No. 4 2013 Canada

[8] Guerrero, C.; Jaume, A. y Juiz, C. “Use of Mobile Devices in the Classroom to Increase Motivation and Participation of Engineering University Students”. IEEE Latin America Transactions, vol. 14 (1) Jan 2016

[9] Castro, G.G.; Domínguez, E.L.; Velázquez, Y.H.; Matla, M.Y.R.; Toledo, C.B.E. y Hernández, S.E.P. “MobiLearn: COntext-Aware Mobile Learning System”. IEEE Latin America Transactions, vol. 14 (2) Jan 2016

[10] Gomez, P. y Monge, C. “Potencialidades del teléfono móvil como recurso innovador en el aula: una revisión teórica”. Revista DIM Didáctica, Innovación y Multimedia / Año 9 - Nº 26 - Octubre 2013 - ISSN: 1699-3748

[11] CABERO, Julio. (2006). “Bases pedagógicas del e-learning”. Revista de Universidad y Sociedad del Conocimiento, vol. 3 (1) abril. ISSN 1698-580X

[12] Hayat, K., Al-Shukaili, N.A. & Sultan, K. “A study on object-first approaches in computer science education”. Education and Information Technologies, Springer 2016 pp 1-17 doi:10.1007/s10639-016-9499-4

[13] Torres, C.; Leon M.,A.; Useche, G. (2006) “Construcción de ayudas didácticas para la enseñanza de POO usando Java 5.0”. Revista de Tecnología – Journal of Technology Vol 5 (2) Julio-Dic 2006 ISSN 1692-1399 Univ el Bosque Bogota Colombia

[14] Arwa A. Al-Linjawi and Hana A. Al-Nuaim, “Using Alice to Teach Novice Programmers OOP Concepts”. Journal of King Abdulaziz University-Science JKAU, vol. 22(1) pp 59-68. January 2010, DOI: 10.4197/Sci.22-1.4

[15] Rößling, G., Bär, H., Trompler, C., & Choi, C.-M. (2003). “Mobile computing in education”. ACM SIGCSE Bulletin, vol. 35(3), 227. doi:10.1145/961290.961583

[16] Black, T. R. (2006). “Helping novice programming students succeed”. Journal of Computing Sciences in Colleges, 22(2), 109–114. Consortium for Computing Sciences in Colleges. Retrieved from http://portal.acm.org/citation.cfm?id=1181922

[17] Whittington, K. J. (2004). “Infusing active learning into introductory programming courses”. Journal of Computing Sciences in Colleges, vol. 19(5), 249–259. Consortium for Computing Sciences in Colleges. Retrieved from http://portal.acm.org/citation.cfm?id=1060111

[18] Licea, G., Juárez-Ramírez, R., Gaxiola, C., Aguilar, L., Martínez, L.G., “Teaching object-oriented programming with AEIOU”. Comput. Appl. Eng. Educ., vol. 22 (2) June 2014, 309-319. DOI=10.1002/cae.20556 http://dx.doi.org/10.1002/cae.20556.

Luis G. Martínez Estudió en la Universidad Autónoma de Baja California en el Departamento de Ingeniería en Computación el Doctorado en Ciencias (2010). Profesor de tiempo completo desde 1988, miembro del Cuerpo Académico “Tecnologías de Software y Sistemas Interactivos”. Las áreas de interés son desarrollo de software educacional, ingeniería de software, metodologías de procesos de software, roles y trabajo en equipos de software, inteligencia artificial y sistemas lógicos difusos. Saúl Marrufo Estudió en la Universidad Autónoma de Baja California en el Departamento de Ingeniería en Computación la Maestría en Ciencias (2015). Las áreas de interés son desarrollo de software, ingeniería de software, metodologías de procesos de software y aplicaciones móviles.

Guillermo Licea es profesor de tiempo completo de la Universidad Autónoma de Baja California desde 1991. Egresado Doctor en Ciencias Computacionales del Centro de Investigación CICESE, Ensenada. Miembro del Cuerpo Académico “Tecnologías de Software y Sistemas Interactivos”. Las áreas de interés de investigación incluyen lenguajes de programación, aplicaciones móviles y el mejoramiento de la educación en ingeniería utilizando estrategias y herramientas de software educativas.

Reyes Juárez-Ramírez es profesor de tiempo completo de la Universidad Autónoma de Baja California. Egresado Doctor en Ciencias Computacionales del Centro de Investigación CICESE, Ensenada. Es líder del Cuerpo Académico “Tecnologías de Software y Sistemas Interactivos”. Las áreas de interés incluyen métodos formales en ingeniería de software y apoyo a sectores desfavorecidos mediante herramientas de software.

Leocundo Aguilar es profesor de tiempo completo de la Universidad Autónoma de Baja California trabajando en el programa de Ingeniero en Computación. Doctor en Ciencias Computacionales integrante del Cuerpo Académico “Tecnologías de Software y Sistemas Interactivos”. Las áreas de interés incluyen sistemas empotrados, redes de sensores inalámbricas y herramientas de software para la educación en ingeniería.

1830 IEEE LATIN AMERICA TRANSACTIONS, VOL. 16, NO. 6, JUNE 2018