Ministerio de Cultura y Educación
Universidad Nacional de San Luis
Facultad de Ciencias Físico Matemáticas y Naturales
Departamento: Informatica
Área: Area III: Servicios
(Programa del año 2024)
(Programa en trámite de aprobación)
(Programa presentado el 06/05/2024 10:35:10)
I - Oferta Académica
Materia Carrera Plan Año Periodo
FUNDAMENTOS DE LA PROGRAMACIÓN ING.EN MINAS OCD-3-11/23 2024 1° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
ROSAS, MARIA VERONICA Prof. Responsable P.Adj Exc 40 Hs
ZUÑIGA, MARIELA ELISABETH Responsable de Práctico JTP 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
2 Hs.  Hs. 2 Hs.  Hs. 4 Hs. 1º Cuatrimestre 11/03/2024 21/06/2024 15 60
IV - Fundamentación
En el marco de la Ingeniería en Minas, la materia se presenta como esencial y básica para desarrollar en los estudiantes habilidades fundamentales en el ámbito de la tecnología de la información. Los contenidos de la materia favorecen 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. Se emplean situaciones problemáticas reales para promover el aprendizaje práctico, y se utilizan diversas estrategias de resolución para desarrollar implementaciones que cumplan con las especificaciones establecidas. En este sentido, se debe tener en cuenta a la programación como un conocimiento relevante para abordar los desafíos tecnológicos y de innovación en la industria minera, así como para contribuir al desarrollo de soluciones eficientes y efectivas en el ámbito de la optimización de procesos, gestión de recursos y análisis de datos, entre otros aspectos.
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 estos interactúan entre sí y de las características a tener en cuenta en la ejecución de algoritmos.

EJES TRANSVERSALES, SU ABORDAJE Y APLICACIÓN

EJE 1: Identificación, formulación y resolución de problemas de ingeniería en minas.
La formulación de algoritmos y representación de estructuras de datos durante la materia prepara a los estudiantes para abordar los desafíos específicos de la ingeniería en minas, como la planificación, control y representación de datos relacionados con la minería.
La aplicación práctica de los conceptos de programación en la resolución de problemas proporciona a los estudiantes herramientas efectivas para diseñar y desarrollar soluciones innovadoras en áreas como la monitorización de la seguridad minera y la optimización de la logística de transporte de minerales.

EJE 4: Utilización de técnicas y herramientas de aplicación en ingeniería en minas.
La materia proporciona a los estudiantes de ingeniería en minas habilidades y herramientas intuitivas y sencillas para desarrollar software especializado en el análisis y procesamiento de datos geológicos y mineros, que permiten luego un aprendizaje autonómo y más especializado. La aplicación de técnicas de programación permite luego su replicación en la solución de problemas ingenieriles más complejos.

EJE 7: Fundamentos para una comunicación efectiva.
El estudio de los fundamentos de la programación fortalece la capacidad para comunicar de manera efectiva conceptos técnicos y soluciones informáticas a través de la escritura clara y la documentación detallada de código.
La escritura de soluciones a problemas mediante algoritmos incluye el desarrollo de habilidades para dar solución de manera lógica y estructurada, lo que contribuye a una comunicación más efectiva entre los ingenieros en minas al discutir estrategias de solución y analizar resultados. Así como también, facilitar la colaboración en proyectos interdisciplinarios de ingeniería.

Los ejes 1, 4 y 7 se evaluarán en forma continua durante la cursada.

Al finalizar la materia, el estudiante debe ser capaz de:
- Interpretar claramente los objetivos del problema y poder resolverlos, es decir, identificar las posibles restricciones o condiciones que deben ser consideradas en la resolución del problema.
- Reconocer, tomando como base los conocimientos previos y nuevos, los datos ingresados del problema y traducirlos a información relevante al procesarlos.
- Aplicar habilidades de 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.
- Diseñar e implementar algoritmos y su posterior representación textual en pseudocódigo y gráfica en diagrama de flujo para la resolución del problema computacionales.
- Evaluar la factibilidad de las distintas alternativas o soluciones propuestas considerando las restricciones establecidas.
- Interpretar adecuadamente los resultados obtenidos al ejecutar las soluciones definidas.
VI - Contenidos
Bolilla 1: Resolución de Problemas.
Estrategia de resolución. 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 2: 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 3: Lenguaje de Diseño de Algoritmos: introducción.
Lenguaje de Diseño PSeInt. Tipos de Datos, Operaciones, Expresiones y Entrada y Salida de Datos. Sintaxis de las acciones. Estructuras de control: Secuencia, Condicional, Repetición o iteración. Pautas para seleccionar la estructura repetitiva más adecuada. Anidamiento de estructuras de control.

Bolilla 4: Lenguaje de Diseño de Algoritmos: estructuración de datos.
Definición de estructura de datos. Tipo de datos estructurados versus tipos de datos simples. Concepto de arreglo lineal. Índice y componentes. Operaciones sobre arreglos lineales: asignación, recuperación y recorrido.

Bolilla 5: Lenguaje de Diseño de Algoritmos: Modularización.
Definición de subalgoritmos. Ambiente de un subalgoritmo. Funciones y procedimientos. Parámetros actuales y formales. Tipo de pasaje de parámetros. Invocación a subalgoritmos.

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 3: Resolución de Problemas y Algoritmos.
Objetivos:
-Lograr que el estudiante sea capaz de interpretar claramente los objetivos del problema y poder resolverlo, es decir, identificar las posibles restricciones o condiciones que deben ser consideradas en la resolución.
-Lograr que el estudiante sea capaz de aplicar una adecuada metodología de trabajo para la resolución de los problemas, introduciendo diferentes estrategias para resolverlos.
-Lograr que el estudiante sea capaz de crear modelos y abstracciones de problemas de la vida cotidiana. Dado un problema que pueda identificar los datos de entrada y los datos de salida como así también las restricciones del mismo.
-Lograr que el estudiante sea capaz de descomponer problemas complejos en tareas más sencillas con el objeto de resolver el problema (refinamientos sucesivos).
El práctico abarca ejercicios que plantean diferentes problemas computacionales y no computacionales presentes en el mundo real, los cuales deben ser resueltos aplicando la metodología propuesta de resolución de problemas: analizar el problema, diseñar una solución, ejecutar el plan, mirar hacia atrás. La construcción de la representación gráfica de la solución planteada.

Práctico 4: Lenguaje de Diseño de Algoritmos PSeInt.
Objetivos específicos:
-Desarrollar en el estudiante la capacidad de elaborar soluciones generales a diferentes clases de problemas.
-Desarrollar en el estudiante la habilidad en el buen manejo de una herramienta que ayude a complementar el proceso de resolución, en forma independiente de restricciones específicas y que facilite el entendimiento de conceptos fundamentales en el proceso de programar (variables, atributos de la variable, etc.).
-Lograr que el estudiante sea capaz de construir la representación gráfica de soluciones planteadas.
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 5: Lenguaje de Diseño de Algoritmos PSeInt: estructuración de datos.
Objetivos específicos:
-Introducir a los estudiantes en el concepto de manipulación colectiva de datos: estructuras de datos, sus características, ventajas de su uso e implementación de arreglos 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.

Práctico 6: Lenguaje de Diseño de Algoritmos PSeInt: modularización.
Objetivos específicos:
-Determinar la necesidad de implementar el concepto de modularización en la resolución de problemas planteados.
-Reconocer la utilidad de subalgoritmos en lenguaje de diseño.
-Realizar ejecuciones teniendo en cuenta el ambiente o ámbito de un subalgoritmo.
-Diferenciar parámetros actuales y formales.
-Implementar correctamente el lenguaje de diseño, las invocaciones a subalgoritmos.
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.
VIII - Regimen de Aprobación
Régimen de Promoción.
- Asistencia al 80% o más de las clases.
- Aprobar eL parcial con un 80% o más.
- Aprobar todos los parcialitos con nota 6 o más.
- Aprobar una evaluación final integradora de promoción con un 80% o más.
La nota final resultará de la nota obtenida en la evaluación final y no podrá ser menor a 7.

Régimen de Regularización.
- Asistencia al 70% o más de las clases.
- Aprobar eL parcial con un 70% o más.
- Aprobar todos los parcialitos con nota 6 o más.

- Los estudiantes que hayan cumplido con los requisitos anteriormente citados podrán presentarse a rendir examen final oral o escrito 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] "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).
[5] "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.
[6] PSeInt (http://pseint.sourceforge.net)
[7] "Algoritmos + Estructuras de Datos = Programas", N. Wirth, Ed. Dossat - ISBN: 8421901729, 1999.
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] "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 diseño y codificación de las soluciones.
-Evaluar y analizar la viabilidad de las soluciones planteadas.
XII - Resumen del Programa
Bolilla 1: Resolución de Problemas.

Bolilla 2: Algoritmos.

Bolilla 3: Lenguaje de Diseño de Algoritmos: introducción.

Bolilla 4: Lenguaje de Diseño de Algoritmos: estructuración de datos.

Bolilla 5: Lenguaje de Diseño de Algoritmos: Modularización.
XIII - Imprevistos
 
XIV - Otros