Anda di halaman 1dari 80

UNIVERSIDAD MAYOR DE SAN ANDRÉS

FACULTAD DE CIENCIAS PURAS Y NATURALES


CARRERA DE INFORMÁTICA

TESIS DE GRADO

DESARROLLO DE UNA APLICACIÓN MÓVIL


MULTIPLATAFORMA UTILIZANDO UN SPHERO PARA LA
ENSEÑANZA DE PROGRAMACIÓN EN NIÑOS

PARA OPTAR AL TÍTULO DE LICENCIATURA EN INFORMÁTICA


MENCIÓN: INGENIERÍA DE SISTEMAS INFORMÁTICOS

POSTULANTE: Alvaro Rojas Alcón


TUTOR METODOLÓGICO: M. Sc. Aldo Ramiro Valdez Alvarado
ASESOR: M. Sc. Jorge Humberto Terán Pomier

LA PAZ – BOLIVIA

2015
UNIVERSIDAD MAYOR DE SAN ANDRÉS
FACULTAD DE CIENCIAS PURAS Y NATURALES
CARRERA DE INFORMÁTICA

LA CARRERA DE INFORMÁTICA DE LA FACULTAD DE CIENCIAS PURAS Y


NATURALES PERTENECIENTE A LA UNIVERSIDAD MAYOR DE SAN ANDRÉS
AUTORIZA EL USO DE LA INFORMACIÓN CONTENIDA EN ESTE
DOCUMENTO SI LOS PROPÓSITOS SON ESTRICTAMENTE ACADÉMICOS.

LICENCIA DE USO

El usuario está autorizado a:

a) visualizar el documento mediante el uso de un ordenador o dispositivo móvil.


b) copiar, almacenar o imprimir si ha de ser de uso exclusivamente personal y privado.
c) copiar textualmente parte(s) de su contenido mencionando la fuente y/o haciendo la
referencia correspondiente respetando normas de redacción e investigación.

El usuario no puede publicar, distribuir o realizar emisión o exhibición alguna de este


material, sin la autorización correspondiente.

TODOS LOS DERECHOS RESERVADOS. EL USO NO AUTORIZADO DE LOS


CONTENIDOS PUBLICADOS EN ESTE SITIO DERIVARA EN EL INICIO DE
ACCIONES LEGALES CONTEMPLADOS EN LA LEY DE DERECHOS DE AUTOR.
DEDICATORIA

Dedicado a:

Mis padres que siempre estuvieron apoyándome en toda


las etapas de mi formación profesional y a todas las
personas que creyeron en mi.

i
AGRADECIMIENTOS

Primeramente quiero agradecer a todos los docentes y auxiliares de la Universidad que


fueron muy importantes en mi formación académica ya que gracias a ellos pude
aprender mucho sobre el mundo de la informática.

Quiero agradecer de manera particular a mi Tutor M. Sc. Aldo Valdez por la paciencia,
recomendaciones y los ánimos que me dio para que pueda concluir con la tesis. A mi
Revisor M. Sc. Jorge Terán quien me ayudo con consejos, recomendaciones desde los
inicios de mi formación académica.

También dar las gracias a mis padres Pacifico Rojas y Carmen Alcón que siempre me
apoyaron en todo, con consejos, ánimos para que pueda salir adelante tanto en mi vida
personal como en mi carrera profesional.

Y un agradecimiento muy especial a nuestra querida Universidad Mayor de San Andrés


que me cobijo por varios años hasta terminar mi formación académica.

Muchas gracias a todos!

ii
RESUMEN

El crecimiento de la tecnología avanza muy rápido, podemos observar tecnologías a


nuestro alrededor que nos facilitan la vida. Una de las tecnologías que se volvieron muy
importantes para el ser humano son los dispositivos móviles como los smartphones que
son usados durante todo el día por las personas, los cuales tienen características como
mandar mensajes, navegar por internet, revisar fotos, usar aplicaciones, etc.

Para cada una de estas tecnologías existe un software que fue programado en algún
lenguaje de programación. Hoy en día el nuevo lenguaje en el mundo es la programación
e imaginar a niños programando no esta lejos de la realidad. En nuestro país este tema
no es muy explotado aun, No existen materias especificas o similares que puedan
enseñar a los niños a programar.

La presente tesis plantea usar esta ventaja del uso masivo de los smartphones para poder
implementar una aplicación móvil que tiene como características un pseudolenguaje de
programación capaz de manipular un sphero para la enseñanza de programación en los
niños.

La aplicación mencionada tendrá diferentes características como el planteamiento básico


de problemas a los niños los cuales usando un pseudolenguaje de programación tienen
que resolver.

iii
ABSTRACT

The technology in the last time has grown very fast; we can see a lot of technologies
around us that improves our life and help us every day. One of the technologies very
important for the people are mobile devices such as smartphones which are used almost
all day for the people, for example used to send messages, internet, take photos, apps,
etc.

Behind every technology there is software, which was programmed to provide this
functionality. Today the new global language around the world is the programming, to
imagine a world with children programming is not far from our reality. However in our
country it’s a little far and is not exploited, for example in our country there are not
specific or similar subjects related to program.

This thesis take this advantage to develop and design a mobile application that will have
features such as a pseudo-language able to manipulate a sphero from a smartphone for
teaching programming to children.

The application will have a lot of features such as the basic problems, which should be
solved using a pseudo-language.

iv
ÍNDICE

CAPITULO I .................................................................................................................... 1

1. MARCO REFERENCIAL ....................................................................................... 1

1.1. INTRODUCCIÓN ................................................................................................. 1


1.2. ANTECEDENTES ........................................................................................................ 3
1.3. PLANTEAMIENTO DEL PROBLEMA .................................................................... 4
1.3.1. PROBLEMA CENTRAL ......................................................................................... 5
1.3.2. PROBLEMAS SECUNDARIOS ............................................................................. 5
1.4. DEFINICIÓN DE OBJETIVOS .................................................................................. 5
1.4.1. OBJETIVO GENERAL ........................................................................................... 5
1.4.2. OBJETIVOS ESPECÍFICOS ................................................................................... 6
1.5. HIPÓTESIS ................................................................................................................... 7
1.6. JUSTIFICACIÓN ......................................................................................................... 7
1.6.1. ECONÓMICA .......................................................................................................... 7
1.6.2. SOCIAL .................................................................................................................... 8
1.6.3. CIENTÍFICA ............................................................................................................ 8
1.7. ALCANCES Y LÍMITES ............................................................................................. 9
1.7.1. ALCANCES ................................................................................................................ 9
1.7.2. LÍMITES ................................................................................................................ 10
1.8. APORTES .................................................................................................................... 10
1.8.1. PRÁCTICO ............................................................................................................ 10
1.8.2. TEÓRICO ............................................................................................................... 10
1.9. METODOLOGÍA ....................................................................................................... 11

CAPITULO II ................................................................................................................ 13

2. MARCO TEÓRICO ............................................................................................... 13


2.1. MOBILE-D .................................................................................................................. 13
2.1.1. FASE DE EXPLORACIÓN ................................................................................... 13
2.1.1.1. DEFINICIÓN DE PARTES INTERESADAS ................................................................ 14
2.1.1.2. DEFINICIÓN DE ALCANCE ....................................................................................... 14
2.1.1.3. DEFINICIÓN DEL PROYECTO .................................................................................. 14

v
2.1.2. FASE DE INICIALIZACIÓN ................................................................................ 15
2.1.2.1. CONFIGURACIÓN DEL PROYECTO ......................................................................... 15
2.1.2.2. PLANIFICACIÓN INICIAL .......................................................................................... 15
2.1.2.3. DÍAS DE PRUEBA ........................................................................................................ 16
2.1.3. FASE DE PRODUCTO.......................................................................................... 16
2.1.3.1. DÍA DE PLANIFICACIÓN ........................................................................................... 17
2.1.3.2. DÍA DE TRABAJO ........................................................................................................ 17
2.1.3.3. DÍA DE ENTREGA ....................................................................................................... 17
2.1.4. FASE DE ESTABILIZACIÓN .............................................................................. 17
2.1.4.1. DÍA DE PLANIFICACIÓN ........................................................................................... 18
2.1.4.2. DÍA DE TRABAJO ........................................................................................................ 18
2.1.4.3. DOCUMENTACIÓN ..................................................................................................... 18
2.1.4.4. DÍA DE ENTREGA ....................................................................................................... 19
2.1.5. FASE DE PRUEBAS ............................................................................................. 19
2.1.5.1. SISTEMA DE PRUEBAS............................................................................................... 20
2.1.5.2. SOLUCIÓN DE ERRORES ........................................................................................... 20
2.2. SPHERO....................................................................................................................... 21
2.2.1. CALIBRACIÓN DEL SPHERO ............................................................................ 22
2.2.2. TECNOLOGÍA DEL ROBOT ............................................................................... 22
2.2.2.1. CONTROL DE SISTEMA Y SENSORES ......................................................... 23
2.2.2.2. LUCES........................................................................................................................... 23
2.2.2.3. DETECCIÓN DE COLISIÓN ....................................................................................... 23
2.2.3. LENGUAJES DE PROGRAMACIÓN .................................................................. 23
2.2.3.1. MACRO ......................................................................................................................... 23
2.2.3.2. ORB-BASIC ................................................................................................................... 25
2.2.3.3. OVAL ............................................................................................................................. 26
2.2.4. COMPATIBILIDAD Y AUTONOMÍA ................................................................ 28
2.3. ENSEÑANZA Y APRENDIZAJE ............................................................................. 28
2.3.1. MÉTODOS DE ENSEÑANZA.............................................................................. 29
2.3.1.1. MÉTODOS EN CUANTO A LA FORMA DE RAZONAMIENTO .......................... 29
2.3.1.2. MÉTODOS EN CUANTO A ORGANIZACIÓN DE LA MATERIA .............................. 30
2.3.1.3. MÉTODOS EN CUANTO A SU RELACIÓN CON LA REALIDAD ............................. 31
2.3.1.4. MÉTODOS EN CUANTO A LAS ACTIVIDADES EXTERNAS .................................... 32
2.3.1.5. MÉTODOS EN CUANTO A SISTEMATIZACIÓN DE CONOCIMIENTOS ................ 32

vi
2.3.2. MÉTODOS DE APRENDIZAJE ........................................................................... 33
2.3.2.1. APRENDIZAJE AUDITIVO ....................................................................................... 33
2.3.2.2. APRENDIZAJE VISUAL ............................................................................................ 34
2.3.2.3. APRENDIZAJE TÁCTIL ............................................................................................ 35
2.3.2.4. APRENDIZAJE CINESTÉTICO ................................................................................. 39
2.4. PROGRAMACIÓN..................................................................................................... 40
2.4.1. PSEUDOLENGUAJE DE PROGRAMACIÓN .................................................... 41
2.4.1.1. VARIABLES................................................................................................................... 42
2.4.1.2. CONSTANTES............................................................................................................... 42
2.4.1.3. DECLARACIÓN DE CONSTANTES Y VARIABLES .................................................... 42
2.4.1.4. ESTRUCTURAS SECUENCIALES ............................................................................... 43
2.4.1.5. ESTRUCTURAS SELECTIVAS ..................................................................................... 43
2.4.1.6. ESTRUCTURA ITERATIVAS ........................................................................................ 44
2.5. APLICACIÓN MÓVIL .............................................................................................. 44
2.5.1. APLICACIÓN NATIVA ........................................................................................ 45
2.5.2. APLICACIÓN HIBRIDA (MULTIPLATAFORMA) ........................................... 46

CAPITULO III ............................................................................................................... 49

3. MARCO APLICATIVO ........................................................................................ 49


3.1. FASE DE EXPLORACIÓN ....................................................................................... 49
3.1.1. AMBIENTE FÍSICO .............................................................................................. 50
3.1.2. AMBIENTE TÉCNICO ......................................................................................... 50
3.2. FASE DE INICIALIZACIÓN .................................................................................... 51
3.2.1. CONFIGURACIÓN INICIAL DEL PROYECTO ................................................ 51
3.2.2. PLANIFICACIÓN INICIAL .................................................................................. 52
3.2.3. DÍAS DE PRUEBA ................................................................................................ 54
3.3. FASE DE PRODUCTO .............................................................................................. 55
3.3.1. ITERACIÓN 1 ........................................................................................................ 55
3.3.1.1. DÍA DE PLANIFICACIÓN ........................................................................................... 55
3.3.1.2. DÍA DE TRABAJO (CICLO) ......................................................................................... 56
3.3.2. ITERACIÓN 2 ........................................................................................................ 56
3.3.2.1. DÍA DE PLANIFICACIÓN ........................................................................................... 56
3.3.2.2. DÍA DE TRABAJO (CICLO) ......................................................................................... 57
3.3.2.3. DÍA DE ENTREGA ....................................................................................................... 57

vii
3.4. FASE DE ESTABILIZACIÓN .................................................................................. 58
3.5. FASE DE PRUEBAS Y ENTREGA .......................................................................... 58

4. PRUEBA DE HIPÓTESIS ..................................................................................... 60


4.1. VERIFICACIÓN DEL PSEUDOLENGUAJE ......................................................... 60

5. CONCLUSIONES Y RECOMENDACIONES.................................................... 65
5.1. CONCLUSIONES ....................................................................................................... 65
5.2. RECOMENDACIONES ............................................................................................. 66

6. BIBLIOGRAFÍA .................................................................................................... 67

7. ANEXOS .................................................................................................................. 69
ANEXO A: NUEVO DISEÑO DE LA APLICACIÓN ....................................................... 69

viii
ÍNDICE DE FIGURAS

CAPITULO II

Figura 2. 1 Fase de Exploración (Agile.vtt.fi, 2006) ....................................................... 14


Figura 2. 2 Fase de Inicialización(Agile.vtt.fi, 2006) ...................................................... 15
Figura 2. 3 Fase del Producto(Agile.vtt.fi, 2006) ............................................................ 16
Figura 2. 4 Fase de Estabilización (Agile.vtt.fi, 2006) .................................................... 18
Figura 2. 5 Fase de Pruebas (Agile.vtt.fi, 2006) .............................................................. 19
Figura 2. 6 Sphero (Sphero.com , 2015) .......................................................................... 21
Figura 2. 7 Calibración del Sphero (sphero.com, 2015) .................................................. 22
Figura 2. 8 Pseudocódigo (Apoyoti.com, 2015) .............................................................. 43

CAPITULO III

Figura 3. 1 Estructura Phonegap (Elaboración propia) .............................................................. 52


Figura 3. 2 Flujo Inicial (Elaboración Propia) ............................................................................... 53
Figura 3. 3 Pantalla de comandos para el Sphero (Elaboración propia) ............................... 54
Figura 3. 4 Lista de Comandos (Elaboración Propia) ................................................................. 58

CAPITULO IV

Figura 4. 1 Código de cambio de color Sphero (Elaboración propia) ................................... 61


Figura 4. 2 Sphero cambiado a rojo (Elaboración propia) ........................................................ 62
Figura 4. 3 Pseudolenguaje (Elaboración propia) ........................................................................ 62
Figura 4. 4 Nuevo diseño de la aplicación (Elaboración propia) ............................................ 64

ix

CAPITULO I

1. MARCO REFERENCIAL

1.1. INTRODUCCIÓN

En la actualidad vivimos en un mundo rodeado de tecnología donde se puede encontrar


cámaras digitales, cajeros automáticos, celulares, video juegos, ascensores y una
infinidad de otras tecnologías en nuestro entorno que facilitan nuestro día a día. En
resumen vivimos en un mundo donde la tecnología se encuentra y permanece en nuestro
alrededor.

Toda esta tecnología si bien funciona con un hardware también es necesario la


implementación de un de software, para poder crear este software es necesario tener
conocimientos de programación.

En nuestro país nos encontramos con la debilidad que niños de grados inferiores
conocen muy poco sobre el tema o casi ninguno. Por décadas el aprendizaje en los niños
se enfocaron en literatura y números, con algo de atención a la ciencia, en particular a
palabras naturales como insectos, volcanes, plantas y árticos. Entender las palabras
naturales es importante, también el desarrollo de conocimiento en los niños del mundo
sobre la tecnología hecha por el hombre también es importante [Bers, 2008]. Este es el
reino de la tecnología y la ingeniería, que se centran en el desarrollo y aplicación de
herramientas, máquinas, materiales y procesos para ayudar a resolver los problemas
humanos.

La temprana educación en los niños han ignorado esto; es común ver a los niños usando
materiales reciclables para construir ciudades , puentes. Sin embargo lo único que hizo a

nuestro mundo como es hoy es la innovación de tecnología. Por ejemplo el elevador


“sabe” que si hay alguna mano entre las puertas esta no debería cerrarse. Nuestros
celulares “saben” como tomar una fotografía, enviar emails, y programar alarmas.
Vivimos en un mundo el cual los bits y átomos son mas integrados [Gershenfeld, 2000];
Sin embargo nosotros no enseñamos a nuestros niños esto. Hay varias razones por la
cual no se pone énfasis en la tecnología en la primera enseñanza de nuestros niños, pero
2 de estas son las mas importantes:

ü Los niños no están listos para entender tal complejidad y abstraer estos
fenómenos abstractos.
ü La falta de tecnología con la interfaz adecuada y apropiada para que los niños
puedan desarrollar estas habilidades a corta edad.

En esta tesis se implementa y se desarrolla una aplicación para cubrir estas dos
principales falencias en la educación de los niños. Para tal propósito se desarrolla una
aplicación que soporte varias plataformas móviles como iOS y android compartiendo el
mismo código para poder interconectarse vía bluetooth con un Sphero (Una especia de
esfera robótica capaz de ser controlada desde un celular inteligente o tablet) para que el
niño pueda ser capaz de manipular el sphero y aprender junto a ella conceptos básicos de
programación.

También cabe destacar que con esta aplicación no se quiere que todos los niños se
vuelvan programadores en un futuro sino que estos puedan acercarse un poco más al
mundo de la tecnología.

1.2. ANTECEDENTES

Como ya señalamos anteriormente en el capitulo anterior, es muy importante poner


énfasis en lo primeros años de enseñanza de lo niños para poder ir desarrollando esa
habilidad de resolver problemas.

En muchos países esto no es nuevo, pues existen materias especificas que ayudan al niño
a poder desarrollar su intelecto resolviendo problemas de lógica con algoritmos y se
usan varias herramientas para tal propósito.

Entre ellas podemos mencionar aplicaciones tales como:

ü Scratch
Desarrollado por la MIT en el año 2007. Es un lenguaje de programación
visual que permite a los principiantes aprender a escribir de manera
sintácticamente correcta desde el principio. Permite investigar, introducirse y
jugar con la programación de ordenadores utilizando una interface gráfica muy
sencilla., es un lenguaje grafio de programación para niños de 8 años en adelante.
[scratch.mit.edu, 2015]

ü App Inventor
Desarrollado igualmente por el MIT en el año 2010. El App Inventor utiliza
bloques de construcción para diseñar sus propias aplicaciones Android. El
proyecto fue dirigido por el profesor Harold Abelson, citado en la entrevista del
New York Times diciendo que el objetivo del App inventor “es permitir a la
gente a convertirse en creadores, no sólo consumidores, en este mundo móvil”.
[appinventor.mit.edu, 2015]

ü Alice

Alice es libre y es un entorno de programación 3D de código abierto para


enseñar a los alumnos programación orientada a objetos y programación
orientada a los eventos. En Alice, los estudiantes arrastran y sueltan cuadros
gráficos con el fin de animar un objeto y crear un programa. Una variante de
Alice, Storytelling. Alice fue desarrollado por Caitlin Kelleher como parte de su
trabajo de doctorado en Ciencias de la Computación en la Universidad Carnegie
Mellon en el año 2008. Al hacer hincapié en las animaciones y las interacciones
sociales, este enfoque fue encontrado para aumentar considerablemente el nivel
de interés de los estudiantes en la programación. [www.alice.org, 2015]

Como podemos observar existen muchas aplicaciones web que pueden ser usadas para la
enseñanza de programación en los niños, pero de todas estas no es posible ejecutar el
código realizado por lo niños en la web en un objeto tangible como lo haremos con el
Sphero. A la vez se realiza la implementación de un nuevo pseudolenguaje de
programación con palabras claras para que los niños puedan manipular el Sphero desde
un dispositivo móvil.

1.3. PLANTEAMIENTO DEL PROBLEMA

En nuestro país la importancia en el desarrollo de conocimiento de los niños en la área


de informática y programación es mínima debido a no contar con materias especificas
para la enseñanza de tal materia y mucho menos no se cuenta con aplicaciones o
metodologías adecuadas para la enseñanza de estas áreas. A su vez esto causa que
muchas veces perdamos o encontremos de manera tarde a los niños talento en
programación de nuestro país. Esto tiene un efecto el cual es que estemos varios pasos
atrás en esta área con otros países.

1.3.1. PROBLEMA CENTRAL

¿Cómo podemos crear un pseudolenguaje de programación para la manipulación del


Sphero que sirva como herramienta para la enseñanza de programación en niños?

1.3.2. PROBLEMAS SECUNDARIOS

ü Existe poca importancia en el área de programación y algoritmos en la enseñanza

de los niños en las escuelas, provocando poco crecimiento en su lógica.

ü Tecnología como celulares inteligentes no son utilizados de manera productiva

por los niños, lo que implica desperdicio de una herramienta muy importante

para que el niño pueda aprender.

ü La enseñanza en escuelas solo se basa en literatura, números y poco en ciencia

dejando de lado la mejora de habilidad en resolución de problemas en los niños.

ü Muchas veces se tarda en encontrar niños talento en el área de informática.

ü No existe metodologías lo suficientemente claras para la enseñanza de

programación en los niños.

ü Por parte de Orbotix (Creadores del Sphero) no tienen un Pseudolenguaje desde

dispositivos móviles para la manipulación del Sphero.

1.4. DEFINICIÓN DE OBJETIVOS

1.4.1. OBJETIVO GENERAL

Diseñar y desarrollar una aplicación móvil en diferentes plataformas móviles con la


implementación de un pseudolenguaje de programación para el control y manejo del
Sphero desde un dispositivo móvil que sirva como herramienta para el aprendizaje de
conceptos básicos de programación en los niños.

1.4.2. OBJETIVOS ESPECÍFICOS

Los objetivos específicos de la aplicación a desarrollarse son básicamente la mejora de


diferentes habilidades en los niños:

ü Desarrollar un pensamiento lógico y algorítmico.

ü Desarrollar fundamentos de programación .

ü Desarrollar métodos para solucionar problemas de manera metódica y ordenada.

ü Implementar una aplicación móvil capaz de poder soportar diferentes

plataformas móviles para el manejo y control del Sphero.

ü Diseñar y plantear problemas de diferentes dificultades para la mejora de lógica

y solución de problemas.

ü Crear un pseudolenguaje de programación usado para la programación del

sphero desde dispositivos móviles o tablets.

ü Alimentar de datos al sphero desde los sensores del dispositivo como

acelerómetro, temperatura, notificaciones.

ü Implementar la capacidad de memorización de algoritmos en el Sphero

utilizando el dispositivo móvil como almacenamiento.

ü Crear una librería en JavaScript utilizando Phonegap, la cual será compatible con

varias plataformas móviles como iOS y Android.

1.5. HIPÓTESIS

El desarrollo de un pseudolenguaje de programación para la manipulación de un Sphero


permite desarrollar un producto para la enseñanza de programación en niños.

1.6. JUSTIFICACIÓN

La implementación, diseño y desarrollo de la aplicación para la manipulación del Sphero


es un experimento social muy importante en el aprendizaje de los niños, ya que
permitirá mejorar la lógica, resolución de problemas y uso de algoritmos básicos.

1.6.1. ECONÓMICA

En nuestro país no tenemos una materia específica en las escuelas o colegios donde los
niños aprendan a programar o al menos no se les enseñen conceptos básicos de
programación, pero existe algunas academias de enseñanza de programación para niños
las cuales tienen un costo mensual y en su mayoría de costo elevado. La aplicación que
se desarrollara será gratuita y disponible para diferentes plataformas móviles. Con esta
aplicación los niños podrán introducirse en el mundo de la programación y aprender
conceptos sencillos y básicos de esta.

Por otra parte el Sphero tiene un costo, pero cabe mencionar que esta esfera robótica
tiene infinitas posibilidades de ayudar a los niños ya que al contar con un SDK de

desarrollo muchas personas pueden crear sus propias aplicaciones enfocadas a la


enseñanza.

1.6.2. SOCIAL

La creación de este software es muy importante para diferentes áreas en la educación de


nuestro país y expandible a diferentes países, pues será muy útil para potenciar el talento
de los niños jugando y solucionando problemas programando en base a pseudolenguaje
básico.

Como se señalo anteriormente es muy importante despertar las habilidades de lógica en


los niños a edad temprana, ya que la introducción a algoritmos y conceptos básicos de
programación en edad temprana nos permite encontrar rápidamente a niños con talento
en la programación y poder introducirlos en algoritmos y verlos en un futuro
participando de concursos de programación, robótica, etc.

También se quiere lograr la socialización de conocimiento entre niños la cual la irán


adquiriendo con la aplicación con diferentes personas ya sea en nuestro país o
alrededores usando nuestros dispositivos móviles.

1.6.3. CIENTÍFICA

La creación de un pseudolenguaje de programación sencillo y claro será muy


importante, ya que será acoplado como una alternativa mas a los lenguajes de
programación que ya existen para niños.

Para la implementación de este software se realizara una investigación en cuanto al tipo


de problemas que se deberán ser planteados a los niños, llegando incluso a la
implementación de realidad aumentada para detectar el Sphero en la cámara del celular.

Además se realizará una investigación profunda para el diseño de las dificultades y


niveles para que los niños puedan aprender a programar jugando y creando sus propias
características para su sphero.

A la vez también se dejará la implementación de un framework usando Phonegap para la


manipulación del Sphero usando el mismo código en diferentes plataformas como iOS y
Android.

1.7. ALCANCES Y LÍMITES

1.7.1. ALCANCES

El Sphero es capaz de ser controlado desde un dispositivo móvil como ser Android o
iOS, tiene diferentes funcionalidades y sensores como el ir adelante, retroceder, girar ,
cambiar de color, acelerómetro, detección de colisiones. Con estas funciones se
desarrollará una aplicación para el aprendizaje de programación en los niños.

Una vez implementado el software para el control del Sphero se podrá contar con:

ü Una aplicación móvil con un conjunto de problemas de lógica para niños.

ü Memorización de movimientos algoritmos en el dispositivo móvil.

ü Enseñanza de programación y mejoramiento en la habilidad de solución de

problemas jugando.

ü Un pseudolenguaje básico de programación usado para programar los

movimientos del Sphero desde un dispositivo móvil.

ü Manipulación de todos los sensores del sphero desde la aplicación.

ü Creación de niveles y problemas por los mismos niños usando la aplicación.

1.7.2. LÍMITES

ü La aplicación no estará disponible para dispositivos con Windows Mobile.

ü La aplicación tendrá el rango de edad para niños de 9 a 13 años.

ü La conexión con el sphero solo será por vía bluetooth.

ü La aplicación tiene como requerimiento contar con el Sphero.

1.8. APORTES

1.8.1. PRÁCTICO

ü Aplicación multiplataforma para el manejo de un Sphero.

ü Creación de problemas básicos para la enseñanza de programación en los niños.

ü Control y Manipulación de los sensores del Sphero.

ü Manipulación de movimientos del Sphero (adelante, atrás, girar).

ü Conexión al sphero por bluetooth.

ü Detección de caídas y colisiones del Sphero.

1.8.2. TEÓRICO

ü Utilización de algoritmos para la creación del nuevo pseudolenguaje de

programación.

10

ü Creación de una plataforma basada en JavaScript para que la aplicación pueda

soportar varias plataformas de dispositivos móviles.

ü Investigación y análisis teórico para el diseño de niveles en el software.

ü Un nuevo Pseudolenguaje básico de programación.

1.9. METODOLOGÍA

Para la implementación, desarrollo y diseño de la aplicación para la enseñanza de


programación en niños usando el Sphero se utilizará la metodología Mobile-D.

El objetivo de esta metodología es conseguir ciclos de desarrollo muy rápidos en


equipos muy pequeños. Fue creado en un proyecto finlandés en 2005, pero sigue estando
vigente.

Esta basado en metodologías conocidas pero aplicadas de forma estricta como: extreme
programming (XP), Crystal Methodologies y Rational Unified Process.

Se compone de distintas fases: exploración, inicialización, fase de producto, fase de


estabilización y la fase de pruebas.

Las principales tareas y procesos que se realizará para el desarrollo de la aplicación


móvil para enseñanza de programación en los niños son:

ü Revisión y análisis de diferentes aplicaciones y sitios dedicados a la enseñanza

de programación en niños.

ü Explorar diferentes aplicaciones desarrolladas para el sphero.

ü Análisis de lenguajes de programación usados para enseñar a niños

11

ü Revisión del SDK brindado por Orbotix para la manipulación del sphero.

ü Manipulación inicial del Sphero en diferentes plataformas móviles.

ü Implementación de una base inicial para el desarrollo de la aplicación

ü Integración del Sphero con comandos básicos de movimiento con la aplicación.

ü Desarrollo de problemas de diferente dificultad para ser solucionados mediante

código de programación.

ü Implementación del pseudolenguaje básico para los movimientos del sphero.

ü Implementación del SDK de Sphero para la manipulación de todos sus sensores

vía el pseudolenguaje desarrollado.

ü Pruebas y estabilización de la aplicación revisando la manipulación el sphero

mediante la aplicación.

ü Distribución de la aplicación vía un gestor de paquetes web a usuarios para

realizar pruebas y comentarios sobre la aplicación.

ü Solución de problemas y errores encontrados durante la prueba de la aplicación.

12

CAPITULO II

2. MARCO TEÓRICO

2.1. MOBILE-D

El objetivo de esta metodología es conseguir ciclos de desarrollo muy rápidos en


equipos muy pequeños. Fue creado en un proyecto finlandés en 2005, pero sigue estando
vigente. Basado en metodologías conocidas pero aplicadas de forma estricta como:
extreme programming, Crystal Methodologies y Rational Unified Process. [agile.vtt.fi,
2006]

Se compone de distintas fases: exploración, inicialización, fase de producto, fase de


estabilización y la fase de pruebas. Cada una tiene un día de planificación y otro de
entrega.

2.1.1. FASE DE EXPLORACIÓN

En la fase de exploración se centra la atención en la planificación y a los conceptos


básicos del proyecto. Aquí es donde hacemos una definición del alcance del proyecto y
su establecimiento con las funcionalidades donde queremos llegar. Una buena
planificación es completar al menos la mitad del proyecto. Esta fase también es muy
importante porque se puede definir una implementación inicial de la arquitectura en el
proceso de desarrollo.

ü Definición de grupo de interesados necesarios para la planificación y monitoreo

del proceso de desarrollo de software del proyecto.

ü Definir y acordar objetivos y alcances por el software a desarrollarse.

13

ü Planificación del proyecto relacionado al ambiente y personal

Figura 2. 1 Fase de Exploración (Agile.vtt.fi, 2006)

2.1.1.1.DEFINICIÓN DE PARTES INTERESADAS

Es una etapa donde todos los relevantes grupos de interés necesitan establecer diferentes
tareas para la parte inicial del proyecto donde son definidos por roles y recursos. Por
ejemplo se debe definir diferentes grupos de especialistas como el grupo de arquitectura,
desarrolladores de software.

2.1.1.2.DEFINICIÓN DE ALCANCE

Es una etapa donde los objetivos y alcances de la parte inicial del proyecto de desarrollo
son definidos y en acuerdo con los dueños del producto. Esto incluye requerimientos
iniciales para el producto en un tiempo limite del proyecto.

2.1.1.3.DEFINICIÓN DEL PROYECTO

Es la etapa para definir el ambiente del proyecto, tanto físico como técnico para la
inicialización del proceso de desarrollo, todas las necesidades y requerimientos en este
ámbitos son definidos en esta etapa.

14

2.1.2. FASE DE INICIALIZACIÓN

En la iniciación configuramos el proyecto identificando y preparando todos los recursos


necesarios como hemos comentado anteriormente en esta fase la dedicaremos un día a la
planificación y el resto al trabajo y publicación. También en esta fase se identifica todas
las tareas críticas que se tienen que desarrollar en el proyecto.

Figura 2. 2 Fase de Inicialización(Agile.vtt.fi, 2006)

2.1.2.1.CONFIGURACIÓN DEL PROYECTO

ü Configuración física y técnica de recursos para el ambiente del proyecto.

ü Establecer maneras especificas de comunicación con el cliente.

2.1.2.2.PLANIFICACIÓN INICIAL

ü Principalmente entender bien los objetivos del producto para que el equipo pueda

tener una base inicial de acuerdo a los requerimientos de arquitectura.

15

ü Refinar la arquitectura y el plan del proyecto.

ü Crear un plan para la definición de la arquitectura.

ü Preparar un plan para revisar el estado del proyecto, tareas criticas etc.

2.1.2.3.DÍAS DE PRUEBA

El propósito de esta iteración es completar las tareas de desarrollo criticas y resolver


todos las tareas abiertas si es posible

2.1.3. FASE DE PRODUCTO

El propósito de esta fase es implementar toda la funcionalidad requerida del producto


aplicando ciclos de desarrollos iterativos e incrementarles.
Los objetivos de esta fase son:

ü Implementar la funcionalidad prioritaria requerida por el usuario del producto.

ü Enfocarse en la funcionalidad principal permitiéndose múltiples ciclos de

desarrollo.

Figura 2. 3 Fase del Producto(Agile.vtt.fi, 2006)

16

2.1.3.1.DÍA DE PLANIFICACIÓN

Definición de tareas e historias de usuario por interacción

2.1.3.2.DÍA DE TRABAJO

Implementar la funcionalidad definida en el día de planificación y esta es controlada por


un líder de proyecto

2.1.3.3.DÍA DE ENTREGA

El propósito de este día es verificar y validar la implementación de los días de


desarrollo. Este puede ser demostraciones parciales del proyecto a medida que este se va
completando en cuanto a su desarrollo.

2.1.4. FASE DE ESTABILIZACIÓN

Después de la fase de producto llega la fase de estabilización en la que se realizan las


acciones de integración para enganchar los posibles módulos separados en una única
aplicación y a la vez asegurar la calidad de la implementación del proyecto.

Entre los objetivos de estabilización del proyecto tenemos:

ü Finalizar la implementación del producto

ü Mejorar y asegurar la calidad del producto

17

ü Finalizar la documentación del producto

La estabilización del producto puede ser conducida por las siguientes etapas:

Figura 2. 4 Fase de Estabilización (Agile.vtt.fi, 2006)

2.1.4.1.DÍA DE PLANIFICACIÓN

Esta etapa de planificación sirve para poder organizar tareas e implementar las
características restantes del producto y mejorar las partes externas e internas del
producto.

2.1.4.2.DÍA DE TRABAJO

Esta etapa de fase de estabilización es para finalizar la implementación del producto para
mejorar y asegurar la calidad del producto.

2.1.4.3.DOCUMENTACIÓN

Esta etapa es para finalizar la arquitectura de software, diseñar documentos, incluir


manuales sobre la aplicación.

18

2.1.4.4.DÍA DE ENTREGA

El propósito del día de entrega es verificar, validar la implementación, funcionalidad y


calidad de todo el software desarrollado y verificar la documentación.

2.1.5. FASE DE PRUEBAS

El propósito de la fase de pruebas y solución de errores es para verificar si el producto


desarrollado implementa y tiene la funcionalidad requerida y definida por el usuario
correctamente, también se realiza la detección de errores de funcionalidad los cuales
deben ser solucionados. En esta fase no se considera ninguna nueva implementación.

La fase de pruebas y solución de errores tiene por objetivos:

ü Probar el sistema basada en la documentación producida para el proyecto.

ü Proveer información sobre defectos encontrados.

ü Diseñar un plan de solución de errores para los defectos encontrados.

ü Solucionar defectos del sistema.

Las etapas individuales para la fase de prueba son mostradas en el siguiente grafico

Figura 2. 5 Fase de Pruebas (Agile.vtt.fi, 2006)

19

2.1.5.1.SISTEMA DE PRUEBAS

Es una etapa donde el sistema es probado como se describe en el patrón sistema de


prueba, se encuentra defectos en el sistema los cuales son documentados para la fase de
solución de errores.

2.1.5.2.SOLUCIÓN DE ERRORES

Es una variación de la iteración normal con la diferencia que no se realiza ninguna nueva
funcionalidad en esta etapa y el tiempo de cada iteración es muy corto.

ü DÍA DE PLANIFICACIÓN
En esta etapa se planifica todas las tareas e historias de usuarios de los defectos y
errores encontrados en el sistema

ü DÍA DE TRABAJO
En esta etapa se trabaja y se soluciona todos los errores y defectos encontrados
en el sistema que fueron planificados en el día de planificación.

ü DOCUMENTACIÓN
En esta etapa se termina la documentación de la arquitectura de software, diseño
y documentación de imágenes. La documentación es actualizada de acuerdo a los
cambios existentes en la fase de iteración de pruebas.

ü DÍA DE ENTREGA
El propósito de esta etapa es verificar y validar la funcionalidad implementada en
el ciclo de desarrollo y verificar la mejorar la calidad de su documentación. El
día de entrega en esta fase culmina con la entrega total del proyecto.

20

2.2. SPHERO

Sphero es una esfera robótica diseñado por Orbotix. Es una esfera de color blanca con
una envoltura de policarbonato de plástico capas de girar alrededor del ambiente,
cambiar color, correr programas y ser controlado desde un Smartphone o tablet.
[es.gizmodo.com/sphero, 2015]

Figura 2. 6 Sphero (Sphero.com , 2015)

Entre las características del sphero podemos tener:

ü Giros.- Sphero puede girar a diferentes direcciones y ángulos a una determinada


velocidad.
ü Colores.- Sphero tiene un juego de luces capaz de cambiar a cualquier color
usando RGB
ü Bluetooth.- Sphero es capaz de conectarse a dispositivos móviles como iPads,
iPhones y dispositivos Android a través de bluetooth
ü Lenguajes de Robot.- Sphero soporta 3 tipos de lenguajes de programación para
robot (Macros, OrbBasic, Oval)

21

2.2.1. CALIBRACIÓN DEL SPHERO

Una de las cosas que hace al Sphero único es que su punto de referencia al usuario el
cual es relativo al mismo y no relativo al robot. Esto hace mucho mas fácil el
movimiento del Sphero en la dirección que uno quiere.

Figura 2. 7 Calibración del Sphero (sphero.com, 2015)

2.2.2. TECNOLOGÍA DEL ROBOT

Sphero soporta tres lenguajes de programación que pueden brindar algunas funciones
básicas autónomas. La manera mas fácil de aprender es usando Macros, seguido por
OrbBasic, y finalmente el ultimo y mas poderoso OVAL. Estos lenguajes brindan
funcionalidades autónomas como el cambiar rápidamente de color, modificar
velocidades.

22

2.2.2.1.CONTROL DE SISTEMA Y SENSORES

2.2.2.2.LUCES

Sphero tiene dos LEDs, un LED principal RGB y LED azul para la calibración del
sphero con el usuario y es accesible desde su SDK

Existen diferentes tipos de sensores disponibles mediante comandos desde su API/SDK.


Entre ellos podemos tener:

2.2.2.3.DETECCIÓN DE COLISIÓN

Cada Sphero contiene un complejo algoritmos de colisión. Desde que este algoritmo
necesita una gran calidad de IMU (Unidad de Medición Inercial) de datos correctamente
para detectar la colisión.

2.2.3. LENGUAJES DE PROGRAMACIÓN

2.2.3.1.MACRO

El sistema macro del sphero interpreta los comandos y realiza las acciones sobre el
mismo en secuencias lineales - más o menos una lista de "cosas por hacer". El sistema
macro del Sphero nunca fue pensado para ser capaz de evaluar las ecuaciones o tomar
decisiones, ya que esas funciones están mejor soportadas en orbBasic o Oval. Sin
embargo se espera que se llame desde orbBasic y ejecutar en paralelo como la
secuenciación de memoria. [Sphero.com/Macro, 2015]

a) Formato Macro

23

Una macro es una cadena lineal de bytes que se procesan de principio a fin. No existe el
concepto de saltar en una macro (aunque el Goto comandos y gosub se implementan
entre macros). Símbolos en mayúsculas como MAC_END reemplazan los códigos
numéricos subyacentes que utiliza el Ejecutivo.

Esta es la forma general de una macro, con los elementos explicados en los próximos
apartados.

Este1 byte es el identificador que se pasa a comandos externos, los comandos internos
como Goto y gosub se incluye en los mensajes de marcadores asíncronos enviados al
cliente. Las 256 posibilidades de identificación se desglosan de la siguiente manera:

ü 0 - Señales de que ningún macro se está ejecutando actualmente por lo que su


uso es ilegal.
ü Macros del sistema que se compilan en el App principal para el uso normal -
31/01. También puede llamar a estos externamente en determinadas
circunstancias - algunos pueden tener efectos secundarios inesperados!
ü Macros de usuario que se almacenan de forma persistente en Flash para su
reutilización durante una sola sesión de encendido - 32-253. La tabla de índice se
mantiene en la memoria RAM para que se pierden una vez esfero se va a dormir.
Estos son útiles para los juegos y aplicaciones que quieran llamar 1 de 15 macros
diferentes sobre la marcha sin tener que pagar la latencia de una descarga
temporal.

24

2.2.3.2.ORB-BASIC

OrbBasic, es otro recurso de gran alcance que sphero prevé para su comportamiento
autónomo y para la integración con las aplicaciones de teléfonos inteligentes. Se ejecuta
como otro hilo en el sistema principal de forma paralela a la conducción.
Con las tasas de ejecución de más de 3000 líneas / segundo y soporte para un programa
de ayuda (residente en memoria RAM) orbBasic añade una nueva dimensión a los
juegos y aplicaciones [Sphero.com/Orb-basic, 2015].

a) Formato de Programa
En última instancia un programa orbBasic es una secuencia de líneas de programa que
terminan con un

Cada línea comienza con un número de línea, algunos espacios en blanco, una
declaración y un programa de LF (10h) el carácter de terminación:

El intérprete se le da un número de línea que comienza cuando se invoca como


programas no tienen que empezar desde la primera línea en el programa. Una vez que la
declaración en una línea se ha completado, la ejecución continúa en la línea siguiente en
el flujo de programa que no puede ser en realidad la siguiente línea numérica en el
programa. Aunque este es un efecto secundario de un programa, es completamente legal.
Una buena práctica consiste en enviar por programas en los que los números de línea
están en orden ascendente.

25

Las declaraciones se tratan en detalle más adelante, pero es compatible actualmente sólo
una instrucción por línea. Una mejora futura al intérprete será añadir los dos puntos ":"
que separa varias instrucciones en una línea.

2.2.3.3.OVAL

Oval es un subconjunto del lenguaje de programación C con una serie de características


adicionales para apoyar la transmisión y comunicación asíncrona. Proporciona punto
flotante y firmados tipos enteros de 32 bits, pero no incluye punteros, estructuras, o
sindicatos. [Sphero.com/Oval, 2015]

Dado que los programas ovales están destinados a ser escuchados, en realidad nunca
"terminan". Cada fragmento de óvalo que se compila y se envía a la máquina virtual de
Oval (OVM) debe terminar con:

Con el fin de convertir en realidad fuera de la máquina virtual de Oval (OVM) utilizar la
sentencia

ü Tipos Compatibles

Con el fin de mantener el sistema de tipo simple, no hay tipos de puntero, estructuras, o
los sindicatos de Oval. El sistema de tipos es compatible actualmente con estos dos tipos
primitivos (ambos son de 32 bits). Las direcciones de las variables y funciones se
expresan como números enteros.

26

Oval también incluye las palabras clave booleanos como accesos directos a un número
entero.

ü Declaración y asignación de Variable

Una variable declarada fuera de cualquier función es global. Se puede acceder a partir de
la corriente o de cualquier función definida después.

Las variables pueden ser asignados a al igual que en C.

Los números con decimales se tratan como flotadores de 32 bits, los números sin son
tratados como signo de 32 bits enteros. En el último ejemplo, 7 es echado
automáticamente a un flotador.

ü Operadores aritméticos
Hay los operadores aritméticos habituales de C + - * / si representan el número entero o
flotan variedades depende de los tipos de los operandos. Si ambos argumentos son
números enteros se realiza la operación de entero. Si al menos uno de los argumentos es

27

un float se echan a flotar y se realiza la operación de punto flotante. Oval también


ofrece punto flotante exponenciación como el operador ^ que se asigna a la función
C powf() Oval apoya directamente la trigonometría y logaritmos en forma de funciones.

Estas funciones toman como parámetros de carrozas y carros alegóricos de retorno

Los paréntesis funcionan como en C y no hay límite en la complejidad de expresión.

2.2.4. COMPATIBILIDAD Y AUTONOMÍA

Sphero mantiene su cómodo sistema de carga por inducción, y en este análisis hemos
podido comprobar que el proceso de carga dura tres horas, con una autonomía de una
hora, que puede parecer escasa.
Aunque teniendo en cuenta la gran cantidad de dispositivos internos que tiene que
alimentar para su funcionamiento (acelerómetro, giroscopio y brújula digital, además de
la conexión Bluetooth), es casi un milagro. [Computerhoy.com, 2014]

2.3.ENSEÑANZA Y APRENDIZAJE

La enseñanza no puede entenderse más que en relación al aprendizaje; y esta realidad


relaciona no sólo a los procesos vinculados a enseñar, sino también a aquellos
vinculados a aprender.
El aprendizaje surgido de la conjunción, del intercambio... de la actuación de profesor y
alumno en un contexto determinado y con unos medios y estrategias concretas
constituye el inicio de la investigación a realizar. “La reconsideración constante de

28

cuáles son los procesos y estrategias a través de los cuales los estudiantes llegan al
aprendizaje”. [Zabalza, 2001].

2.3.1. MÉTODOS DE ENSEÑANZA

2.3.1.1.MÉTODOS EN CUANTO A LA FORMA DE RAZONAMIENTO

a) MÉTODO DEDUCTIVO

Cuando el asunto estudiado procede de lo general a lo particular. El profesor presenta


conceptos, principios o definiciones o afirmaciones de las que se van extrayendo
conclusiones y consecuencias, o se examinan casos particulares sobre la base de las
afirmaciones generales presentadas. Si se parte de un principio, por ejemplo el de
Arquímedes, en primer lugar se enuncia el principio y posteriormente se enumeran o
exponen ejemplos de flotación.

Los métodos deductivos son los que tradicionalmente más se utilizan en la enseñanza.
Sin embargo, no se debe olvidar que para el aprendizaje de estrategias cognoscitivas,
creación o síntesis conceptual, son los menos adecuados. Recordemos que en el
aprendizaje propuesto desde el comienzo de este texto, se aboga por métodos
experimentales y participativos. [Nerizi, 2004]

b) MÉTODO INDUCTIVO

Cuando el asunto estudiado se presenta por medio de casos particulares, sugiriéndose


que se descubra el principio general que los rige. Es el método, activo por excelencia,
que ha dado lugar a la mayoría de descubrimientos científicos. Se basa en la experiencia,
en la participación, en los hechos y posibilita en gran medida la generalización y un
razonamiento globalizado.

29

El método inductivo es el ideal para lograr principios, y a partir de ellos utilizar el


método deductivo. Normalmente en las aulas se hace al revés. Si seguimos con el
ejemplo iniciado más arriba del principio de Arquímedes, en este caso, de los ejemplos
pasamos a la ‘inducción’ del principio, es decir, de lo particular a lo general. De hecho,
fue la forma de razonar de Arquímedes cuando descubrió su principio.

c) MÉTODO ANALÓGICO Y COMPARATIVO

Cuando los datos particulares que se presentan permiten establecer comparaciones que
llevan a una solución por semejanza hemos procedido por analogía. El pensamiento va
de lo particular a lo particular. Es fundamentalmente la forma de razonar de los más
pequeños, sin olvidar su importancia en todas las edades.

El método científico necesita siempre de la analogía para razonar. De hecho, así llegó
Arquímedes, por comparación, a la inducción de su famoso principio. Los adultos,
fundamentalmente utilizamos el método analógico de razonamiento, ya que es único con
el que nacemos, el que más tiempo perdura y la base de otras maneras de razonar.

2.3.1.2.MÉTODOS EN CUANTO A ORGANIZACIÓN DE LA MATERIA

a) MÉTODO BASADO EN LA LÓGICA DE LA TRADICIÓN

Cuando los datos o los hechos se presentan en orden de antecedente y consecuente,


obedeciendo a una estructuración de hechos que va desde lo menos a lo más complejo o
desde el origen hasta la actualidad o siguiendo simplemente la costumbre de la ciencia o
asignatura. Estructura los elementos según la forma de razonar del adulto.Es normal que
así se estructuren los libros de texto. El profesor es el responsable, en caso necesario, de
cambiar la estructura tradicional con el fin de adaptarse a la lógica del aprendizaje de los
alumnos.

30

b) MÉTODO BASADO EN LA PSICOLOGÍA DEL ALUMNO

Cuando el orden seguido responde más bien a los intereses y experiencias del alumno.
Se ciñe a la motivación del momento y va de lo conocido por el alumno a lo
desconocido por él. Es el método que propician los movimientos de renovación, que
intentan más la intuición que la memorización.

Muchos profesores tienen reparo, a veces como mecanismo de defensa, de cambiar el


‘orden lógico’, el de siempre, por vías organizativas diferentes. Bruner le da mucha
importancia a la forma y el orden de presentar los contenidos al alumno, como elemento
didáctico relativo en relación con la motivación y por lo tanto con el aprendizaje.
[Nerizi, 2004]

2.3.1.3.MÉTODOS EN CUANTO A SU RELACIÓN CON LA REALIDAD

a) MÉTODO SIMBÓLICO O VERBALÍSTICO

Cuando el lenguaje oral o escrito es casi el único medio de realización de la clase. Para
la mayor parte de los profesores es el método más usado. Dale, lo critica cuando se usa
como único método, ya que desatiende los intereses del alumno, dificulta la motivación
y olvida otras formas diferentes de presentación de los contenidos.

b) MÉTODO INTUITIVO

Cuando se intenta acercar a la realidad inmediata del alumno lo más posible. Parte de
actividades experimentales, o de sustitutos. El principio de intuición es su fundamento y

31

no rechaza ninguna forma o actividad en la que predomine la actividad y experiencia


real de los alumnos.

2.3.1.4.MÉTODOS EN CUANTO A LAS ACTIVIDADES EXTERNAS

a) MÉTODO PASIVO

Cuando se acentúa la actividad del profesor permaneciendo los alumnos en forma


pasiva. Exposiciones, preguntas, dictados...

b) MÉTODO ACTIVO

Cuando se cuenta con la participación del alumno y el mismo método y sus actividades
son las que logran la motivación del alumno. Todas las técnicas de enseñanza pueden
convertirse en activas mientras el profesor se convierte en el orientador del aprendizaje.

2.3.1.5.MÉTODOS EN CUANTO A SISTEMATIZACIÓN DE


CONOCIMIENTOS

a) MÉTODO GLOBALIZADO

Cuando a partir de un centro de interés, las clases se desarrollan abarcando un grupo de


áreas, asignaturas o temas de acuerdo con las necesidades. Lo importante no son las
asignaturas sino el tema que se trata. Cuando son varios los profesores que rotan o
apoyan en su especialidad se denomina Interdisciplinar.

En su momento, en este mismo texto, se explica minuciosamente la estrategia trasversal


y las posibilidades de uso en las aulas.

32

b) MÉTODO ESPECIALIZADO

Cuando las áreas, temas o asignaturas se tratan independientemente.

2.3.2. MÉTODOS DE APRENDIZAJE

No todos los estudiantes aprenden de la misma manera. A unos el estímulo visual les
llega antes, a otros el auditivo, el táctil o el cinestético. Si descubres qué tipo de
aprendizaje sigues, podrás conseguir que tu rendimiento académico sea mayor y mejor.

2.3.2.1.APRENDIZAJE AUDITIVO

A los oyentes auditivos se les estimula por medio de la plática, pero ciertas palabras
funcionan mejor que otras. El mejor método que se puede usar es probablemente por
medio de los cuentos.

A este tipo de oyente le agradan las parábolas y las anécdotas, y es muy factible que las
almacene directamente en la memoria. Además, en estos casos se pueden utilizar grupos
de discusión, debates, preguntas y respuestas, y cosas parecidas o cualquier otra cosa
que logre que las personas empiecen a platicar y que sientan una afinidad con la historia,
mucho más que si estuvieran escuchando las pláticas normales empresariales que
tienden a divagar su atención.

Si te es mucho más fácil aprender a través de lo que te llega por el oído, todo lo que
recibes en tus clases o lo que te expliquen los demás te será de gran utilidad. Puedes
aprovechar esta facilidad acudiendo a conferencias o charlas, viendo vídeos
documentales sobre temas que te interesen... verás cómo aprendes mucho más que si te
limitas a tus libros y apuntes.

Para aprender las tablas de multiplicar, resulta mejor utilizar el método auditivo.
Escuche las voces grabadas, y luego, reconstitúyalas mentalmente.

33

Puede darse cuenta de que uno accede más fácilmente a representaciones auditivas
cuando uno mira horizontalmente en referencia al eje de su cabeza.
El método auditivo funciona también para aprender la ortografía a condición de
memorizar la palabra bajo la forma deletreada y no bajo la forma habitual. Para la
ortografía, resulta mucho menos natural que el método visual. [Titone, 2003]

2.3.2.2.APRENDIZAJE VISUAL

Como la mayoría de los ponentes, su colega piensa que ella ha logrado agradar al oyente
visual por medio de los acetatos, sin tomar en cuenta que la mayoría de los acetatos de
las presentaciones empresariales están llenos de palabras y que lo que los oyentes
visuales necesitan son imágenes. Lo que es más, aprenden mejor a través de imágenes
sencillas. Por lo tanto, le aconsejo que conecte los principales conceptos de forma visual
utilizando triángulos, círculos, cuadros o algo parecido. No haga nada complicado;
sencillamente no es necesario y no ayuda en nada al aprendizaje. Además de imágenes
se pueden utilizar ilustraciones gráficas, tablas, diagramas y videos para variarle, pero
recuerde que cuanto más sencillo, mejor.

Si usted transmite un mensaje claro y fuerte, la audiencia responderá con claridad y


fuerza. Si usted está confundido, la audiencia también responderá con confusión.
EL aprendizaje visual, maneras gráficas de trabajar con ideas y presentar información,
enseñan a los estudiantes a ampliar sus pensamientos y a procesar, organizar y dar
prioridad a la nueva información. Los diagramas visuales revelan patrones,
interrelaciones e interdependencias. También estimulan el pensamiento creativo.

Técnicas del aprendizaje visualLa creación de redes, los mapas de ideas y los mapas
conceptuales son los tres métodos más populares del aprendizaje visual. Para los
estudiantes que se expresan a sí mismos de manera visual y para aquellos que aprenden
con más efectividad a través del uso de técnicas visuales, auditivas y otros multimedios,
el aprendizaje visual inspira niveles más altos de logros.

34

Las técnicas de aprendizaje visual ayudan a los estudiantes a:

Aclarar pensamientos. Los estudiantes ven cómo las ideas están conectadas y se dan
cuenta de qué manera se puede agrupar u organizar la información. Con el aprendizaje
visual, los conceptos nuevos se comprenden fácil y completamente. Reforzar la
comprensión. Los estudiantes recrean, en sus propias palabras, lo que han aprendido.
Esto les ayuda a absorber e internalizar la nueva información, otorgándoles propiedad de
sus ideas. Integrar nuevos conocimientos. Diagramas actualizados completamente través
de una lección, inician a los estudiantes a crear sobre conocimientos anteriores e
interiorizar la nueva información. Al revisar los diagramas creados anteriormente, los
estudiantes ven cómo los hechos y las ideas se acoplan. Identificar conceptos
equivocados. Como un mapa conceptual o de redes muestra lo que saben estudiantes, los
enlaces mal dirigidos o las conexiones incorrectas muestran lo que no comprenden.

Se da en las personas que tienen mucha más facilidad para aprender a través de lo que
ven sus ojos. Si no te basta con las explicaciones del profesor para entender la lección y
necesitas examinar la materia con tus propios ojos, es decir, precisas de dibujos o
esquemas para retener la información, significa que tienes la llamada "memoria
fotográfica" y que tu aprendizaje es visual. [Titone, 2003].

2.3.2.3.APRENDIZAJE TÁCTIL

Si tienes este tipo de aprendizaje no te sirven de mucho las explicaciones teóricas y


necesitas que te enseñen mediante la práctica de la teoría dada. Entenderás mejor en qué
consiste una suma y una resta si te ayudan con objetos: lápices, cajas.... En química
preferirás poner en práctica las fórmulas que te explican.

35

La progresión en la secuencia del aprendizaje es semejante en todos los sentidos. En los


niños disminuidos visuales, sin embargo, puede ser necesaria mayor atención a niveles
específicos

a) CONOCIMIENTO Y ATENCIÓN

El desarrollo táctil-kinestésico comienza con el conocimiento y atención, para


diferenciar textura, temperatura y superficies vibratorias y materiales de variadas
consistencias. Así los niños comienzan a conocer que algunos objetos son duros, otros
blandos, unos ásperos y otros suaves, diferentes temperaturas, diferentes consistencias,
distintas formas de actuar de las diferentes sustancias, unos objetos vibran y otros no, ...
el niño ciego aprende que él recibe información de los objetos y al mismo tiempo es
capaz de alterar y adaptar algunos objetos por el uso táctil-kinestésico mientras que no
es posible modificar otros de la misma forma.

b) ESTRUCTURA Y FORMA

Este nivel se relaciona con el "conocimiento de las estructuras básicas" de los objetos
encontrados. Al mover sus manos a través de objetos, tomarlos y sostenerlos de
diferentes formas, objetos de diferentes tamaños, etc. los niños adquieren conocimientos
acerca de los contornos y de la variedad de tamaño y peso. La interacción para la
máxima información de esta etapa se logra a través de aspectos conocidos que son partes
de la vida diaria del niño, tales como pastilla de jabón, tazas, platos, zapatos y medias.
Cuando estos niños empiezan a discriminar entre los objetos es el momento de introducir
el lenguaje que enseñe el reconocimiento de los objetos específicos.

Al colocar las manos alrededor de un objeto, esto da una parte de información gruesa del
mismo, pero moviendo sus manos y trazando la forma del objeto, le da una información
específica y sucesiva acerca del mismo, que facilita su reconocimiento por el nombre.

36

c) RELACIÓN DE LAS PARTES AL TODO

Cuando los niños ya son capaces de reconocer objetos de su vida diaria por el nombre ya
están preparados para aprender las relaciones de las partes con el todo a través de objetos
que pueden ser separados en partes y armados nuevamente.

En esta etapa es importante que los objetos sean de tres dimensiones, tales como autos
de juguetes que pueden desarmarse y armarse, bloques que se encajan y objetos diarios
que tienen partes para armar: cacerolas, llaves y cerraduras, destornilladores y tornillos,
etc.

Otro aprendizaje es agrupar objetos por textura mediante la presentación de ropa,


botones parecidos, etc. También un aprendizaje adicional debiera enfocarse en el uso de
las manos y en la inspección manual, a través del manipuleo los niños invidentes
comienzan a formar conceptos de las relaciones de las partes con el todo.

Práctica en hacer discriminaciones cada vez más finas y mantener la habilidad para
reconocer los objetos y las partes de los mismos preparan al niño ciego para un más
completo aprendizaje táctil-kinestésico relacionado con su trabajo académico.
Las impresiones táctiles permiten al niño hacer acomodaciones a los nuevos elementos
que tiene en sus manos y asimilar rápidamente éstas en relación a la información táctil
que ya tiene.

d) REPRESENTACIONES GRAFICAS

Se trata de presentar objetos en dos dimensiones. Tales representaciones pueden ser


hechas de hilo, alambre, con una ruedecita marcadora o con un punzón, en papel de

37

aluminio plástico, o papel común. La perspectiva espacial en una representación gráfica


a menudo no representa la perspectiva real concebida con las manos.

Seleccionar esquemas estructurales simples tales como formas geométricas que pueden
ser tocadas y representadas en distintas dimensiones, permite al niño gradualmente
obtener sucesivas impresiones táctiles y a medida que sus dedos y músculos se mueven
siguiendo distintos modelos, puede aprender a asociar el real objeto y el que está
representado.

Representaciones gráficas, tales como líneas en relieve, curvas, formas simétricas


simples, deben ser introducidas lentamente. Es importante proveer solamente una
información por vez, y agregar nuevos elementos en sucesivas interpretaciones gráficas.
Dar una representación gráfica completa sería confuso y crearía lo que se llama "ruido
táctil" (en el sentido de confusión).

También es bueno darle al niño una ruedecita marcadora o cualquier herramienta para
hacer sus propios dibujos gráficos.
Comprender que puede hacer dibujos que él puede "ver" con sus propias manos, es
emocionante y motivo para examinar cualquier cosa que se presente en forma táctil en
los papeles y en los libros.

e) SÍMBOLOS BRAILLE

Es el nivel más alto de desarrollo táctil-kinestésico, se trata de la discriminación y


reconocimiento de símbolos para que se puedan leer y escribir.

El niño ciego total no sólo debe reconocer los símbolos táctilmente, sino también debe
interpretar su significado en relación a otros signos Braille y al contexto del material que
está leyendo. Esto provoca una gran carga en la memoria táctil-kinestésica y requiere

38

por parte del niño tomar una inmediata decisión en relación al reconocimiento, memoria,
asociación e interpretación.
El proceso de lectura táctil es más complejo que el de lectura visual, por los numerosos
caracteres Braille, "63 combinaciones de puntos en un cajetín" y por las contracciones
usadas en grado dos.

Varios símbolos Braille tienen muchos usos y su interpretación depende de la relación


con los otros símbolos, sus posiciones en el cajetín y la posición inicial, media y final en
la palabra o en la oración. La misma letra o palabra puede tener diferentes significados
según el lugar donde se encuentre dentro de una oración, de aquí que haya que tomar
decisiones al leer Braille y esto requiere un alto nivel de habilidad en las funciones
cognitivas.

Los símbolos Braille deben ser introducidos gradualmente; al principio sólo aquellos
representados por una sola letra; más tarde palabras completas; y, en tercer lugar, se
introducirán grupos más complejos. [Titone, 2003]

2.3.2.4.APRENDIZAJE CINESTÉTICO

Si explicas las cosas gesticulando mucho y moviéndote de aquí para allá como si
representaras una obra de teatro, tu aprendizaje es cinestético y tienes mucha facilidad
para el lenguaje corporal. Tu retentiva podrá ayudarse visitando museos, yendo al teatro.

Para comprobar este aprendizaje analice un momento estar en la computadora o en el


teclado ponga los dedos de su mano izquierda en las teclas QSDF y los de su mano
derecha en las teclas JKLM. Utilice el relieve de las teclas F y J como punto de
referencia. Luego, sírvase del dedo más cercano para cada tecla. El pulgar sólo sirve
para la tecla de espacio.

39

Capture de esta manera la palabra "Cinestésico" en el cuadro de abajo. Aprenda primero


los movimientos de los dedos mirando el teclado, luego hágalo de nuevo sin mirarlo.

Note que uno accede más fácilmente a representaciones cinestéticas mirando hacia
abajo.

Los estudios muestran que del 30% al 40% de las personas aprenden por el medio
visual, del 20% al 30% por el medio auditivo y del 30% al 50% por el cinestético, lo
cual quiere decir que aprenden mejor mediante la actividad física.

Es justamente este último grupo al que por lo general no se le toma en cuenta durante las
presentaciones empresariales. Una gran parte del mundo empresarial se dirige a la
mente, no al cuerpo, las presentaciones no son la excepción a esta regla tan
desconsoladora. La clave en este caso es lograr que sus oyentes realicen algo, que
practiquen lo que usted está enseñando. Anímelos a que desde el principio y de forma
continua se involucren, ya sea por medio del desempeño de un rol, por juegos,
trabajando con modelos y tal vez a través de gráficas o de representaciones físicas de lo
que usted quiere que aprendan y que usted mismo haya creado para ese fin.
Por ejemplo, usted puede incrementar muchísimo la energía de sus oyentes al inicio de
una presentación si sencillamente les pide que se paren y que griten algo apropiado o
divertido. Tal vez suene cursi, pero funciona. Esto se debe a que usted se ha enfocado a
las personas cinestéticas que se encuentran en su público. [Titone, 2003]

2.4.PROGRAMACIÓN

Programar es definir instrucciones para ser ejecutadas por un ordenador. El resultado de


esta tarea es un paquete de instrucciones al que llamamos programa. El objetivo de
programar suele ser resolver un problema.

40

Vayamos por partes. Para definir instrucciones a un ordenador hemos de utilizar un


lenguaje o código específico, que ha sido prediseñado con el fin de que la interpretación
de cada instrucción sea unívoca. No hay libertad de interpretación o subjetivismo. Si el
lenguaje que utilicemos acepta la sintaxis: Mostrar 3+3, utilizar, Muéstrame 3+3, sería
una orden nula o carente de significado para el ordenador, por lo que probablemente nos
invitará a corregirla o simplemente nos dirá "Error".

Los lenguajes de programación, salvando las distancias, tienen similitudes con las
lenguas humanas: evolucionan (p. ej. aumentan o disminuyen el número de vocablos), se
expanden internacionalmente y triunfan si gran número de personas se decide a
utilizarlos, o caen en desuso y se convierten en lenguas fósiles. Igualmente pueden ser
más o menos fáciles de aprender, más o menos ricos en vocablos, y más o menos fuertes
para resistir el embate de las necesidades de los programadores. Hablaremos de ello en
otros artículos. [Fundamentos de Programación, Hidalgo, 2013]

2.4.1. PSEUDOLENGUAJE DE PROGRAMACIÓN

El pseudocódigo es un lenguaje de especificación de algoritmos. Se utiliza como un


primer borrador del programa en la fase de diseño, para "perfilar" el código fuente,
centrándose en la lógica y los puntos de control de éste sin tener que ceñirse a las
restricciones sintácticas de un lenguaje de programación. Como ya supondréis, el
pseudocódigo no puede ser ejecutado por un computador.

Los lenguajes de alto nivel tienen sentencias de control que se asemejan al lenguaje
hablado: "si pasa esto hago tal, si no, hago otra cosa", "mientras pase esto hago
aquello"... El pseudocódigo no es más que una pequeña "estandarización" del lenguaje
hablado, que luego podrá traducirse a un lenguaje de programación. Por ejemplo, si yo
digo: "si vienes más tarde de las 5 me voy", podría escribir un pseudocódigo:

41

Si tu_hora_de_llegada > 5 entonces me_voy

Siguiendo con la filosofía del pseudocódigo, no vamos a seguir unas normas estrictas,
pero sí unas mínimas normas básicas para homogeneizar y hacer comprensible el
pseudocódigo que desarrollemos.

2.4.1.1.VARIABLES

Las variables contienen datos e información que cambia constantemente o sea son
“Variables” como su nombre o indica, todo dato contenido en una variable, será
modificado durante todo el proceso de un programa. Todo proceso, tiene un inicio y un
fin, las variables por lo general se mantienen dentro del desarrollo del proceso y solo
funcionan en el, aunque existen mas tipos de variables, Publicas, locales, privadas, etc.
Sin embargo no profundizaremos mucho en esto aun, ya que solo veremos lo básico de
Pseudolenguaje. [Fundamentos de Programación, Hidalgo, 2013]

2.4.1.2.CONSTANTES

Las constantes, contienen datos e información que ha diferencia de las variables, estos
valores nunca cambiaran durante la ejecución del proceso u programa mismo, un
ejemplo de constante podría ser PI ( ) cuyo valor siempre será “3,14”. [Fundamentos
de Programación, Hidalgo, 2013]

2.4.1.3.DECLARACIÓN DE CONSTANTES Y VARIABLES

Al utilizar el termino «declarar», «inicializar» o «asignar», nos estamos refiriendo con


asignarle un valor a una palabra en particular, la cual utilizaremos como variable o
constante según la necesidad que tengamos. No existe diferencia en la declaración de
una variable o constante en Pseudolenguaje o Pseudocódigo, sin embargo en otros

42

lenguajes de programación se tratan de diferente forma. [Fundamentos de Programación,


Hidalgo, 2013]

Por Ejemplo:

Figura 2. 8 Pseudocódigo (Apoyoti.com, 2015)

2.4.1.4.ESTRUCTURAS SECUENCIALES

Las instrucciones se siguen en una secuencia fija que normalmente viene dada por el
número de renglón. Es decir que las instrucciones se ejecutan de arriba hacia abajo.

ü CambiarColor (“ROJO”)

ü CambiarColor (“VERDE”)

ü Avanzar(“ADELANTE”)

ü Girar(“IZQUIERDA”)

2.4.1.5.ESTRUCTURAS SELECTIVAS

Las instrucciones selectivas representan instrucciones que pueden o no ejecutarse, según


el cumplimiento de una condición.

43

SiSpheroColosiona Entonces
CambiarColor(“VERDE”)
Girar(“IZQUIERDA”)
Avanzar(“ADELANTE”)
Fin

2.4.1.6.ESTRUCTURA ITERATIVAS
Las instrucciones iterativas representan la ejecución de instrucciones en más de una vez.

Mientras SpheroColosiona Hacer


CambiarColor(“VERDE”)
Girar(“IZQUIERDA”)
Avanzar(“ADELANTE”)

Fin

2.5.APLICACIÓN MÓVIL

Una aplicación móvil es un programa que usted puede descargar y al que puede acceder
directamente desde su teléfono o desde algún otro aparato móvil.

Las aplicaciones también llamadas apps están presentes en los teléfonos desde hace
tiempo; de hecho, ya estaban incluidas en los sistemas operativos de Nokia o Blackberry
años atrás. Los móviles de esa época, contaban con pantallas reducidas y muchas veces
no táctiles, y son los que ahora llamamos feature phones, en contraposición a
los smartphones, más actuales.

En esencia, una aplicación no deja de ser un software. Para entender un poco mejor el
concepto, podemos decir que las aplicaciones son para los móviles lo que los programas
son para los ordenadores de escritorio.

44

Actualmente encontramos aplicaciones de todo tipo, forma y color, pero en los primeros
teléfonos, estaban enfocadas en mejorar la productividad personal: se trataba de alarmas,
calendarios, calculadoras y clientes de correo.

Hubo un cambio grande con el ingreso de iPhone al mercado, ya que con él se generaron
nuevos modelos de negocio que hicieron de las aplicaciones algo rentable, tanto para
desarrolladores como para los mercados de aplicaciones, como App Store, Google Play
y Windows Phone Store.

Al mismo tiempo, también mejoraron las herramientas de las que disponían diseñadores
y programadores para desarrollar apps, facilitando la tarea de producir una aplicación y
lanzarla al mercado, incluso por cuenta propia. [appdesignbook.con, 2013]

2.5.1. APLICACIÓN NATIVA

Las apps nativas se desarrollan exclusivamente para un sistema operativo móvil, como
puede ser Android, iOS o BlackBerry. Se pueden crear aplicaciones en varios sistemas,
por supuesto, pero son proyectos creados por separado, con los consiguientes costes
añadidos.

Las aplicaciones nativas pueden acceder a todas las funcionalidades nativas del
dispositivo, aumentando sus posibilidades y rendimiento. Por ejemplo en rendimiento
gráfico o acceso a funcionalidades GPS, datos, cámara, etc. [Hafo, 2014]

ü Tener acceso a todo el hardware del móvil como puede ser el GPS, la cámara y

demás accesorios.

ü Acceso a todas las librerías gráficas del SO (botones, etc).

45

ü Envío de notificaciones push, una de las herramientas de comunicación más

potentes de las Apps.

ü Modular todas las ventajas que ofrece estar las diferentes stores de aplicaciones

como puede ser integrar contenidos de pago para modelos de negocio Freemium

mediante In-App Purchasing.

ü Sincronizar o cachear datos para funcionar sin conexión a internet.

Las desventajas son fundamentalmente del tipo económico ya que, como decíamos
antes, para hacer apps nativas debemos conocer los diferentes lenguajes de
programación de cada Sistema Operativo. No será posible reutilizar el código de un SO
en otro y no solo eso, debes tener en cuenta que las Apps necesitan actualizaciones a
nuevas versiones del SO, mantenimiento y/o aumento y mejoras de las
funcionalidades… y todas estas cosas deberás hacerlas directamente en el código nativo
de cada plataforma.

Por lo tanto, realizar tu proyecto en nativo te obligará a contar con una plantilla de
técnicos con alta preparación y experiencia en lenguajes mucho menos utilizados entre
los desarrolladores (comparado por ejemplo con lenguajes web). Los programadores
expertos en estos lenguajes están muy solicitados y a mayor nivel y experiencia,
mayores serán sus expectativas económicas. Factores sin duda determinantes en el
precio final de todo desarrollo. [Appio 2013]

2.5.2. APLICACIÓN HIBRIDA (MULTIPLATAFORMA)

Dentro del amplio mundo de las empresas de desarrollo de aplicaciones móviles hay una
tendencia que está en boca de todos últimamente. Se trata del concepto ‘aplicaciones

46

hibridas‘. En este artículo trataremos de ofrecer algo de luz a las personas, instituciones
y empresas interesadas en desarrollar aplicaciones móviles.

Mantienen el carácter multiplataforma en gran parte, siguen usando tecnologías Web,


aunque corren localmente en el dispositivo, pudiendo ejecutarse también sin conexión a
Internet. Al estar embebidas en un navegador de una aplicación nativa tienen el mismo
tipo de acceso a las APIs nativas de cada sistema operativo así como a los recursos
propios del sistema tipo procesador, GPS, cámara, etc.
Además mantiene el modo de distribución de las apps nativas ya que pueden ofrecerse a
los App Stores de las diferentes marcas. [Hafo, 2014]

Generalmente consisten en Apps que contiene en su interior el navegador web del


dispositivo. Para su desarrollo se utilizan frameworks de desarrollo basados en lenguajes
de programación web (HTML, CSS y JS). Actualmente Phonegap es el más conocido
(aunque no el único) y el que concentra mayor número de desarrolladores a su alrededor.
En este tipo de Apps el nivel de integración con el SO dependerá del framework de
desarrollo utilizado y como de abierto sea el SO (BlackBerry 10 es todo un ejemplo),
teniendo cada uno de ellos sus ventajas e inconvenientes. Actualmente con esta opción
tendrás bastante acceso al hardware del teléfono e incluso en algunos casos a las
librerías del SO, pero lo cierto es que aunque de momento no se ha conseguido igualar la
respuesta y la experiencia de usuario de una App nativa, hay que reconocer que va
camino de hacerlo.

De todas maneras, la cosa ha ido evolucionando a desarrollos más complejos en los que
ciertas funcionalidades se ejecutan como una web y otras en nativo, como por ejemplo
Instagram que utiliza nativo para hacer y publicar la fotografía, pero web para desplegar
las fotografías y perfil.

47

Su uso es una opción muy económica y muy interesante para llegar al mayor número de
usuarios repartidos en las diferentes plataformas y dispositivos aunque por el momento
sus limitaciones son claras. [Appio, 2013]

Ventajas de una Aplicación Multiplataforma

ü Aplicaciones multiplataforma en iOS y Android

ü Instalación nativa pero distribuida con JavaScript, HTML y CSS

ü Mismo código base para múltiples plataformas

ü Acceso al hardware de la aplicación

48

CAPITULO III

3. MARCO APLICATIVO

En el capitulo anterior nos sirvió para exponer todo el marco teórico que ahora
tomaremos como base para el desarrollo de la aplicación móvil para la enseñanza de
programación en niños usando un Sphero para así poder alcanzar los objetivos del
primer capitulo. Como se trata de una aplicación móvil surge la necesidad de aplicar una
metodología ágil de desarrollo de iteraciones cortas para el desarrollo de nuestro
aplicación, para tal caso se eligió la metodología Mobile-D, el cual tiene las siguientes
fases de desarrollo.

ü Fase de exploración

ü Fase de Inicialización

ü Fase de Producto.

ü Fase de Estabilización.

ü Fase de Pruebas.

3.1.FASE DE EXPLORACIÓN

Esta fase fue muy importante ya que se hizo la primera planificación para el desarrollo
de nuestra aplicación, como la investigación y búsqueda de diferentes librerías de
desarrollo, plataformas móviles, una vista general del SDK que el Sphero nos brinda y
una primera base para la implementación de nuestro pseudolenguaje.

ü Revisión y análisis del SDK del Sphero

49

ü Pruebas y revisión del framework Phonegap para la implementación de una

aplicación multiplataforma para iOS y Android

ü Prueba y primera manipulación del Sphero usando un dispositivo móvil (En este

caso un iPhone 5S)

El ambiente físico y técnico utilizado para el desarrollo de la aplicación móvil fue la


siguiente:

3.1.1. AMBIENTE FÍSICO

ü Una esfera robótica llamada Sphero

ü iPhone 5S para la conexión con el sphero

ü Una Macbook Pro Retina display de 15 pulgadas, 8GM RAM, 2.5Ghz i7 de

procesador

3.1.2. AMBIENTE TÉCNICO

ü SDK utilizado para el control del Sphero desde el iPhone 5S.

ü Xcode 7.1.1 para la creación de un proyecto iOS.

ü Instalación del framework Phonegap para soportar múltiples plataformas

móviles.

ü Instalación del framework AngularJS para la codificación de la aplicación en

JavaScript.

ü Implementación de librerías graficas para la animación de nuestro

pseudolenguaje de programación.

50

3.2.FASE DE INICIALIZACIÓN

Esta fase de desarrollo es muy importante porque se define la arquitectura del proyecto,
pantallas iniciales y alcances y objetivos de la aplicación móvil.

3.2.1. CONFIGURACIÓN INICIAL DEL PROYECTO

Los objetivos principales de la aplicación en cuanto a desarrollo son los siguientes:

ü Conexión con el sphero vía bluetooth.

ü Implementar un pseudolenguaje de programación para el control del Sphero.

ü Creación de problemas de diferente dificultad para ser resueltos utilizando el

pseudolenguaje de programación.

ü Creación inicial del proyecto en xcode usando como lenguaje Swift.

ü Creación inicial del proyecto en Intellij Idea 13 para Android con lenguaje Java.

ü Instalación del SDK del sphero dentro el proyecto xcode.

ü Implementación de clases tanto en java como Swift para la manipulación del

sphero en cuanto a movimiento, procesos y sensores.

ü Implementación de un proyecto Phonegap para poder soportar ambas

plataformas (Android, iOS)

51

3.2.2. PLANIFICACIÓN INICIAL

Esta fase nos sirve para poder mostrar la arquitectura y las pantallas iniciales de nuestra
aplicación.

Usamos el framework Phonegap para el desarrollo de nuestra aplicación, ya que este nos
permite un manejo mas fácil de múltiples plataformas móviles.

Figura 3. 1 Estructura Phonegap (Elaboración propia)

Las pantallas iniciales de nuestra aplicación son:

52

Figura 3. 2 Flujo Inicial (Elaboración Propia)

En la figura 3.2 podemos observar 2 pantallas las cuales serán las primeras pantallas de
la aplicación:

ü La primera pantalla es la forma en la cual los problemas serán presentados al


niño, estos serán en forma de chat y cuando el niño presione el botón
INTÉNTALO! lo llevara a la 2da pantalla.
ü Se realizará la simulación de que el Sphero es capaz de comunicarse con el niño
mediante la aplicación y le ira dando diferentes retos que el niño debe resolver
jugando y usando el pseudolenguaje de programación.
ü En la segunda pantalla se observa ya la manipulación del pseudolenguaje, en este
caso es un pseudolenguaje básico de solo cambiar el color del sphero, el niño
presionando el circulo rojo podrá cambiar el color del sphero y presionando el
botón EJECUTAR el sphero cambiara de color.

53

Figura 3. 3 Pantalla de comandos para el Sphero (Elaboración propia)

En la figura 3.3 se observa la pantalla la cual tendrá todos los comandos disponibles para
manipular al sphero.

Los niños tendrán la oportunidad de aprender comando a comando y así de esa manera
poder tener problemas mas complejos

3.2.3. DÍAS DE PRUEBA

En esta etapa de pruebas se encontraron algunos errores de implementación en cuanto a


la manipulación del SDK de iOS que son documentados a continuación:

54

ü Error de conexión de bluetooth con los dispositivos iOS (Resuelto)

ü Error de compilación con el proyecto Phonegap (Resuelto)

3.3.FASE DE PRODUCTO

En esta fase se completo todas los objetivos planteados en la fase de inicialización, para
tal propósito el desarrollo de la aplicación se dividió en 2 iteraciones cada una de 2
semanas.

A continuación se detalla cada iteración de desarrollo

3.3.1. ITERACIÓN 1

3.3.1.1.DÍA DE PLANIFICACIÓN

El objetivo de la iteración 1 fue poder tener la aplicación lista con la conexión al sphero
vía bluetooth y sobre todo el pseudolenguaje terminado para la manipulación del sphero.

Los objetivos de la iteración 1 se muestran a continuación.

ü Creación de vista inicial para la calibración del sphero con el usuario

ü Manipulación del Sphero desde la aplicación utilizando como medio de conexión

el bluetooth y su SDK.

ü Almacenamiento del pseudolenguaje de la aplicación dentro el dispositivo móvil

ü Creación y diseño de las vistas para poder manipular el pseudolenguaje de

programación.

55

ü Creación y diseño de una sub vista para desplegar las sentencias de código en

pseudolenguaje disponibles para el usuario.

o Sentencias Secuenciales

o Sentencias Condicionales

o Sentencias Iterativas

ü Creación del contenedor principal que tendrá la lista de problemas.

3.3.1.2.DÍA DE TRABAJO (CICLO)

Durante las 2 semanas del primer ciclo se puedo completar todos los objetivos
planteados en el día de planificación.

3.3.2. ITERACIÓN 2

3.3.2.1.DÍA DE PLANIFICACIÓN
El objetivo de la iteración 2 es la creación de diferentes niveles de dificultad para el
sphero, a continuación

ü Creación y diseño de diferentes ejercicios para la enseñanza del pseudolenguaje


de programación que controla el sphero

ü Almacenamiento de todos los problemas solucionados por el usuario dentro el


dispositivo móvil.

a) CREACIÓN DE NIVELES

56

Creamos 5 niveles para que los niños puedan empezar a aprender conceptos básicos de
programación los cuales son los siguiente:
Enseñanza de Estructuras Secuenciales como:

ü CAMBIAR_COLOR(“ROJO|VERDE|AZUL|”)
ü SALTAR()
ü AVANZAR(“ADELANTE”)
ü GIRAR_GRADOS(“0|45|90|360”)
Enseñanza de Estructuras Condicionales como:
ü EN_COLISION()
ü EN_CAIDA_LIBRE()

3.3.2.2.DÍA DE TRABAJO (CICLO)

Durante las 2 semanas de desarrollo la aplicación pudo ser implementada con algunas
dificultades las cuales pudieron ser solucionadas en el mismo ciclo de desarrollo, a la
vez continuando con el diseño de la aplicación se pudo mejorar el diseño y colores de la
aplicación.

3.3.2.3.DÍA DE ENTREGA
A continuación se muestra las pantallas terminadas en la primera iteración.

57

Figura 3. 4 Lista de Comandos (Elaboración Propia)

3.4.FASE DE ESTABILIZACIÓN

En esta fase de estabilización se realizaron mejoras a la aplicación en cuanto al


rendimiento de la aplicación y propuesta de niveles.

3.5.FASE DE PRUEBAS Y ENTREGA

Esta fase de pruebas se realizaron pruebas en cuanto a la aplicación ya terminada y se


encontraron algunos errores que se solucionaron en una iteración.

La aplicación una vez concluida cuenta con las siguientes características:

58

ü Nuevo Pseudolenguaje de programación para la manipulación del Sphero.

ü Nuevo Pseudolenguaje de programación para la detección de colisiones y caída

libre del Sphero.

ü Ejercicios básicos para el aprendizaje de estructuras como:

o Secuenciales

o Condicionales

ü Ejercicios mas complejos como la solución de problemas usando el Sphero y el

pseudolenguaje de programación

ü Una plataforma móvil donde sea realiza la simulación que el sphero chatea

contigo.

59

CAPITULO IV

4. PRUEBA DE HIPÓTESIS

La prueba de hipótesis será la verificación de toda la implementación de la aplicación


móvil en diferentes plataformas y la verificación de la funcionalidad del pseudolenguaje
de programación para el manejo y control del Sphero.

Para tal prueba correremos una serie de ejercicios usando nuestro pseudolenguaje para
correrlos dentro el sphero.

4.1.VERIFICACIÓN DEL PSEUDOLENGUAJE

Esta pantalla podemos observar el primer ejercicio, el cual es el cambio del color del
Sphero usando un comando del pseudolenguaje que creamos.

60

Figura 4. 1 Código de cambio de color Sphero (Elaboración propia)

Revisando la figura 4.1. podemos observar la interacción de la aplicación con el usuario


en forma de chat el cual le va explicando como hacer el cambio de color del sphero.

Ejecutando el pseudolenguaje como resultado tendremos el siguiente resultado en el


sphero

61

Figura 4. 2 Sphero cambiado a rojo (Elaboración propia)

En la figura 4.2. podemos observar el pseudolenguaje ya ejecutado el cual hizo que el


Sphero cambie de color, en esta ocasión a color rojo.

Figura 4. 3 Pseudolenguaje (Elaboración propia)

62

En la figura 4.3. tenemos un conjunto de Pseudolenguaje donde podemos controlar las


colisiones del sphero.

La idea de este conjunto de lenguajes es poder ejecutar todos los comandos disponibles
por la aplicación en el Sphero y verificar que este funcione.

El proceso que seguirá el Sphero es: Si el Sphero colisiona con algún objeto (En esta
prueba contra la pared) el Sphero cambia de color a rojo, hace un giro de 90 grados
sobre su eje y continua avanzando.

El pseudolenguaje en lenguaje de programación seria traducido a:

avanzarSphero();
If(SpheroColisiona()) {
cambiarColorSphero(“RED”);
girarSphero(90);
avanzarSphero();
}

Las pruebas y análisis de las diferentes pantallas de la aplicación para el manejo del
Sphero mediante un pseudolenguaje de programación fueron satisfactorias y sin ningún
problema.

Dentro la planificación de la aplicación en el capitulo anterior también se tuvo en cuenta


nuevas pantallas de desarrollo con nuevos diseños mas amigables, los cuales son
mostrados a continuación:

63


Figura 4. 4 Nuevo diseño de la aplicación (Elaboración propia)

Como podemos observar las ultimas pantallas de la aplicación es mas amigable y de


mejor diseño para la manipulación del Sphero.

64

CAPITULO V

5. CONCLUSIONES Y RECOMENDACIONES

5.1.CONCLUSIONES

La hipótesis que usamos “Desarrollo de una aplicación móvil multiplataforma utilizando


un sphero para la enseñanza de programación en niños” donde la enseñanza se
promueve mediante una aplicación amigable y entendible para los niños con un
pseudolenguaje claro y fácil para la manipulación del sphero se concluye que la
aplicación promueve y ayuda al aprendizaje de los niños en el mundo de la
programación.

El uso del sphero fue muy importante ya que hace a la aplicación móvil mas atractiva,
pues los niños pueden programar usando nuestro pseudolenguaje y verlo de manera
tangible reflejada en el sphero.

Una de las dificultades principales que se presento en el desarrollo de esta aplicación es


la implementación de la aplicación multiplataforma, ya que no existe en la actualidad un
framework multiplataforma estable para el manejo del Sphero.

Continuando con las dificultades que se tuvo al desarrollar la aplicación, una muy
importante fue definir la metodología de enseñanza para los niños y la creación de
ejercicios para que puedan resolver y aprender. Revisando varias aplicaciones y
analizando el interés que los niños tienen se hizo una aplicación donde el niño pueda
aprender jugando e implementar una interfaz simulando que el sphero le escribe al niño
mediante su dispositivo móvil para la solución de problemas.

Con todo lo mencionado podemos concluir que la aplicación móvil multiplataforma


usando un sphero para la enseñanza de programación en niños ayuda en el aprendizaje y

65

enseñanza de conceptos básicos de programación en los niños usando sus dispositivos


móviles.

5.2.RECOMENDACIONES

Es posible la ampliación de la aplicación y poder aumentar muchos mas ejercicios y


problemas lógicos para que niños puedan aprender no solo conceptos básicos de
programación, si no puedan tal vez aprender algo mas complejo como recursividad.

La aplicación que se logró implementar tiene problemas de lógica planteados y


específicos para la enseñanza de programación, sin embargo hay una parte pendiente que
aun se puede desarrollar en un futuro y es que los niños puedan implementar sus propios
problemas de lógica y programación y compartirlos con el resto de sus amigos.

Dentro el SDK de sphero también tenemos la posibilidad de usar realidad aumentada, es


algo pendiente que se puede hacer en un futuro dentro la aplicación móvil de enseñanza
de programación, plantear ciertos problemas usando ejercicios de realidad aumentada,
poniendo obstáculos al sphero, crear hologramas, etc.

En resumen hay gran potencial que podemos obtener e implementar usando el Sphero
dentro la aplicación móvil y poder tal vez ser usado en algunas escuelas del país para
poder aprender un poco de lo que es programación, si bien no se busca que todos sean
programadores al menos acercar a los niños un poco mas a la tecnología.

66

6. BIBLIOGRAFÍA

[ALICE, 2014] Introducción a la Programación con Alice, 2014,


http://www.alice.org/index.php

[APPIO, 2013] Desarrollo de Aplicaciones Hibridas. 2013,


http://appio.es/tipos-de-apps/

[BERS, 2008] Bers, 2008, La tecnología en nuestros días,


www.bellomagazine.com/tecnologia

[GERSHENFELD, 2000] Neil Gershenfeld , 2000, El Mundo es un Holograma

[GIZMODE, 2014] Eduardo Marin, 2014, http://es.gizmodo.com/tag/sphero

[JIMENEZ, 2013] José Jiménez Murillo, 2013, Fundamentos de


Programación Ed. 2

[ORBOTIX, 2015] Sphero, 2015, http://www.sphero.com/

[RODRÍGUEZ, 2009] Txema Rodríguez, 2011, Métodos Aplicables para el


desarrollo de aplicaciones móviles,
http://www.genbetadev.com/desarrollo-aplicaciones-
moviles/

[SEVEN, 2014] Seven Doug, ¿Qué es una aplicación hibrida?, 2014,


http://icenium.com/community/blog/icenium-team-
blog/2012/06/14/what-is-a-hybrid-mobile-app

67

[SUPAN, 2010] Desarrollo Ágil de programación móvil

[SUN, 2015] Michelle Sun, First Code Academy, 2015,


appinventor.mit.edu

[VTT, 2008] Agile (Mobile-D), 2018, http://agile.vtt.fi/index.html

[WATERS, 2007] Kelly Waters, 2007, 10 Principios de desarrollo Ágil,


http://www.allaboutagile.com/what-is-agile-10-key-
principles/

[WROBLEWSKI, 2012] Luke Wroblewski, 2012, Mobile First


http://www.lukew.com/ff/entry.asp?933

[ZABALZA, 2001] Miguel Zabalza, 2001, Didáctica Estudiantil Infantil


https://oposicionesprofesor.wordpress.com/2008/02/13/la-
programacion-didactica-en-educacion-primaria/

68

7. ANEXOS

ANEXO A: NUEVO DISEÑO DE LA APLICACIÓN

Durante las ultimas fases de desarrollo se trabajo en un nuevo diseño de la aplicación


para la manipulación del sphero desde en pseudolenguaje, el cual es mas limpio y mas
entendible a la vista del usuario, el cual debería ser desarrollado en la ultimas fases de
los ciclos del producto de la metodología Mobile-D.

69

Anda mungkin juga menyukai