2015 IC EIF203
Transcripción
2015 IC EIF203
Universidad Nacional Facultad de Ciencias Exactas y Naturales Escuela De Informática CARTA AL ESTUDIANTE CODIGO: NOMBRE: REQUISITOS: NATURALEZA: AREA DISCIPLINARIA: NIVEL: CICLO LECTIVO: PROFESORES: COORDINADOR: EIF 203 Estructuras Discretas para Informática EIF 200: Fundamentos de Informática MAT-030: Matemática para Informática I Teórico / Práctico Ingeniería de Software II nivel I ciclo Carlos Loría Saénz, Juan Félix Ávila Herrera, Enrique Vílchez Quesada Enrique Vílchez Quesada, email: [email protected] Créditos Horas Semanales 3 8 Horas Presenciales Prácticas Teóricas 1 3 Horas estudio independiente 4 DESCRIPCION Este curso desarrolla los conceptos y resultados fundamentales de la matemática finita que sirven de base a las estructuras de datos y a los lenguajes formales. Proporciona al estudiante las estructuras discretas más importantes para el desarrollo de soluciones computacionales eficientes, siendo esta área disciplinaria las matemáticas por excelencia utilizadas por los futuros profesionales en este campo. Las computadoras tratan con objetos finitos cuyo abordaje formal se hace posible a través de muchos de los modelos no continuos y contables proporcionados por las matemáticas discretas. En general el curso crea una base de conocimiento teórico-práctico para el estudio formal de otras áreas de la informática, tales como: los sistemas operativos, las estructuras de datos y los paradigmas de programación. Las prácticas se enfocan en la solución algorítmica de situaciones vinculadas con la ingeniería en sistemas computacionales. Se pretende que el alumno desarrolle habilidades cognitivas relacionadas con la inteligencia abstracta en la resolución de problemas, la creatividad en el uso disciplinar de los algoritmos vistos en clase ante posturas abiertas y específicas y, el aprendizaje de las distintas teorías con un claro carácter significativo, aplicando dichos métodos mediante la didáctica que provea los elementos necesarios de acuerdo con el nivel curricular de los estudiantes. OBJETIVO GENERAL Conocer y aplicar las teorías básicas de las estructuras discretas para informática, en la resolución de problemas que enfrentan situaciones vinculadas con las ciencias de la computación. OBJETIVOS ESPECÍFICOS 1. Conocer las teorías básicas de la matemática discreta para informática, como lo son: aplicaciones de la recursividad en la programación, resolución de relaciones de recurrencia, convergencia de algoritmos, relaciones, grafos, árboles, autómatas de estado finito, máquinas de Turing y, lenguajes y gramáticas especiales. 2. Comprender las aplicaciones de la recursividad dentro de la programación. 3. Conocer distintos métodos de resolución de relaciones de recurrencia. 4. Utilizar los principios de las notaciones asintóticas para el análisis de la complejidad de un algoritmo. 5. Conocer la teoría básica de las relaciones y su vinculación con las funciones. 6. Comprender los aspectos esenciales de la teoría de grafos: definición, representación, trayectorias, ciclos y algoritmos. 7. Utilizar la teoría de grafos para resolver problemas reales orientados en las ciencias de la computación. 8. Conocer los aspectos principales de la teoría de árboles: terminología, teoremas de caracterización, árboles de expansión, árboles binarios y sus aplicaciones como estructuras de datos. 9. Utilizar los árboles y sus algoritmos para resolver problemas relacionados con la informática. 10. Conocer la teoría de autómatas de estado finito, lenguajes, gramáticas especiales y sus relaciones. 11. Comprender los principios fundamentales de las máquinas de Turing. CONTENIDOS I Parte: Recursividad, relaciones de recurrencia, análisis de algoritmos (6 semanas) Recursividad (2 semanas) o Definiciones recursivas. o Principio de demostración por recursividad. o Aplicaciones de la recursividad a la programación. Relaciones de recurrencia (2 semanas) o Definiciones básicas. o Ejemplos de recurrencias y su solución. o Método iterativo. o Resolución de recursividades homogéneas lineales. Análisis de algoritmos (2 semanas) o Definición de algoritmo. o Ejemplos de algoritmos. o Notaciones asintóticas: O, Ω y θ. o Análisis gráfico de las notaciones asintóticas O, Ω y θ. o Propiedades de las notaciones asintóticas O, Ω y θ. o Aplicaciones de las notaciones O, Ω y θ al análisis de algoritmos. II Parte: Relaciones, grafos y árboles (6 y 1/2 semanas) Relaciones (2 semanas) o Concepto de relación. o Concepto de función a través de una relación. o Representación digráfica de una relación. o Relaciones de equivalencia. o Clases de equivalencia. o Órdenes parciales. Grafos (2 semanas) o Concepto de grafo, digrafos y sus propiedades. o Grafos discretos y completos. o Subgrafos y grafos cocientes. o Caminos y circuitos: aplicaciones en informática. o Circuitos de Euler, algoritmos de Fleury y HierHolzer, teoremas y aplicaciones. o Circuitos de Hamilton, teoremas relacionados (Dirac y Ore) y aplicaciones sobre el problema del agente viajero. o Matriz de adyacencia e incidencia y sus propiedades. o Concepto de grafo ponderado. o Algoritmo del camino más corto (Dijkstra). Árboles (2 y 1/2 semanas) o Concepto de árbol y sus propiedades. o Códigos de Huffman. o Árboles binarios y sus propiedades. o Árboles generadores o de expansión y algoritmos buscar primero a lo ancho y a lo largo. o Aplicaciones de los árboles como estructuras de datos. o Operaciones de los árboles binarios: búsqueda, inserción, borrado y recorridos preorden, interorden y postorden. o Árboles con etiquetas y sus aplicaciones sobre la representación de expresiones algebraicas. o Árboles de expansión mínima y algoritmos de Prim y de Kruskal. III Parte: Máquinas de estado finito, autómatas, máquinas de Turing, lenguajes y gramáticas (4 y 1/2 semanas) Máquinas de estado finito y autómatas (2 semanas) o Concepto y propiedades de una máquina de estado finito. o Recorridos de hileras en una máquina de estado finito. o Concepto y propiedades de un autómata de estado finito. o Recorridos de hileras en un autómata de estado finito. o Construcción de máquinas y autómatas de estado finito bajo condiciones preestablecidas. Máquinas de Turing (1/2 semana) o Definición de una máquina de Turing. o Reconocimiento de conjuntos a través de máquinas de Turing. Lenguajes y gramáticas (2 semanas) o o o METODOLOGÍA Concepto y propiedades de los lenguajes y las gramáticas. Autómatas de estado finito no determinísticos. Relaciones entre los lenguajes y los autómatas. Para el logro de los objetivos del presente curso, se propone un abordaje de los contenidos mediante: 1. Presentaciones magistrales a cargo del profesor. 2. Desarrollo de ejercicios teórico-prácticos y aplicados en el campo de la informática de forma individual y grupal. 3. Utilización de herramientas de software para desarrollar algunas de las áreas de contenido del curso, tanto en sus aspectos teóricos como prácticos. 4. Realización de diversas actividades (tareas y/o quices) para facilitar una asimilación más propicia de cada una de las unidades temáticas. 5. Promoción de una investigación constructiva en los estudiantes, de tal manera que éstos brinden aportes al aprendizaje propio y de los demás y, construyan sus propias soluciones a algunos problemas planteados. Se visualiza al estudiante como una persona altamente participativa y comprometida con su propio aprendizaje, responsable y honesta al desarrollar cada una de las actividades implicadas en el curso. Se requiere que el estudiante dedique al menos 4 horas de estudio extra clase y asista a las horas de consulta del docente. Se espera que el profesor sea un guía en el proceso de aprendizaje y que promueva el carácter investigativo del alumno. En este sentido, la utilización de diferentes recursos didácticos para desarrollar sus lecciones, se estima como un elemento fundamental para complementar el proceso de enseñanza y aprendizaje. La coordinación hará disponible material de apoyo para los estudiantes en el aula virtual institucional, cuya dirección URL es la siguiente: https://www.aulavirtual.una.ac.cr. Además en la dirección: http://www.escinf.una.ac.cr/discretas se encuentran disponibles otros materiales complementarios al curso. Cada docente podrá ofrecer alternativas de recursos según corresponda a sus cursos y métodos. EVALUACIÓN El trabajo será evaluado por medio de exámenes parciales cuyo valor ponderado es de un 80%. Las pruebas parciales serán aplicadas por cada profesor en el tiempo de clase durante la semana indicada en el cronograma. Las actividades de aprendizaje tendrán un valor porcentual de un 20%, se realizarán como mínimo cinco durante el semestre en curso. La suma de estos rubros proporciona la nota final, tal y como se desglosa a continuación: Actividades de aprendizaje 1 Examen parcial 25 % (mínimo 5) 25% 25 % 25% 100% 2 Examen parcial 3 Examen parcial TOTAL Si el estudiante no aprueba el curso, pero obtiene una nota superior o igual a 6.0, podrá presentar un examen extraordinario previo pago de los derechos correspondientes en el Departamento de Financiero de la Universidad Nacional. Para aquellos estudiantes que deban presentar el examen extraordinario, en su fecha de aplicación, deberán traer cancelado el recibo de derecho respectivo, sin este recibo el alumno no podrá realizar la prueba. CRONOGRAMA Las fechas tentativas y contenidos a evaluar en las pruebas escritas, son las siguientes según cada profesor establezca considerando cada grupo: Descripción % Fecha Contenido 1 Examen parcial 25% Semana 6 Parte I 2 Examen parcial 25 % Semana 15 Parte II 3 Examen parcial 25% Semana 18 Parte III Actividades de aprendizaje 25% Según criterio del docente (mínimo 5 actividades que comprueban aprendizaje) BIBLIOGRAFIA Ávila, J. (2005) Estructuras de matemática discreta para computación. Costa Rica: UNA. Caballero, M., Migallón, V. y Penadés, J. (2001) Prácticas de matemática discreta con MAGRADA. España: Publicaciones Universidad de Alicante. Grassman, W. y Tremblay, J. (1997) Matemática discreta y lógica. España: Prentice-Hall. Johnsonbaugh, R. (2005) Matemáticas discretas. México: Pearson Prentice Hall. Kolman, B., Busby, R. y Ross, S. (1995) Estructuras de matemáticas discretas para computación. México: Prentice-Hall Hispanoamericana. Rosen, K. (2007) Discrete mathematics and its applications. USA: Mc. Graw-Hill. Vílchez, E. (2014) Estructuras discretas con Mathematica. México: Alfaomega. ESPECIFICACIONES GENERALES PARA LA REALIZACIÓN DE LAS PRUEBAS ESCRITAS Se debe presentar la cédula de identidad o su equivalente legal. Ningún estudiante debe abandonar el recinto de examen en los primeros treinta minutos de iniciada la prueba, ni entrar en él, pasados treinta 25 minutos. No se contestan preguntas durante la administración de la prueba, salvo que éstas sean de carácter general, en cuyo caso se aclararán en voz alta. Los exámenes pueden resolverse en lápiz (parcial o totalmente) pero aquellos estudiantes que así lo hicieran no tienen derecho a reclamo en la nota obtenida. Tampoco se tendrá derecho a reclamo sobre las partes del examen en las cuales se utilice corrector. Las pruebas parciales deben realizarse en un cuaderno de examen, sin utilizar hojas sueltas. No se permite el uso de teléfonos celulares o radiolocalizadores. Ningún estudiante puede abandonar el recinto de examen durante la administración de la prueba, salvo que haya finalizado su examen y desee entregarlo. HORAS DE ATENCIÓN AL ESTUDIANTE La atención a los estudiantes se realizará según la disponibilidad de cada profesor ó en acuerdo con los alumnos en casos especiales.