




























































































Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
APLICACIÓN PARA DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO ANDROID PARA EL APRENDIZAJE DE CONCEPTOS BÁSICOS DE LÓGICA DE PROGRAMACIÓN
Tipo: Tesis
1 / 101
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Agradecemos a todas las personas quienes de una u otra forma contribuyeron en el desarrollo de este proyecto, familiares, hermanos, amigos, compañeros y profesores. Agradecemos a la Universidad Distrital Francisco José de Caldas por todo el conocimiento, experiencias y buenos tratos que siempre nos han brindado. Agradecemos también a todos los estudiantes de primeros semestres de la carrera de Tecnología en sistematización de datos que participaron en las encuestas y en las pruebas de la aplicación ya que nos fueron de mucha ayuda y contribuyeron en la elaboración y perfeccionamiento del presente proyecto. Agradecemos a la Ingeniera Rocío Rodríguez Guerrero por su acompañamiento y asesoría durante en el desarrollo de este proyecto como nuestra tutora.
The project "Application for mobile devices with Android operating system for learning basic concepts of programming logic" is an application focused on mobile devices with S.O. Android developed with the main motivation to be a tool to help the learning process of the basic concepts of programming logic such as variables, constants, data types, data operators, control structures, repetitive structures and functions. After the information was collected, mechanisms were established to allow students to visualize, consolidate and measure their knowledge in the programming logic in a didactic way through the constructive educational model and the means of four modules: user module, registration module, teaching module and evaluation module. For the realization of this project we used the development environment Android Studio 2.3. using the programming language Java and the meta-language of extensible marks XML. Also, the SQLite database engine was used, which fulfills the function of camping in the basic information of the student, the topics concepts that are approached in the device, its progression in these subjects, the notes of the exercises and the Evaluations carried out Keywords: Programming logic, Basic concepts, Java, Android operating system, variables, constants, data types, data operators, control structures, repetitive structures.
La enseñanza de los conceptos o fundamentos básicos de la lógica de programación, son un aspecto esencial en la formación de tecnólogos e ingenierías afines al desarrollo de software, dado que estos saberes, representan en sí mismos una de las bases primordiales en las cuales se cimientan las competencias que los estudiantes desarrollaran a lo largo de la carrera. Este proyecto tiene como finalidad el apoyar los procesos de aprendizaje de los conceptos más elementales de la lógica de programación teniendo en cuenta las dificultades que los estudiantes de primeros semestres poseen a la hora de intentar adquirir estos conocimientos, aprovechando diferentes ventajas y facilidades que ofrecen las tecnologías móviles. Las actividades y evaluaciones que se desarrollarán en la aplicación van orientadas a trabajar a lógica y los conocimientos que los estudiantes poseen sobre los temas fundamentales de la lógica de programación tales como: variables y constantes, tipos de datos, operaciones aritméticas, estructuras de control, estructuras de control iterativas y funciones. La aplicación, llamada Nozomu se desarrolló bajo los parámetros o lineamientos de la arquitectura Modelo Vista Controlador (MVC), la metodología Proceso Unificado Racional (RUP), así como la estructura de Bases Datos Relacionales (BDR). La arquitectura Modelo Vista Controlador (MVC) permite identificar, organizar y diferenciar cada una de las partes más importantes de los componentes de un software, como lo son la parte gráfica o visual de esta, la parte de almacenamiento y tratamiento de los datos; y por último la programación de esta. Por otro lado, la metodología RUP también conocida como Proceso Unificado Racional proporciona diferentes técnicas o maneras de analizar y describir cómo aplicar enfoques para el desarrollo del software, esta es una metodología provee un enfoque disciplinado para la asignación de tareas y responsabilidades. Su principal objetivo es asegurar la producción de software de alta calidad que satisfaga las necesidades de sus usuarios finales dentro de un presupuesto y tiempo predecibles. Por último, estructura de Bases Datos Relacionales (BDR) facilita el almacenamiento de los datos de los usuarios y su avance a través de las lecciones a través de tablas las cuales se entrelazan entre sí mediante relaciones o llaves foráneas y principales.
curricular de Sistematización de Datos de la Universidad Distrital Francisco José de Caldas se evidencia que en los últimos tres años entre un 44% y un 65% de los estudiantes de primeros semestres reprobaron la materia introducción a algoritmos, la cual representa el primer contacto que estos poseen con la programación. De lo anterior se puede inferir que existe la necesidad de crear aplicativos basados en tipo de algún enfoque pedagógico que utilicen las ventajas de los dispositivos móviles, para así desarrollar la lógica necesaria en los estudiantes que los llevará a resolver problemas y avanzar en el aprendizaje de la programación. 1.3.2. Formulación del problema ¿Puede una aplicación móvil sobre plataforma Android afianzar, adiestrar y evaluar los conocimientos básicos de la lógica de programación con el fin de familiarizar a las personas interesadas en programar, en los conceptos básicos de la lógica de programación? 1.4. ALCANCES Y LIMITACIONES 1.4.1. Alcances Se desarrollará una aplicación de tipo educativo, que apoye a los estudiantes en sus respectivos procesos de aprendizaje, en el área de la lógica de programación. La aplicación Nozomu estará compuesta de cinco módulos definidos de la siguiente manera: Módulo de registro ● Registro de información del usuario como nombres, apellidos, teléfono, correo electrónico y nickname. ● Creación de la instancia del usuario. ● Guardado de los datos del usuario en una base de datos. Módulo de usuario ● Ingreso del usuario ● Guardar, editar y consultar información del usuario. ● Consultar el progreso del usuario. ● Acceder al resto de módulos Módulo de Educación ● Presentación de los conceptos y lineamientos básicos de la lógica de programación. ● Seguimiento de los temas que el usuario está aprendiendo.
● Desbloquear evaluaciones en el módulo de puntaje. Módulo de Puntaje Este módulo permite: ● Realizar pruebas a los usuarios mediante ejercicios prácticos de diagramación cuya dificultad irá en aumento a medida que vaya avanzando en las diferentes temáticas. ● Se asigna un puntaje valorativo al usuario según sus aciertos en las pruebas. 1.4.2. Limitaciones Para el desarrollo del proyecto se tendrán en cuenta limitaciones de varias índoles o características tales como: las temáticas, las técnicas, las geográficas y, por último, la temporal. 1.4.2.1. Geográfica ● Las pruebas de la aplicación se realizarán en los estudiantes que se encuentren cursando la carrera de Tecnología en Sistematización de datos en la facultad tecnológica. ● El desarrollo del proyecto se realizará en la Universidad Distrital Francisco José de Caldas, con apoyo del semillero de desarrollo de software libre GEHRIN. 1.4.2.2. Técnica ● Los dispositivos móviles sobre los cuales se ejecute la aplicación deben soportar la tecnología Android en las versiones mayores o iguales a la 4. correspondiente a “Jellybean” hasta la versión 7.1 correspondiente a “Nougat”. ● Los dispositivos móviles que soportan la aplicación no podrán tener una pantalla inferior a 3.7”, aunque la aplicación podrá ser visualizada en dispositivos con una pantalla de mayor o igual dimensión a las 3,7” 5.1” y 10.1”. 1.4.2.3. Temático Para el desarrollo de este proyecto fue necesario determinar qué temas son requeridos para comprender la lógica de programación, especialmente en la Facultad Tecnológica de la Universidad Distrital Francisco José de Caldas. Los temas que se van a presentar son: variables y constantes, tipos de datos, operadores de datos, estructuras de control (estructura if-else, switch), estructuras repetitivas (while, for, do while). 1.4.2.4. Temporal El proyecto tiene una estimación de tiempo de desarrollo de siete meses a partir
licencias, código abierto el cual puede ser modificado o mejorado según las necesidades de los usuarios, libre albedrío para su distribución y divulgación, entre otras. 1.7. MARCO DE REFERENCIA 1.7.1. Marco Histórico En la actualidad las aplicaciones relacionadas a la enseñanza de programación en dispositivos móviles se encuentran mal direccionadas o dirigidas debido a que simplemente se limitan a mostrar texto plano en el que se “enseña” a los usuarios sintaxis de un lenguaje en específico. La mayoría de estas aplicaciones se especializan en un lenguaje de programación y aparte de ello no se molestan verdaderamente por que los usuarios aprendan algo en verdad, ya que no utilizan ningún modelo pedagógico de enseñanza, o utilizan alguno que no funciona en el aprendizaje de la lógica de programación. 1.7.1.1. Codecademy Codecademy es una plataforma de educación gratuita en línea que ofrece cursos de programación en lenguajes como JavaScript, PHP, Python y Ruby; y de lenguajes de marcado como HTML y CSS. Su popularidad se ha multiplicado a partir de su fundación en 2011 y se ha mantenido. Más de 24 millones de personas han tomado sus cursos y hoy en día sigue siendo de las mejores opciones para aquellos que quieren aprender a programar por su cuenta. Para motivar a los usuarios a participar, el sitio cuenta con un sistema de gamificación por el que ofrece insignias o medallas al completar ejercicios, cuenta con foros de discusión y un glosario por curso; así mismo, mantiene un registro de la puntuación total del usuario y la muestra a los demás usuarios. El sitio también permite que cualquier persona pueda crear y publicar un nuevo curso usando la herramienta de creación de cursos.^2 1.7.1.2. Programming Hub Programming Hub es una aplicación que nos permite disponer rápidamente de manuales de programación para más de una docena de lenguajes: Python, Assembly, HTML, VB.NET, C, C++, C# (C Sharp), JavaScript, PHP, Ruby, CSS, Java, entre otros. Aquellos usuarios que cuenten con unos conocimientos mínimos de programación sí que encontrarán en Programming Hub un gran aliado. La interfaz de la app es muy intuitiva, y nos permitirá descargar nuevos temas fácilmente, así como filtrar las lecciones que más nos interesen dentro de cada lenguaje de programación. (^2) ¿Qué es Codecademy? (2014) Recuperado el 16 de febrero de 2017 de Universidad tecnologica de bolivar: http://www.unitecnologica.edu.co/educacionadistancia/newletter/2014/boletin005/noti_apliaciones/004- codecademy/index.html
También podremos copiar texto fácilmente, así como compartir temas enteros con otros usuarios. Programming Hub es una muy buena aplicación para estudiantes de programación. Su escaso peso (ocupa menos de 10 Mb) y su interfaz elegante la convierten en una de las mejores apps de su tipo para Android. Forma más rápida para aprender cualquier lenguaje de programación consultando programas Ready-Made y la teoría creada por expertos de la programación. Practique sus habilidades de codificación ejecutando el código en la función de patio.^3 1.7.1.3. Codecombat CodeCombat es un juego para aprender a programar que cumple y muy bien con las expectativas. Nos pondremos a los mandos de un personaje medieval que debería ir avanzando por los diferentes niveles del juego, solucionando los problemas planteados. Es multijugador, completamente gratuito y, de nuevo, también está adaptado a su uso en el aula (permite crear clases). Aunque puede utilizarse para novatos en la programación está más orientado a secundaria y bachillerato, pues con él aprenderemos lenguajes avanzados como Python, Lua, JavaScript u otros que pueden resultar interesantes en edades avanzadas o incluso universidad. 4 1.7.1.4. Programación fácil Esta aplicación contiene cuatro cursos C++, Java, Python, Ruby actualmente solo se encuentra disponible el curso de C++, pero en la próxima actualización incluirá el curso de Java en la siguiente el de Python y en la última el de Ruby.^5 (^3) Programming Hub (2014) Recuperado el 25 de febrero de 2017 de UpToDown: https://programming-hub.uptodown.com/android (^4) Apps y juegos para aprender a programar (2016) Recuperado el 17 de febrero de 2017 de educación 3.0: http://www.educaciontrespuntocero.com/recursos/apps-de-juegos-para-aprender-a-programar/30909.html (^5) Programación Fácil (s.f.) Recuperado el 18 de febrero de 2017 de Google Play: https://play.google.com/store/apps/details?id=com.belzasar.programacionfacil&hl=es