Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Universidad Veracruzana Facultad de Estadística e Informática Maestría en Ingeniería de Software Matemáticas Discretas Elaboró: Juan Manuel Fernández Peña (original, revisión) María de los Ángeles Sumano López (revisión) Datos generales Semestre:: Primero Horas por semana: 3 Créditos: 6 Primera versión 1/06/2005 Última actualización: 21/07/2006 I. Presentación general El desarrollo de software, tanto en sus aspectos técnicos de análisis, diseño y prueba, como en sus aspectos administrativos, tienen un fundamento muy importante sobre conceptos de matemáticas discretas, tales como Conjuntos, Lógica Proposicional, Grafos y Máquinas de estados finitos. Además, la capacidad de abstracción y modelado, fundamentales en el desarrollo de software, se desarrollan mejor sobre una base matemática. II. Metodología de trabajo Se llevará a cabo exposiciones por parte del docente de algunos temas. Se repartirán algunos temas a los alumnos y ellos las expondrán. Se realizarán ejercicios de los aspectos más importantes, buscando ilustrar los conceptos con problemas reales de Ingeniería de Software. Se dejarán ejercicios para hacer en casa, tanto demostraciones como de tipo aplicado. III. Objetivos generales Al terminar el curso el alumno será capaz de abstraer y modelar situaciones relacionadas con el software empleando conceptos de Conjuntos, Lógica proposicional, Relaciones, Grafos y Máquinas de estados finitos. IV. Contenidos temáticos Temas y Subtemas Número de horas 1. Conjuntos, Relaciones y Funciones 12 1.1. Conceptos básicos de Conjuntos 1.2. .Demostraciones empleando conjuntos 1.3. Relaciones. Relaciones de orden parcial. 1.4. Funciones. Concepto de Composición de funciones. 2. Cálculo proposicional 6 2.1. Objetivos y conceptos básicos 2.2. Representación de situaciones típicas del software. 3. Teoría de grafos 15 3.1. Conceptos básicos 3.2. Caminos. 3.3. Grafos conexos 3.4. Redes 3.5. Árboles 3.6. Abstracción y modelado de situaciones típicas del desarrollo de software Universidad Veracruzana Facultad de Estadística e Informática Maestría en Ingeniería de Software 4. Máquinas de estados finitos 12 4.1. .Conceptos básicos 4.2. Introducción a Gramáticas y Lenguajes Formales 4.3. Diseño de máquinas de estados finitos 4.4. Análisis y simplificación de máquinas de estados finitos 4.5. Aplicación a problemas típicos del desarrollo de software V. Evaluación del aprendizaje Concepto Porcentaje Se considerará la investigación y presentación de temas que le tocó exponer. 20 Se aplicarán dos exámenes escritos que comprendan todo lo visto en clase antes de la aplicación del examen. 30 Se tomará en cuenta la solución de problemas propuestos por el docente y la participación en clase. 20 Se tomarán en cuenta las tareas. 30 VI. Bibliografía básica y complementaria Arnold, A. Finite transition systems, Prentice Hall, 1994 C Drusinsky, D. and Harel, D. On the power of bounded concurrency I: finite automata Journal of ACM 41(3):517-539, may 1994 C Harel,D. and EGery Executable object modeling with statecharts., IEEE Computer 30(7):31-42, july 1997 C Linz, P. Introduction to formal languages and autómata.,Tirad edition, Jones and Bartlett Pub., 2000 C Woodcock, Jim and Martin Loomes Software Engineering Mathematics, Addison-Wesley Publishing Company B Dean, Neville The essence of discrete mathematics, Prentice Hall, 1997 B Mandrioli, Dino and Carlo Ghezzi Theoretical foundations of computer science, Wiley, NY 1987 C Bender, Edward A. and S. Gill Williamson A short course in discrete mathematics, Dover, NY 2003 C Rosen, K. Handbook of discrete and combinatorial mathematics, CRC Press, 2000 C Tremblay, JP and R. Manohar Matemáticas discretas con aplicación a las de la computación., CECSA, 1996 (segunda reimpresión 2000) C
Compartir