Ministerio de Cultura y Educación Universidad Nacional de San Luis Facultad de Ciencias Físico Matemáticas y Naturales Departamento: Informatica Área: Area V: Automatas y Lenguajes |
I - Oferta Académica | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
II - Equipo Docente | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
III - Características del Curso | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
IV - Fundamentación |
---|
Esta materia, por ser la primera específica de la carrera, brinda los fundamentos básicos, requeridos por las posteriores materias de Programación, esencialmente apunta a que los estudiantes desarrollen estrategias de resolución de problemas usando estructuras algorítmicas para la expresión de las soluciones.
|
V - Objetivos / Resultados de Aprendizaje |
---|
Desarrollar en el alumno la capacidad de resolver distintos tipos de problemas expresando su solución en forma algorítmica. Desarrollar en el alumno la capacidad de diseñar algoritmos utilizando un lenguaje de diseño de algoritmos. Introducir al alumno en conceptos formales de verificación algoritmos.
|
VI - Contenidos |
---|
BOLILLA 1: LÓGICA PROPOSICIONAL
El lenguaje de las proposiciones: Alfabeto y sintaxis de las fórmulas bien formadas. Construcción de enunciados. Conjunto de significados. Equivalencia lógica. BOLILLA 2: RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS Problemas, modelos y abstracciones. Algunos conceptos sobre Aprendizaje Basado en Resolución de Acertijos. Representación de problemas. Pasos en el proceso de resolución de problemas. Resolución de problemas y Computadoras: Formulación del problema, diseño de algoritmos, codificación y ejecución. Metodología de refinamiento por pasos sucesivos. BOLILLA 3: LENGUAJE DE DISEÑO DE ALGORITMOS. Formalización del concepto de algoritmo: formalización del ambiente de un problema. Transformación del ambiente. Objetos constantes y objetos variables. Tipos de datos primitivos. Expresiones. Asignación. Estructuras de control: secuencia, condicional, iteraciones. BOLILLA 4: LENGUAJE DE DISEÑO DE ALGORITMOS Y ESTRUCTURAS DE DATOS Definición de estructura de datos. Arreglos lineales. Operaciones sobre arreglos lineales. BOLILLA 5: LENGUAJE DE DISEÑO DE ALGORITMOS Y SUBALGORITMOS Definición de subalgoritmos. Ambiente de un subalgoritmo. Parámetros de un subalgoritmo. Invocación de subalgoritmos. BOLILLA 6: LÓGICA DE PREDICADOS Limitaciones de la Lógica Proposicional. Lenguaje de Predicados: alfabeto, términos y predicados. Objetos y conjuntos de objetos. BOLILLA 7: INTRODUCCIÓN A LA VERIFICACION DE ALGORITMOS Especificación de algoritmos. Pre/Post condiciones. Verificación de Algoritmos. Reglas básicas de verificación. Reglas específicas: asignación simple, composición secuencial, alternativa e iterativa. |
VII - Plan de Trabajos Prácticos |
---|
El plan de trabajos prácticos de aula consiste en la realización ejercicios de tipo lápiz y papel. Además, si corresponde, se incluyen ejercicios de laboratorio, los cuales son resueltos utilizando PSeInt. Ésta es una herramienta para aprender la lógica de programación, orientada a estudiantes sin experiencia en dicha área.
La metodología seguida en todos los prácticos consiste en la realización de un porcentaje de prácticos bajo la supervisión de los ayudantes y el resto como tarea fuera de clase. Para el seguimiento de las actividades de los alumnos, se requiere la presentación de un conjunto de ejercicios de cada práctico los cuales son evaluados para realizar una devolución por parte de los ayudantes. Práctico 1: LÓGICA PROPOSICIONAL Realización de ejercicios destinados a entender el lenguaje formal de la lógica proposicional. Se incluyen expresiones del lenguaje natural para ser expresadas en el lenguaje de las proposiciones, evaluación de fórmulas bien formadas y demostración de equivalencia vía tablas de valores de verdad. Práctico 2: RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS Se plantean aquí problemas de resolución de acertijos con el objeto de promover en el alumno la capacidad para interpretar enunciados y proponer soluciones alternativas. Se incluyen ejercicios cuya solución asemeje a la especificación informal de pasos algorítmicos. Práctico 3: LENGUAJE DE DISEÑO DE ALGORITMOS. Se busca profundizar en la escritura de expresiones del lenguaje de diseño, analizando sintaxis y significado. Se hace hincapié en la traducción de enunciados en lenguaje natural a expresiones aritméticas, lógicas y relacionales. Práctico 4: SELECCIÓN Diseño de algoritmos que incluyan el uso de la sentencia condicional del Lenguaje de Diseño de manera integrada con los conceptos vistos en prácticos previos. Práctico 5: ITERACIÓN Diseño de algoritmos que incluyan el uso de la sentencia de iteración del Lenguaje de Diseño de manera integrada con los conceptos vistos en prácticos previos. Práctico 6: ESTRUCTURAS DE DATOS Se incrementa la complejidad de los algoritmos a resolver a través del uso de estructuras de datos lineales (arreglos). Práctico 7: SUBALGORITMOS Se planea aquí el diseño de algoritmos de mayor complejidad haciendo hincapié en la modularización de un algoritmo de mayor envergadura. Los conceptos de parámetros formales, actuales e invocaciones a subalgoritmos son ampliamente usados en este práctico. Práctico 8: LÓGICA DE PREDICADOS Realización de ejercicios destinados a entender el lenguaje formal de la lógica de predicados. Se incluyen ejercicios donde se debe identificar variables, constantes, conjunto de funciones y predicados, conectivas y cuantificadores. Representación de conocimiento a través de fórmulas bien formadas. Descripción del ámbito de los cuantificadores identificando variables ligadas y libres. Evaluación de fórmulas bien formadas considerando diferentes interpretaciones. Práctico 9: VERIFICACIÓN DE ALGORITMOS Este práctico tiene por objeto la aplicación de concepto introductorio de verificación de algoritmos. Para ello, se incluyen ejercicios de formulación de predicados, uso de predicados en la etapa de especificación y verificación de algoritmos. |
VIII - Regimen de Aprobación |
---|
Los alumnos podrán promocionar o regularizar la materia, contando para ello con una asistencia, a los prácticos, de al menos el 80%, según los siguientes regimenes:
F.1. Régimen para alumnos promocionales Para poder promocionar la materia los alumnos deberán: 1. Presentar el 80% de los ejercicios prácticos y/o preguntas requeridas por los docentes y 2. Aprobar los dos parciales o su respectiva recuperación con nota 7 o superior en cada uno. 3. Aquellos alumnos que han presentado, en tiempo y forma, el comprobante de trabajo, contarán con una recuperación extra integradora, la cual deberá ser aprobada con nota 7 o superior. 4. En todos los casos la nota final provendrá del promedio de las notas obtenidas en los parciales y/o recuperaciones aprobadas. F.2. Régimen para alumnos regulares Para poder regularizar la materia los alumnos deberán: 1. Presentar el 80% de los ejercicios prácticos y/o preguntas requeridas por los docentes y el práctico de laboratorio, y 2. Aprobar los dos parciales o su respectiva recuperación con nota menor que 7 pero superior o igual a 6. 3. Aquellos alumnos que han presentado, en tiempo y forma, el comprobante de trabajo, contarán con una recuperación extra integradora, la cual deberá ser aprobada con nota menor que 7 pero superior o igual a 6. F.3. Régimen de alumnos libres Los alumnos que no cumplen con los requisitos del régimen promocional o regular podrán rendir la materia como alumnos libres. Para ello deberán entregar un práctico de laboratorio, rendir un examen escrito sobre temas teóricos y prácticos, siendo obligatoria la aprobación de la parte práctica para considerar la parte teórica. |
IX - Bibliografía Básica |
---|
[1] - M.J. Abásolo, F. Guerrero y J. Perales López; Introducción a la Programación, Colección materiales didácticos, Universidad de las Islas Baleares, 2011.
[2] - E.P. Arís, J. L. Sánchez González y F. M. Rubio, Lógica Computacional, Thomson Editores, España, 2003. [3] - G. Polya, Cómo plantear y resolver problemas, Editorial Trillas, México, 1970. [4] - S. Braustein y A. Gioia, Introducción a la Programación y a las Estructuras de Datos, Eudeba, Argentina, 1986. [5] - Z. Michalewicz y M. Michalewicz, Puzzle Based Learning: Introduction to critical thinking, mathematics, and problem solving; Hybrid Publishers, 2008. [6] - J.J. Garcia Molina, J. Fernandez Aleman, M.J. Majado Rosales y J. Montoya Dato Francisco, Una Introducción a la Programación - Un Enfoque Algorítmico, Editorial: PARANINFO, 2005. [7] - E. Paniagua Arís. J.L. Sánchez González y F. Martícn Rubio, Lógica Computacional, Thomson Editores España - Paraninfo, 2003. [8] - A.G Hamilton, Lógica para Matemáticos, Paraninfo, Madrid, 1981. [9] - Apuntes de la Asignatura. [10] - PSeInt. Facultad de Ingeniería y Ciencias Hídricas de la Universidad Nacional del Litoral. http://pseint.sourceforge.net/ |
X - Bibliografia Complementaria |
---|
[1]
|
XI - Resumen de Objetivos |
---|
Desarrollar en el alumno la capacidad de resolver distintos tipos de problemas expresando su solución en forma algorítmica. Desarrollar en el alumno la capacidad de diseñar algoritmos utilizando un lenguaje de diseño de algoritmos. Introducir al alumno en conceptos formales de verificación algoritmos.
|
XII - Resumen del Programa |
---|
BOLILLA 1: LOGICA PROPOSICIONAL.
BOLILLA 2: RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS. Interpretación de enunciados. Resolución de problemas tipo acertijo. BOLILLA 3: LENGUAJE DE DISEÑO DE ALGORITMOS. Conceptos básicos. Expresiones. Asignación. Estructuras de control: secuencia, selección e iteración. BOLILLA 4: LENGUAJE DE DISEÑO DE ALGORITMOS Y ESTRUCTURAS DE DATOS. Arreglos lineales. BOLILLA 5: LENGUAJE DE DISEÑO DE ALGORITMOS Y SUBALGORITMOS. Modularización, parametrización, definición e invocación. BOLILLA 6: LOGICA DE PREDICADOS. BOLILLA 7: VERIFICACIÓN DE ALGORITMOS. Especificación y verificación de algoritmos. |
XIII - Imprevistos |
---|
|
XIV - Otros |
---|
|