FORMATO Nº 6 PROGRAMA DE ESTUDIOS Universidad Popular Autónoma del Estado de Puebla NOMBRE DE LA INSTITUCIÓN PROGRAMA ACADÉMICO ASIGNATURA NIVEL EDUCATIVO MODALIDAD Licenciatura en Ingeniería de Software Estructura de Datos Licenciatura ESCOLARIZADA ( X) CLAVE DE LA ASIGNATURA NO ESCOLARIZADA LTI003 () MIXTA ( ) SERIACIÓN CICLO: HORAS CONDUCIDAS 80 HORAS INDEPENDIENTES TOTAL DE HORAS POR CICLO 80 160 CRÉDITOS 10 PROPÓSITOS GENERALES DE LA ASIGNATURA 1. CONCEPTUALES (SABER) Analiza las estructuras de datos, por medio de la implementación de algoritmos en un leguaje de programación estructurado, para reconocer el uso de las estructuras de datos en la gestión de información mediante una computadora. 2. PROCEDIMENTALES (SABER HACER) Implementa algoritmos y estructuras de datos existentes mediante su codificación en la computadora, usando un lenguaje de programación de alto nivel, para administrar grandes volúmenes de información de manera organizada y eficiente. 3. ACTITUDINALES Y VALORALES (SER/ESTAR) Valora la importancia de la aplicación de las estructuras de datos, visualizando de manera crítica y analítica su problemática, para ser más eficiente en la creación de soluciones computacionales a la industria y empresa. HOJA: PROGRAMA ACADÉMICO: ASIGNATURA: 1 DE 5 Licenciatura en Ingeniería de Software Estructura de Datos COMPETENCIAS DE LA ASIGNATURA Mejora la capacidad de abstraer problemas de su entorno y los convierte en un modelo programable empleando las estructuras de datos. Interpreta algoritmos de estructuras de datos y los traduce a un lenguaje de programación estructurado. Aplica las estructuras de datos para mejorar programas Se conoce y valora a si mismo y aborda problemas y retos teniendo en cuenta los objetivos que persigue. Desarrolla innovaciones y propone soluciones a problemas a partir de métodos establecidos. TEMAS Y SUBTEMAS 1. Repaso general del lenguaje C 1.1 Tipos de datos, proposiciones, expresiones y operadores 1.2 Estructura y partes de un programa general 1.3 Estructuras de secuencias 1.4 Estructuras de decisión 1.5 Estructuras de repetición o Iteración 1.6 Arreglos (unidimensionales, bidimensionales, n dimensionales) 1.7 Registros 1.8 Archivos 1.9 Uniones en “C” PROPÓSITOS DE LOS TEMAS Y SUBTEMAS Analiza los elementos estructurales del lenguaje C, identificándolos como bloques de construcción de programas, con la finalidad de programar estructuras de datos y sus aplicaciones. 2. Funciones y Recursividad 2.1 Funciones y paso de parámetros 2.2 Recursividad Identifica los elementos de la lógica del modelo matemático recursivo, mediante la codificación de algoritmos recursivos, para desarrollar programas más eficientes. 3. Ordenación, búsqueda e intercalación 3.1.1 Búsqueda secuencial 3.1.2 Búsqueda binaria 3.1.3 Selección 3.1.4 Burbuja 3.1.5 Inserción directa 3.1.6 Inserción binaria 3.1.7 Shell Identifica los principales algoritmos de ordenación, búsqueda e intercalación, por medio de la codificación y ejecución de estos para seleccionar el más adecuado ante un problema de la vida real. HOJA: PROGRAMA ACADÉMICO: ASIGNATURA: 2 DE 5 Licenciatura en Ingeniería de Software Estructura de Datos 3.1.8 Ordenación rápida 3.1.9 Intercalación 3.1.10 Uso Básico de Memoria Dinámica en “C” 4. Estructuras de datos básicas 4.1 Arreglos (vectores y matrices) 4.2 Registros (estructuras) 4.3 Combinación de estructuras básicas Reconoce las estructuras de datos básicas, implementándolas en un lenguaje de programación de alto nivel para su aplicación en la localización de datos en grandes volúmenes 5. Estructuras avanzadas lineales 5.1 Listas lineales 5.1.1 Pilas 5.1.2 Colas 5.1.3 Colas con doble entrada 5.2 Listas ligadas 5.3 Listas simplemente ligadas 5.4 Listas doblemente ligadas Analiza las estructuras avanzadas lineales mediante la programación de éstas en ejemplos clásicos para seleccionar la estructura más adecuada ante un problema computacional. 6. Estructuras avanzadas no lineales 6.1 Tipos de árboles 6.2 Árboles AVL 6.3 Árboles B y B+ 6.4 Árboles ternarios 6.5 Árboles binarios 6.6 Recorridos sobre árboles 6.7 Grafos 6.7.1 Definiciones básicas 6.7.2 Camino, accesibilidad y conexiones 6.7.3 Cálculo de caminos a partir de una representación matricial 6.7.4 Algoritmos representativos Analiza la importancia de las estructuras avanzadas no lineales y sus ventajas / desventajas con respecto a las lineales mediante la codificación de algoritmos clásicos y problemas actuales para que los aplique en la solución de problemas computacionales HOJA: PROGRAMA ACADÉMICO: ASIGNATURA: - - - - - 3 DE 5 Licenciatura en Ingeniería de Software Estructura de Datos METODOLOGÍA CON LA QUE SE VA A DESARROLLAR LA ASIGNATURA ESTRATEGIAS DE ACTIVIDADES DE ESTRATEGIAS DE ENSEÑANZA APRENDIZAJE EVALUACIÓN. NORMAS Y PROCEDIMIENTOS un Aprendizaje colaborativo - Análisis de problemas, Observar decente, a través de la solución identificando posibles comportamiento de problemas. soluciones y evitar lenguaje obsceno y el reglamento expresándolas a través respetar Foros de discusión. del desarrollo de académico vigente. Exposición de Entregar tareas, algoritmos, algoritmos. problemas clásicos cuya solución tiene diferentes - Resuelve problemas a programas y resultados de formas de programarse través del Desarrollo programas en tiempo y e incentivar a escoger la programas clásicos de forma. mejor por el estudiante. estructuras de datos en Las evaluaciones tienen Incentivar la búsqueda e computadora. A través como finalidad evaluar el manejo de la información investigación de de los foros y chats vista durante el curso problemas nuevos en programas Las participaciones incluyen recursos arbitrados y - Comparar propios con programas los foros de discusión, los motivar al estudiante a de otros e identificar chats, participación en que programe su pros y contras, clases y aportaciones al solución adoptando las mejores grupo de soluciones Motivar el intercambio prácticas. investigadas en medios de ideas de las e identificar arbitrados Los trabajos estrategias que usaron - Buscar problemas o tareas del consisten de desarrollo y en la programación de entorno que puedan presentación algoritmos y soluciones. llevarse a cabo a través programas de computadora Motivar el estudio de de la computadora y serán evaluados mediante problemas en su entorno programándolas para rúbricas. y la factibilidad de ello. obtener una solución programable empleando - Comparar los programas Evaluaciones las estructuras de datos propios con las 40% soluciones clásicas de la Participación teoría de estructuras de 15% Portafolio de evidencias datos. - El conjunto de 20% Proyecto final programas 25% implementados a lo ---largo del curso ---conforman el portafolio Total de evidencias 100% - HOJA: PROGRAMA ACADÉMICO: ASIGNATURA: 4 DE 5 Licenciatura en Ingeniería de Software Estructura de Datos RECURSOS DIDÁCTICOS - Recursos en Línea: o Blackboard o Pagina de recursos del Lenguaje Computadora o Compilador del lenguaje o Herramienta de modelado Cañón (Proyector) PowerPoint como software de presentación Materiales impresos: libros, artículos, apuntes, etc. Material electrónico: Notas del Profesor, Diagramas de Apoyo Mapas Conceptuales y Mentales, Problemas Resueltos y casos Prácticos. BIBLIOGRAFÍA (IMPRESA O ELECTRÓNICA) FORMATO A.PA. - Deitel, P.J., Deitel H.M. (2008). Como Programar en C++, (6ta Edición ) México Pearson Educación Rodríguez M., González P.A., Gómez, M.A. (2011) Estructuras de datos. Un enfoque moderno, (1ª Edición), España, Editorial Complutense, Goodrich, M.T., Tamassia R., Mount, D.M. (2011) Data Structures and Algorithms in C++, (2nd Edition) USA John Wiley & Sons Sharma, A. K. (2011). Data Structures Using C, (1st Edition) INDIA Pearson Education. Dey, K. N., Bandyopadhyay S. K. (2010). C Programming Essentials, (1th Edition) INDIA Pearson Education Mittal, A. (2010). Programming in C: A Practical Approach, (1st Edition) INDIA Pearson. PERFIL DEL DOCENTE REQUERIDO GRADO ACADÉMICO , CONOCIMIENTOS, HABILIDADES Y ACTITUDES Maestro ó Doctor en Matemáticas y/o tecnología de información y/o comunicación. Ingeniero en sistemas computacionales o Lic. En áreas afines. Con experiencia en diseño y programación de sistemas computacionales en especial del lenguaje de programación C. Con habilidades para el análisis de las estructuras de datos, resolver problemas de manera lógica, visualizar soluciones rápidas a situaciones imprevistas. Con una actitud favorable hacia la investigación y actualización en tecnologías de información, ser positivo, independencia de juicio y facilidad para organizar ideas y conceptos EXPERIENCIA DOCENTE Experiencia docente mínima de 3 años en nivel superior. Competencias Pedagógicas conocimientos y habilidades didácticas para favorecer el desarrollo del aprendizaje significativos. Competencias comunicativas, saber informar y comunicar el aprendizaje así como utilizar eficientemente los medios de información. HOJA: PROGRAMA ACADÉMICO: ASIGNATURA: 5 DE 5 Licenciatura en Ingeniería de Software Estructura de Datos Competencias para la orientación Educativa y Profesional. Facilitador del aprendizaje, colaborador, entrenador, tutor, guía y participante en el proceso de aprendizaje. El profesor permite que el estudiante sea más responsable de su propio aprendizaje y le ofrezca diversas opciones. Manejo adecuado de los recursos didácticos y pedagógicos disponibles. EXPERIENCIA PROFESIONAL Experiencia profesional mínima de 2 años. Experiencia en diseño y programación de sistemas computacionales mínima de 2 años.