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
(Programa del año 2013)
(Programa en trámite de aprobación)
(Programa presentado el 24/06/2013 10:44:49)
I - Oferta Académica
Materia Carrera Plan Año Periodo
INTRODUCCION A LA COMPUTACION LIC.CS.COMP. 32/12 2013 1° cuatrimestre
INTRODUCCION A LA COMPUTACION PROF.CS.COMPUT. 06/09 2013 1° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
ESQUIVEL, SUSANA CECILIA Prof. Co-Responsable P.Tit. Exc 40 Hs
LEGUIZAMON, MARIO GUILLERMO Prof. Co-Responsable P.Adj Exc 40 Hs
ARAGON, VICTORIA SOLEDAD Responsable de Práctico JTP Exc 40 Hs
DORZAN, MARIA GISELA Responsable de Práctico JTP Exc 40 Hs
GATICA, CLAUDIA RUTH Auxiliar de Práctico A.1ra Semi 20 Hs
III - Características del Curso
Credito Horario Semanal Tipificación Duración
Teórico/Práctico Teóricas Prácticas de Aula Práct. de lab/ camp/ Resid/ PIP, etc. Total B - Teoria con prácticas de aula y laboratorio Desde Hasta Cantidad de Semanas Cantidad en Horas
Periodo
8 Hs. 2 Hs. 4 Hs. 2 Hs. 8 Hs. 1º Cuatrimestre 14/03/2013 19/06/2013 15 120
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