TESIS DE GRADO
LA PAZ – BOLIVIA
2015
UNIVERSIDAD MAYOR DE SAN ANDRÉS
FACULTAD DE CIENCIAS PURAS Y NATURALES
CARRERA DE INFORMÁTICA
LICENCIA DE USO
Dedicado a:
i
AGRADECIMIENTOS
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.
ii
RESUMEN
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.
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
CAPITULO II ................................................................................................................ 13
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
vii
3.4. FASE DE ESTABILIZACIÓN .................................................................................. 58
3.5. FASE DE PRUEBAS Y ENTREGA .......................................................................... 58
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
CAPITULO III
CAPITULO IV
ix
CAPITULO I
1. MARCO REFERENCIAL
1.1. INTRODUCCIÓ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
ü 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
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.
ü 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
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.
por los niños, lo que implica desperdicio de una herramienta muy importante
y solución de problemas.
ü Crear una librería en JavaScript utilizando Phonegap, la cual será compatible con
1.5. HIPÓTESIS
1.6. JUSTIFICACIÓN
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
1.6.2. SOCIAL
1.6.3. CIENTÍFICA
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:
problemas jugando.
1.7.2. LÍMITES
1.8. APORTES
1.8.1. PRÁCTICO
1.8.2. TEÓRICO
programación.
10
1.9. METODOLOGÍA
Esta basado en metodologías conocidas pero aplicadas de forma estricta como: extreme
programming (XP), Crystal Methodologies y Rational Unified Process.
de programación en niños.
11
ü Revisión del SDK brindado por Orbotix para la manipulación del sphero.
código de programación.
mediante la aplicación.
12
CAPITULO II
2. MARCO TEÓRICO
2.1. MOBILE-D
13
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.
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.2.PLANIFICACIÓN INICIAL
ü Principalmente entender bien los objetivos del producto para que el equipo pueda
15
ü Preparar un plan para revisar el estado del proyecto, tareas criticas etc.
2.1.2.3.DÍAS DE PRUEBA
desarrollo.
16
2.1.3.1.DÍA DE PLANIFICACIÓN
2.1.3.2.DÍA DE TRABAJO
2.1.3.3.DÍA DE ENTREGA
17
La estabilización del producto puede ser conducida por las siguientes etapas:
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
18
2.1.4.4.DÍA DE ENTREGA
Las etapas individuales para la fase de prueba son mostradas en el siguiente grafico
19
2.1.5.1.SISTEMA DE PRUEBAS
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]
21
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.
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.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
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.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:
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:
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
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.
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.
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
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
28
cuáles son los procesos y estrategias a través de los cuales los estudiantes llegan al
aprendizaje”. [Zabalza, 2001].
a) MÉTODO DEDUCTIVO
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
29
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.
30
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.
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
a) MÉTODO PASIVO
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.
a) MÉTODO GLOBALIZADO
32
b) MÉTODO ESPECIALIZADO
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.
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
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
35
a) CONOCIMIENTO Y ATENCIÓN
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
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.
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
37
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.
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
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.
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.
39
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
40
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]
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
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]
42
Por Ejemplo:
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
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.
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]
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.
45
ü Modular todas las ventajas que ofrece estar las diferentes stores de aplicaciones
como puede ser integrar contenidos de pago para modelos de negocio Freemium
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]
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.
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]
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.
49
ü Prueba y primera manipulación del Sphero usando un dispositivo móvil (En este
procesador
móviles.
JavaScript.
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.
pseudolenguaje de programación.
ü Creación inicial del proyecto en Intellij Idea 13 para Android con lenguaje Java.
51
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.
52
En la figura 3.2 podemos observar 2 pantallas las cuales serán las primeras pantallas de
la aplicación:
53
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
54
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.
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.
el bluetooth y su SDK.
programación.
55
ü Creación y diseño de una sub vista para desplegar las sentencias de código en
o Sentencias Secuenciales
o Sentencias Condicionales
o Sentencias Iterativas
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
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()
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
3.4.FASE DE ESTABILIZACIÓN
58
o Secuenciales
o Condicionales
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
Para tal prueba correremos una serie de ejercicios usando nuestro pseudolenguaje para
correrlos dentro el sphero.
Esta pantalla podemos observar el primer ejercicio, el cual es el cambio del color del
Sphero usando un comando del pseudolenguaje que creamos.
60
61
62
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.
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.
63
Figura 4. 4 Nuevo diseño de la aplicación (Elaboración propia)
64
CAPITULO V
5. CONCLUSIONES Y RECOMENDACIONES
5.1.CONCLUSIONES
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.
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.
65
5.2.RECOMENDACIONES
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
67
68
7. ANEXOS
69