Ministerio de Cultura y Educación
Universidad Nacional de San Luis
Facultad de Ciencias Físico Matemáticas y Naturales
Departamento: Informatica
Área: Area de Formacion Inicial en Informatica
(Programa del año 2022)
I - Oferta Académica
Materia Carrera Plan Año Periodo
RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS ING. EN COMPUT. 28/12 2022 2° cuatrimestre
RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS ING. INFORM. 026/12- 08/15 2022 2° cuatrimestre
RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS PROF.CS.COMPUT. 02/16 2022 2° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
FERNANDEZ, JACQUELINE MYRIAM Prof. Responsable P.Adj Exc 40 Hs
ZUÑIGA, MARIELA ELISABETH Responsable de Práctico JTP Exc 40 Hs
MAGUIRE, MARGARITA Auxiliar de Práctico A.2da Simp 10 Hs
RODRIGUEZ COPA, GRACIELA BEATR Auxiliar de Práctico A.1ra Simp 10 Hs
VELA LUENGO, AGUSTIN Auxiliar de Práctico A.2da Simp 10 Hs
WELCH, DANIEL ALBERTO Auxiliar de Práctico A.1ra Exc 40 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
 Hs. 2 Hs. 3 Hs. 1 Hs. 6 Hs. 2º Cuatrimestre 08/08/2022 18/11/2022 15 90
IV - Fundamentación
La formación de un profesional en Ingeniería en Ciencias de la Computación, Ingeniería en Informática y del Profesorado en Cs. de la Computación requiere de un proceso inicial que favorezca el desarrollo del pensamiento computacional, como enfoque para la resolución de problemas, donde el pensamiento crítico es reforzado mediante conceptos computacionales para entender qué aspectos de un problema son aptos para ser resuelto aprovechando el poder de las computadoras y trabajar en pos de su solución.
Al mismo tiempo, surge la necesidad de dar al estudiante una formación sólida en el área de programación de computadoras y del procesamiento de datos, que será la base fundamental para profundizar en las materias más avanzadas en el aprendizaje y utilización de lenguajes de programación.
V - Objetivos / Resultados de Aprendizaje
Se pretende enfrentar al estudiante con la problemática de analizar y resolver problemas de carácter general y la transformación de los mismos en representaciones o modelos que serán resueltos por una computadora; al mismo tiempo que se desarrolla la conceptualización sobre los componentes fundamentales de la misma, de cómo éstos interactúan entre sí y de las características a tener en cuenta en la ejecución de los programas.
Al finalizar el curso, el estudiante debe ser capaz de:
- Interpretar, tomando como base los conocimientos previos y nuevos, la información (problema) y traducirla a nuevos contextos(programa).
- Aplicar el Pensamiento Computacional (Abstraer, Descomponer, Generalizar y Desarrollar algoritmos) para la resolución de problemas integrando el pensamiento crítico, la creatividad y el poder de las computadoras.
- Resolver problemas de tipo general trabajando la descomposición, la abstracción y el reconocimiento de patrones.
- Diseñar e Implementar algoritmos de solución a dichos problemas en forma computacional.
- Integrar diferentes herramientas para el análisis, diseño y codificación de las soluciones.
- Integrar conceptualmente los componentes fundamentales de una computadora con el proceso de resolución computacional.
- Interpretar adecuadamente los resultados obtenidos al ejecutar las soluciones definidas.
- Evaluar la factibilidad de las distintas alternativas o soluciones propuestas considerando las restricciones establecidas.
VI - Contenidos
Bolilla I: Arquitectura de las Computadoras.
Las partes de una computadora. Las partes Internas: Unidad Central de Proceso, Unidad de Memoria(Memoria Principal). Las partes Externas: Dispositivos Periféricos, Clasificación de los periféricos. Memoria Auxiliar. Procesadores y MicroProcesadores. Representación de los datos dentro de la computadora. Software de Base y de Aplicación. Concepto de Sistema Operativo.

Bolilla II: Introducción al Cálculo Proposicional
Proposiciones. Variables proposicionales. Funtores de verdad (a) Conectivos: Conjunción-Disyunción, Condicional, Bicondicional. (b) No-conectivos: Negación. Interpretación y Resolución de problemas lógicos.

Bolilla III: Resolución de Problemas.
Estrategia de resolución. Búsqueda de soluciones a problemas: inferencia, analogía, similitud entre problemas, detección de patrones, particularización y generalización. Abstracción de los Problemas. Modelización. Representación y estructuración de los problemas. Problemas de tipo computacional. Etapas de la Resolución de Problemas: El proceso de resolución según G. Polya. Descomposición en Acciones Básicas. Técnica del Refinamiento Sucesivo.

Bolilla IV: Algoritmos.
Concepto de algoritmo y programa. Algoritmos computacionales. Lenguajes algorítmicos gráficos y no gráficos. Lenguaje algorítmico no gráfico: Lenguaje del problema. Acciones. Estructuras de control: Secuencia, Condicional, Repetición o iteración. Lenguaje algorítmico gráfico: Diagrama de flujo.

Bolilla V: Desarrollo e Implementación de Algoritmos
Lenguaje de Diseño PSeInt. Datos: manipulación. Sintaxis de las acciones. Estructuras de control en Lenguaje de Diseño: Secuencia, Condicional, Repetición o iteración. Estructuración de los datos: concepto de Arreglo. Modularización de los problemas: concepto de Subalgoritmo, Función, Procedimiento. Pasaje de parámetros: por valor y por referencia.

Bolilla VI: Introducción al Cálculo de Predicados.
Funciones proposicionales. Cuantificadores. Alfabeto. Vocabulario. Lenguaje: fórmulas atómicas y fórmulas bien formadas. Variables Libres. Interpretación.

VII - Plan de Trabajos Prácticos
Las clases prácticas consistirán principalmente de la resolución de prácticos de aula, para que el estudiante pueda poner en práctica los conocimientos adquiridos y de un trabajo en laboratorio donde podrán comprobar, con la computadora si los algoritmos definidos cumplen con las restricciones del lenguaje y resuelven el problema planteado.
Competencias que se esperan desarrollar al terminar el curso:
- Resolver problemas.
- Análisis y síntesis.
- Integrar la teoría con la práctica.
- Generar nuevas ideas (creatividad).
- Desarrollar y/o fortalecer el Razonamiento crítico.
- Trabajar en equipo.
- Abstraer, concreción, concisión, razonar, reconocer patrones, generalizar, ser preciso.
- Comparar y verificar el valor de las evidencias al ejecutar las soluciones propuestas

Práctico Nº 1: La computadora: conceptualización.
Objetivos específicos: Poner en contacto al estudiante con la terminología específica, que identifique los principales componentes de una computadora y sus funciones y determine su influencia en el proceso de resolución computacional.
El práctico incluye ejercicios de reconocimiento de los principales componentes (monitor, teclado, impresora, etc.) y su clasificación según diferentes criterios (hardware y software, función que cumplen los periféricos de entrada, salida o de entrada/salida, memoria volátil y no volátil, etc.)

Práctico Nº 2: Introducción al Cálculo Proposicional
Objetivos específicos: Introducir al estudiante en el mundo de la Lógica a partir de su primer componente, el sintáctico, mediante el cual se podrán construir enunciados acerca de su entorno (real o imaginario).
El práctico resulta de la combinación de: ejercicios de interpretación de texto y su posterior especificación en forma simbólica, la interpretación en especificaciones en forma simbólica y su expresión en forma verbal, el uso de reglas de equivalencias, etc.

Práctico Nº 3: Resolución de Problemas. (Primera Parte)
Objetivos específicos: La Computadora es el medio y no es el fin para la resolución de problemas. La mayor dificultad radica en el propio proceso de resolver el problema (determinar un algoritmo) más que en escribir un programa en un lenguaje de programación. Se desea introducir al estudiante en el análisis de problemas computacionales, en el razonamiento y en la definición de la correspondiente solución algorítmica.
Esta primera parte estará destinada a trabajar con el estudiante el cómo razonar la posible solución de un problema determinado. Él deberá encontrar algoritmos que resuelvan problemas de orden general, partiendo de problemas cotidianos y simples (por ejemplo cambiar la rueda de un auto) hasta llegar a problemas computacionales más complejos.
Refinamiento Sucesivo. (Segunda Parte)
Objetivos específicos: Afianzar en el estudiante la capacidad de análisis de problemas para la determinación de una solución algorítmica. Para ello se desea profundizar en el proceso de análisis de problemas computacionales, la determinación de patrones, la generalización, la construcción de abstracciones, el razonamiento y posterior definición del correspondiente algoritmo a través de la aplicación de la Técnica de Refinamiento Sucesivo.
Esta segunda parte estará destinada a trabajar con el estudiante el cómo razonar una posible solución a un problema determinado. Deberá encontrar algoritmos que resuelvan problemas de orden general.

Práctico Nº 4: Desarrollo e Implementación de Algoritmos: Introducción al Lenguaje de Diseño PSeInt.
Objetivos específicos: Profundizar en el estudiante la capacidad de elaborar soluciones generales a diferentes clases de problemas e introducirlo en el manejo de una herramienta que ayude a complementar el proceso de resolución, en forma independiente de restricciones específicas (un procesador) y que facilite el entendimiento de conceptos fundamentales en el proceso de programar (variables, atributos de la variable, etc.). La construcción de la representación gráfica de los mismos (Diagramas de Flujo).
La práctica involucra actividad en el aula y de laboratorio. La práctica áulica consistirá en: codificar en Lenguaje de Diseño ejercicios puntuales de prácticos anteriores, desarrollar algoritmos de problemas nuevos para reforzar la metodología de trabajo planteada en el práctico anterior, representación gráfica de los algoritmos, detección de errores en algoritmos propuestos por el docente y su posterior corrección.
La práctica de laboratorio consistirá en introducir al estudiante en el manejo de un ambiente determinado que le permitirá, a partir de este momento, probar en una computadora si los algoritmos definidos cumplen con las restricciones del lenguaje y resuelven el problema planteado. Además, la realización de los diagramas de flujo de los algoritmos definidos en ejercicios anteriores. En el laboratorio se trabajará con herramientas que permite realizar los diagramas de flujo correspondientes a ciertos algoritmos.

Práctico Nº 5: Desarrollo e Implementación de Algoritmos: Conceptualización de Estructuración de Datos. Implementación en PSeInt.
Objetivos específicos: Introducir el concepto de manipulación colectiva de datos: estructuras de datos, sus características, ventajas de su uso y su implementación en Lenguaje de Diseño.
La práctica involucra actividad en el aula y de laboratorio. La práctica áulica consistirá en desarrollar nuevos algoritmos de problemas y su codificación en Lenguaje de Diseño, la detección de errores en algoritmos propuestos y su posterior corrección.
Para la resolución de los ejercicios se deberá aplicar la metodología de trabajo planteada a partir del Práctico 3 y la realización de los diagramas de flujos respectivos.
La práctica de laboratorio consistirá en probar, en computadora, si los algoritmos desarrollados en la práctica áulica cumplen con las restricciones del lenguaje y resuelven el problema planteado. En grupos, se comenzará con el desarrollo de un proyecto en el que se implementará una realidad determinada.

Práctico Nº 6: Desarrollo e Implementación de Algoritmos: Conceptualización de Modularización. Implementación en PSeInt.
Objetivos específicos: Introducir los conceptos de modularización, de Función, de Procedimiento, parámetros, pasaje de parámetros, ventajas de su uso y su implementación en Lenguaje de Diseño PSeInt.
La práctica áulica consistirá en desarrollar nuevos algoritmos de problemas y su codificación en Lenguaje de Diseño, detección de errores en algoritmos propuestos y su posterior corrección. Para la resolución de los ejercicios se deberá aplicar la metodología de trabajo planteada a partir del práctico 3 y la realización de los diagramas de flujos respectivos.
La práctica de laboratorio consistirá en continuar con el llevar adelante el proyecto del trabajo grupal.

Práctico Nº 7: Introducción al Cálculo de Predicados.
Objetivos específicos: Introducir los conceptos referentes al Cálculo de Predicados, lo cual no es más que una extensión del Cálculo Proposicional. Se pretende poner en contacto al alumno con un lenguaje formal, acotado y más limitado que el lenguaje natural, mediante el cual es posible expresar enunciados (simples o compuestos) con los que se denotarán relaciones (predicados) existentes entre los diferentes objetos (y sus atributos) de un dominio determinado.
El práctico resulta de la combinación de ejercicios de interpretación de texto y su posterior especificación en forma simbólica, la interpretación de especificaciones en forma simbólica y su expresión en forma verbal, el uso de reglas de equivalencias y la aplicación de la lógica de predicados en el análisis de enunciados y de algoritmos realizados en prácticos anteriores

VIII - Regimen de Aprobación
La materia se divide en 3 ejes temáticos: Lógica, Resolución de Problemas y Diseño de Algoritmos. La asistencia a las clases prácticas, los cuestionarios y el trabajo en clase también serán considerados como elementos de evaluación. Las evaluaciones parciales serán de tipo teórico-prácticas. Se tomaran 2 evaluaciones parciales. Por cada parcial se tomarán 2 recuperaciones. Se utilizará el entorno LMS Moodle como repositorio de todo el material de estudio del que dispondrán los estudiantes, para proponer actividades obligatorias y como canal de comunicación. Se dispondrá de otros canales de comunicación (como grupo en la plataforma Telegram) que favorezcan la contención de los estudiantes.

Régimen de Promoción
- Asistencia al 80% del total de las actividades a realizar. No incluye las clases teóricas.
- Aprobar los cuestionarios que se toman al inicio de cada tema.
- Aprobar cada una de las dos evaluaciones parciales o su respectiva primer recuperación, con un 80% o más.
- Aprobar una evaluación adicional teórica-práctica en carácter de integración, a fin de cuatrimestre, la cual se debe aprobar con un 80% o más.
- Si un estudiante que ha aprobado una evaluación parcial desea rendir la correspondiente primera recuperación para optar por la promoción y mejorar la nota, se considerará la última nota obtenida.
La nota final resultará del promedio de todas las notas obtenidas en todas las evaluaciones realizadas y no podrá ser menor a 7.

Régimen de Regularización
- Asistencia al 70% del total de las actividades a realizar. No incluye las clases teóricas.
- Aprobar los cuestionarios que se toman al inicio de cada tema.
- Aprobar 2 evaluaciones parciales, o sus respectivas recuperaciones con un mínimo del 70%.
- Los estudiantes que hayan cumplido con los requisitos anteriormente citados podrán presentarse a rendir examen final en cualquiera de los turnos establecidos por la reglamentación de facultad.

Régimen de Alumnos Libres
Dada la necesidad de un constante seguimiento del estudiante en clase, la materia no se puede rendir en calidad de libre.
IX - Bibliografía Básica
[1] Material de estudio del curso. http://www.dirinfo.unsl.edu.ar)
[2] “Fundamentos de Algoritmia”, Brassard, Gilles y Bratley, Paul, Prentice Hall, 1a. edición, 2000, ISBN: 84-89660-00-X, Ubicación en Biblioteca: 004.021.B823f
[3] "Cómo plantear y resolver problemas", G. Polya, Editorial Trillas, ISBN-10 968-24-00643, ISBN-13 978-9682400643, 2011.
[4] “Lógica simbólica y elementos de metodología de la ciencia”, Gianella de Salama, Alicia; Roulet, Margarita - Publicación Buenos Aires: El Ateneo , 1996.
[5] "Introducción a la Computación", Andrés Gómez de Silva Garza, Ignacio de Jesús Ania Briseño - Editorial Cengage Learning, ISBN-13: 978-970-686-768-1, 2008, Ubicación en Biblioteca: 004.I61. (Nº inventario 85884).
[6] “Organización y Arquitectura de Computadores - Diseño para optimizar prestaciones” – William Stallings - Prentice Hall -5ta Edición - ISBN: 84-205-2993-1, 2004.
[7] “Introducción a la Informática”, Prieto Espinosa, Alberto, LLoris Ruiz, Antonio – Torres Cantero, Juan Carlos. McGraw-Hill Interamericana de España; 3ra Edición. ISBN: 8448132173, 2001.
[8] “Lógica Computacional”, Paniagua Arís, Enrique, Sánches Gonzalez, Juan Luis, Rubio, Fernando Martín. Thomson; ISBN: 8497321820, 2003.
[9] PSeInt (http://pseint.sourceforge.net)
[10] “Algoritmos + Estructuras de Datos = Programas”, N. Wirth, Ed. Dossat - ISBN: 8421901729, 1999.
[11] “Peter Norton's New Inside the PC”, Peter Norton, Ed. Sams, ISBN 0672322897, 2002.
X - Bibliografia Complementaria
[1] “Puzzle-based Learning: Introduction to critical thinking, mathematics, and problem solving”, Z. Michalewicz y M. Michalewicz, (Paperback). Hybrid Publishers; 1ra Edición (21 de Mayo, 2008).
[2] "Problem Solving & Computer Programming", P. Grogono y S. Nelson, Addison-Wesley Publishing Company - ISBN 0-201-02460-8, 1982.
[3] "Algorithmic Problem Solving", R. Backhouse, Wiley, ISBN: 978-0-470-68453-5, 2011.
[4] "Computational Thinking For The Modern Problem Solver" D. Riley y K. Hunt, CRC Press - ISBN: 978-1-4665-8777-9, 2014.
[5] “Introduction to Mathematical Logic, Third Edition”, Elliott Mendelson - Van Nostrand Reinhold Company - ISBN-10:0534066240, ISBN-13: 978-0534066246, 1987.
[6] “Structured Programming”, O.-J. Dahl, E. W. Dijkstra, C. A. R. Hoare, Academic Press, London, ISBN 0-12-200550-3,1972.
XI - Resumen de Objetivos
Desarrollar en el estudiante las capacidades de:

-Resolver problemas.
-Diseñar e Implementar algoritmos de solución a problemas en forma computacional.
-Usar diferentes herramientas para el análisis, diseño y codificación de las soluciones.
-Evaluar
XII - Resumen del Programa
Bolilla I: Arquitectura de las Computadoras.
Bolilla II: Introducción a la Lógica Proposicional
Bolilla III: Resolución de Problemas
Bolilla IV: Algoritmos.
Bolilla V: Desarrollo e Implementación de Algoritmos
Bolilla VI: Introducción al Cálculo de Predicados
XIII - Imprevistos
El seguimiento continuo de los estudiantes se realiza a través de reuniones periódicas, entrega de ejercicios prácticos resueltos, trabajo colaborativo con herramientas google, grupo de whatsapp o Telegram.
El régimen de evaluaciones se adaptará acorde a las circunstancias.
Mail de Contacto: rpyaunsl@gmail.com
Página: http://dirinfo.unsl.edu.ar/servicios
XIV - Otros