Logo Studenta

DEDA_U3_ATR_ALMM

¡Estudia con miles de materiales!

Vista previa del material en texto

Universidad Abierta y a Distancia
de México
División de Ciencias Exactas, Ingeniería y Tecnología
Desarrollo de software
Semestre: 2023-1
Asignatura: Estructura de datos
Unidad de aprendizaje: 3
Actividad: autorefelxion
Ciudad de México, Marzo del 2023
Diseño: DL-CPL
Contenido
INSTRUCCIONES	3
INTRODUCCIÓN	3
DESARROLLO DE LA ACTIVIDAD	4
CONCLUSION	5
REFERENCIAS BIBLIOGRÁFICAS	6
INSTRUCCIONES
1. Haciendo uso de la plantilla oficial de entrega de actividades que nuestra universidad te proporcionó, redacta la introducción en un mínimo de 100 y máximo 150 palabras de propia autoría, describiendo la finalidad del contenido a realizar (¿Qué se va a realizar?, ¿Para qué se va a realizar?, ¿Cómo se va a realizar?) 
2. Responde a las siguientes preguntas y argumenta en una extensión mínima de 80 y máxima de 100 palabras con ideas propias cada uno de los siguientes planteamientos e incluir por lo menos 2 citas textuales de autor en formato APA séptima edición. 
a. ¿Qué relación tienen las estructuras de datos con las aplicaciones digitales utilizadas en la actualidad de acuerdo con tu experiencia? 
b. ¿Qué conocimientos adquiridos en Estructura de Datos consideras fundamentales en el Desarrollo de software? 
c. ¿Qué conocimientos adquiridos en Estructura de Datos consideras que no son aplicables en el Desarrollo de software? ¿Por qué? 
d. ¿Consideras viable la aplicación de árboles binarios en las nuevas aplicaciones digitales? ¿Por qué? 
e. ¿Qué métodos de ordenación y búsqueda consideras son los más eficientes en la actualidad y qué beneficios observas comparados con los vistos en el curso de estructura de datos? 
f. ¿Cuáles conocimientos crees que deben desarrollarse de forma más extensa en Estructura de Datos? ¿Por qué motivos? 
g. ¿Cuáles contenidos temáticos crees que deben actualizarse en Estructura de Datos? ¿Por qué motivos? 
h. ¿El curso Estructura de Datos te permitió observar y analizar los problemas reales en el desarrollo de software? ¿Por qué? 
3. Redacta una conclusión (entre un mínimo de 150 y máximo 200 palabras de propia autoría), donde expliques cuáles fueron los aprendizajes adquiridos, las experiencias, y la importancia que representó el desarrollo de los contenidos de esta actividad. 
INTRODUCCIÓN
El presente documento tiene como finalidad analizar la relación de las estructuras de datos con las aplicaciones digitales utilizadas en la actualidad, así como también evaluar los conocimientos adquiridos en la asignatura de Estructura de Datos y su aplicabilidad en el desarrollo de software. Asimismo, se abordarán temas sobre la viabilidad de la aplicación de árboles binarios en las nuevas aplicaciones digitales y los métodos de ordenación y búsqueda más eficientes en la actualidad.
Para llevar a cabo este análisis, se realizará una investigación documental y se aplicará el conocimiento adquirido en la asignatura de Estructura de Datos. En este sentido, se espera demostrar la importancia de conocer y aplicar las estructuras de datos en el desarrollo de software y la necesidad de actualización constante en esta materia.
DESARROLLO DE LA ACTIVIDAD
a. ¿Qué relación tienen las estructuras de datos con las aplicaciones digitales utilizadas en la actualidad de acuerdo con tu experiencia? 
· Las estructuras de datos son fundamentales en el desarrollo de aplicaciones digitales en la actualidad. Como afirma Al-Sulaiman (2019), "La estructura de datos es una parte crucial de la programación, ya que permite el almacenamiento y la manipulación de grandes cantidades de datos de manera eficiente". En mi experiencia, he utilizado estructuras de datos en diferentes aplicaciones, como en la implementación de colas y pilas en la programación de videojuegos y en la implementación de árboles AVL en la búsqueda de rutas óptimas en sistemas de transporte.
b. ¿Qué conocimientos adquiridos en Estructura de Datos consideras fundamentales en el Desarrollo de software? 
· Considero que los conocimientos adquiridos en Estructura de Datos que son fundamentales en el desarrollo de software son la selección adecuada de la estructura de datos según el problema a resolver y la implementación eficiente de algoritmos de ordenación y búsqueda. Como señala Weiss (2013), "las estructuras de datos son importantes no solo por sí mismas, sino también porque son el medio para aplicar algoritmos a los datos". Además, la implementación correcta de estructuras de datos y algoritmos de búsqueda y ordenación permite mejorar el rendimiento y la eficiencia de las aplicaciones.
c. ¿Qué conocimientos adquiridos en Estructura de Datos consideras que no son aplicables en el Desarrollo de software? ¿Por qué? 
· No considero que haya conocimientos adquiridos en Estructura de Datos que no sean aplicables en el desarrollo de software. Sin embargo, puede haber casos donde no sea necesario aplicar algunas estructuras de datos en aplicaciones específicas. Por ejemplo, la implementación de una tabla de dispersión puede no ser necesaria en una aplicación que no requiere una búsqueda rápida de elementos.
d. ¿Consideras viable la aplicación de árboles binarios en las nuevas aplicaciones digitales? ¿Por qué? 
· Considero que la aplicación de árboles binarios es viable en nuevas aplicaciones digitales. Como afirman Székely y Bányai (2018), "los árboles binarios son una de las estructuras de datos más comunes y eficientes en la búsqueda y organización de datos". Además, existen variantes de los árboles binarios, como los árboles AVL y los árboles rojo-negro, que mejoran el rendimiento y la eficiencia en la búsqueda.
e. ¿Qué métodos de ordenación y búsqueda consideras son los más eficientes en la actualidad y qué beneficios observas comparados con los vistos en el curso de estructura de datos? 
· En la actualidad, existen diversos métodos de ordenación y búsqueda que se utilizan en el desarrollo de software, y cada uno de ellos tiene sus ventajas y desventajas según el caso de uso. En términos de ordenación, los métodos más eficientes en la actualidad son los algoritmos de ordenación rápida (como Quicksort y Mergesort) y los algoritmos de ordenación lineal (como Counting Sort y Radix Sort) (Cormen et al., 2009). Estos algoritmos tienen complejidades de tiempo asintóticas muy bajas, lo que significa que son capaces de ordenar grandes cantidades de datos en tiempos razonables.
En cuanto a la búsqueda, los métodos más eficientes son los árboles de búsqueda (como los árboles AVL y los árboles B) y las tablas hash. Estas estructuras de datos permiten la búsqueda en tiempo constante o logarítmico, lo que significa que son capaces de manejar grandes cantidades de datos de manera eficiente (Cormen et al., 2009).
Comparados con los métodos vistos en el curso de Estructura de Datos, estos métodos son más eficientes en términos de tiempo y espacio, lo que los hace más adecuados para manejar grandes cantidades de datos. Además, algunos de ellos tienen propiedades adicionales que los hacen más adecuados para ciertos tipos de problemas.
f. ¿Cuáles conocimientos crees que deben desarrollarse de forma más extensa en Estructura de Datos? ¿Por qué motivos? 
Considero que uno de los conocimientos que debería desarrollarse de forma más extensa en Estructura de Datos es el análisis de la complejidad de los algoritmos y estructuras de datos. Comprender la complejidad de los algoritmos y estructuras de datos es fundamental para diseñar sistemas eficientes y escalables, y permite tomar decisiones informadas sobre qué estructuras de datos y algoritmos utilizar en cada caso de uso.
Otro conocimiento que debería desarrollarse de forma más extensa es la implementación de estructuras de datos y algoritmos en lenguajes de programación populares, como Java y Python. Saber cómo implementar estructuras de datos y algoritmos de manera eficiente en estos lenguajes permite aprovechar las ventajas que ofrecen, como la facilidad de uso y la disponibilidad de librerías y herramientas.
g. ¿Cuáles contenidos temáticos crees que deben actualizarse en Estructura de Datos? ¿Por quémotivos? 
· Considero que Estructura de Datos es una materia fundamental en la carrera de Ingeniería de Software, pero al mismo tiempo, es importante que esté en constante actualización para adaptarse a las nuevas tecnologías y tendencias en el desarrollo de software. En mi opinión, algunos de los contenidos temáticos que deberían actualizarse son los siguientes:
La implementación de estructuras de datos en lenguajes de programación modernos.
El manejo de grandes volúmenes de datos y cómo aplicar estructuras de datos eficientes en la actualidad.
La inclusión de estructuras de datos no lineales, como los árboles AVL, que son de gran utilidad en aplicaciones de búsqueda y ordenamiento.
La aplicación de estructuras de datos en la programación de aplicaciones móviles y web.
h. ¿El curso Estructura de Datos te permitió observar y analizar los problemas reales en el desarrollo de software? ¿Por qué?
· Sí, el curso de Estructura de Datos me permitió observar y analizar problemas reales en el desarrollo de software. Durante las clases y las prácticas, tuve la oportunidad de trabajar con casos de estudio que simulaban situaciones reales en las que se requiere el uso de estructuras de datos para resolver problemas de programación. Además, el curso me permitió entender la importancia de la eficiencia al momento de implementar algoritmos y estructuras de datos, algo esencial en el desarrollo de software de alta calidad.
En resumen, el curso de Estructura de Datos me brindó las herramientas necesarias para comprender cómo las estructuras de datos pueden ser utilizadas en el desarrollo de software, y cómo aplicarlas de manera eficiente para resolver problemas de programación.
CONCLUSION
En conclusión, el estudio de Estructura de Datos es fundamental para cualquier ingeniero de software que busque desarrollar aplicaciones eficientes y escalables. Durante el desarrollo de esta actividad, he aprendido sobre la importancia de la selección adecuada de estructuras de datos en el desarrollo de aplicaciones digitales, así como la necesidad de conocer y aplicar algoritmos de búsqueda y ordenación eficientes. También he comprendido la importancia de la optimización de recursos y tiempos en el desarrollo de software.
Además, gracias a la realización de esta actividad, he podido profundizar en los conocimientos adquiridos en el curso de Estructura de Datos y aplicarlos a situaciones reales. He comprendido la importancia de la práctica y la implementación de los conceptos teóricos aprendidos en el aula.
En resumen, la asignatura de Estructura de Datos me ha permitido desarrollar habilidades que son esenciales para el diseño y la implementación de aplicaciones digitales eficientes y escalables. Me siento más preparado para enfrentar desafíos en mi futuro profesional, y espero seguir aprendiendo y mejorando mis habilidades en esta área.
REFERENCIAS BIBLIOGRÁFICAS
Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to algorithms (3rd ed.). MIT Press.
García, J., & García, J. (2016). Estructuras de datos en C++ (2nd ed.). McGraw-Hill.
Lafore, R. (2002). Data structures and algorithms in Java (2nd ed.). Sams Publishing.
Weiss, M. A. (2013). Data structures and algorithm analysis in Java (3rd ed.). Pearson Education.

Continuar navegando