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 2023)
I - Oferta Académica
Materia Carrera Plan Año Periodo
FUNDAMENTOS DE LA INFORMATICA ING.ELECT.O.S.D 010/05 2023 1° cuatrimestre
INTRODUCCION A LA PROGRAMACION PROF.TECN.ELECT 005/09 2023 1° cuatrimestre
FUNDAMENTOS DE LA INFORMATICA ING.ELECT.O.S.D 13/08 2023 1° cuatrimestre
FUNDAMENTOS DE INFORMATICA TFA 04/14 2023 1° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
FERNANDEZ, JACQUELINE MYRIAM Prof. Responsable P.Adj Exc 40 Hs
ARELLANO, NORMA MYRIAM Responsable de Práctico JTP Exc 40 Hs
WELCH, DANIEL ALBERTO Responsable de Práctico A.1ra Exc 40 Hs
HERRERA, JESUS WALTER Auxiliar de Práctico A.2da Simp 10 Hs
JOFRE PASINETTI, LUIS NICOLAS 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. 4 Hs. 1 Hs. 7 Hs. 1º Cuatrimestre 13/03/2023 24/06/2023 15 105
IV - Fundamentación
La resolución de problemas mediante la programación es un proceso complejo en el cual intervienen técnicas con diferente grado de formalismo. Se requiere de un proceso inicial que promueva en cada estudiante actividades vinculadas a la resolución de problemas de diferentes características cuya solución, en principio, pueda ser expresada de una manera flexible, apelando a metodologías tales como el Aprendizaje Basado en Resolución de Problemas.
La formación de un profesional en Ingeniería en Electrónica con OSD y del Profesorado en Tecnología Electrónica 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.
Se pretende introducir al estudiantado en la problemática de analizar y resolver problemas de carácter general y la transformación de los mismos para, posteriormente, poder ser resueltos por una computadora. Al mismo tiempo que se introduce al estudiante en relación a las componentes fundamentales de una computadora y de cómo éstas interactúan entre sí, se plantea la necesidad de definir soluciones siguiendo un enfoque lógico y algorítmico que favorecerá el desarrollo de una formación sólida en el área de programación de computadoras.
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/la 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.
Hardware. Las partes de una computadora. Componentes Internos Principales: Unidad Central de Proceso, unidad de Memoria. Componentes Externos: Dispositivos Periféricos; Clasificación de los periféricos: Periféricos de Entrada, Periféricos de Salida y Periféricos de Entrada/Salida. Memoria Auxiliar. Procesadores y MicroProcesadores.
Software. La información (datos) dentro de la computadora. Software de base. Software de aplicación. El Sistema Operativo. Tipos de sistemas operativos

Bolilla II: Introducción a la Lógica Proposicional.
Proposiciones. Funciones proposicionales. Variables proposicionales. Funtores de verdad (a) Conectivos: Conjunción, Disjunción (Inclusiva y Exclusiva), Condicional, Bicondicional. b) Noconectivos: Negación. Interpretación y Resolución de problemas lógicos. Algebra de Boole. Circuitos Lógicos: Conceptos básicos.

Bolilla III: Resolución de Problemas.
Estrategia de resolució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. Descomposición en Acciones Básicas. Técnica del Refinamiento Sucesivo.

Bolilla IV: Algoritmos.
Conceptos de Algoritmo y Programa. Características de los Algoritmos. Lenguajes algorítmicos gráficos y no gráficos. Lenguaje algorítmico no gráfico: Lenguaje del problema. Acciones y Estructuras de control de las acciones: Secuencia, Condicional, Repetición o iteración. Datos. Tipos de datos. Concepto de variable. Lenguaje algorítmico gráfico: Diagrama de flujo.

Bolilla V: Lenguaje de Programación "C".
Acciones y descripción de datos. Datos: declaración. Constantes, variables, tipos de datos primitivos: entero, flotante y caracter. Sentencia de asignación, Estructuras de control de las acciones: Secuencia, Condicional, Repetición o iteración en C.

Bolilla VI: Estructuración de datos y su implementación en el Lenguaje "C".
Concepto de estructura de datos. Tipos de estructuras: enlazadas, contiguas, estáticas, dinámicas, unidimensionales, bidimensionales y multidimensionales. Particularidades de almacenamiento de Datos. Arreglos. Características. Declaración. Usos.

Bolilla VII: Modularización y su implementación en el Lenguaje "C".
Conceptualización de Modularización. Concepto de Función, declaración, invocación, parámetros. Pasaje de parámetros. Uso de las funciones.

VII - Plan de Trabajos Prácticos
Práctico Nº 1: Familiarización con el equipo.

Objetivos específicos: Poner en contacto al alumno con la terminología específica, que identifique los principales componentes de una computadora y sus funciones, y determine su influencia en la resolución de problemas de índole 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, entre otros).

Práctico 2: Lógica Proposicional.

Objetivos específicos: Introducir al alumno 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 propone una combinación de ejercicios de interpretación de texto y su posterior representació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, construcción de circuitos digitales a partir de expresiones simbólicas y definición de formas simbólicas a partir de determinados circuitos digitales.

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.
La práctica involucra actividad en el aula y de laboratorio.
La práctica aúlica estará destinada a trabajar el cómo razonar la posible solución de un problema determinado. El estudiante 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.
La práctica de laboratorio consistirá en resolver una actividad lúdica en la que el estudiante deberá, a través de la indagación, resolver diferentes situaciones problemáticas.

Práctico Nº 4: Resolución de Problemas.Refinamiento Sucesivo. Estructuras de Control - Diagramas de Flujo - Variables

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; reconocimiento de las características del proceso y su implementación con las diferentes estructuras de control y la representación gráfica de los algoritmos a través de los diagramas de flujo

La práctica involucra actividad en el aula y de laboratorio. La práctica áulica consistirá en: desarrollar algoritmos de problemas nuevos para reforzar la aplicación de la metodología de trabajo planteada desde el práctico 3, codificar ejercicios puntuales de prácticos anteriores, de la representación gráfica de los algoritmos, la detección de errores en algoritmos propuestos por el docente y su posterior corrección. Para la resolución de los ejercicios se continuará aplicando la metodología del Refinamiento Sucesivo y la realización de los diagramas de flujos respectivos.
La práctica de laboratorio consistirá en resolver una actividad lúdica en la que el estudiante deberá, a través de la indagación y por medio de una plataforma diseñada para aprender a programar, resolver diferentes desafíos combinando estructuras de control.

Práctico Nº 5: Lenguaje C: Introducción.

Objetivos específicos: Introducir al alumno con las características del Lenguaje C, tipos de datos, estructuras de control.
Aplicación de los conceptos aprendidos en Lenguaje de Diseño al Lenguaje C.
La práctica involucra actividad en el aula y de laboratorio. La práctica áulica consistirá en: codificar en Lenguaje C ejercicios puntuales del práctico anterior, desarrollar algoritmos de problemas nuevos para reforzar la metodología de trabajo planteada y el manejo del lenguaje, 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 poner en contacto al estudiante con el manejo de un ambiente determinado que le permitirá probar en una computadora si los programas definidos cumplen con las restricciones del lenguaje y si resuelven el problema planteado.

Práctico Nº 6: Estructuración de datos en Lenguaje C: Arreglos.

Objetivos específicos: Profundizar en el concepto de manipulación colectiva de datos: estructuras de datos, sus características, ventajas de su uso. Definir su implementación en Lenguaje C.
La práctica involucra actividad en el aula y de laboratorio. La práctica áulica consistirá en desarrollar nuevos algoritmos de problemas donde se requiere la definición de estructuras de datos y su codificación en Lenguaje C, la detección de errores en algoritmos propuestos y su posterior corrección.
La práctica de laboratorio consistirá en trabajar diferentes formas de cómo estructurar los datos de diversas situaciones problemáticas y probar en una computadora si los programas definidos cumplen con las restricciones del lenguaje y si resuelven el problema planteado. A partir de este práctico, se realizará un trabajo incremental e integrador de todos los conceptos trabajados con el Lenguaje C.

Práctico Nº 7: Conceptualización de Modularización - Implementación en Lenguaje C: Funciones.

Objetivos específicos: Conceptualizar modularización, pasaje de parámetros en Lenguaje C, ventajas de su uso y su implementación. Estudio comparativo entre Lenguaje de Diseño y Lenguaje C.
La práctica involucra actividad en el aula y en el laboratorio. La práctica áulica consistirá en: codificar en Lenguaje C ejercicios puntuales donde es clara la necesidad de determinar funciones, desarrollar algoritmos de problemas nuevos para reforzar el concepto de modularización y el manejo del lenguaje, detección de errores en algoritmos propuestos por el docente y su posterior corrección.
La práctica de laboratorio consistirá en terminar el trabajo integrador que comenzó en el práctico anterior.
VIII - Regimen de Aprobación
La materia se divide en 4 ejes temáticos principales, a saber: Hardware y Software, Lógica, Resolución de Problemas y Resolución de Problemas en Lenguaje C, los cuales se evalúan en forma independiente. La asistencia a clase, la aprobación de microevaluaciones teóricas al comienzo del práctico cada nuevo tema y el trabajo en las clases prácticas también serán considerados como elementos de evaluación.
Se utilizará el ambiente 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.
Las evaluaciones parciales serán de tipo teórico-prácticas. Se tomaran 2 evaluaciones parciales. Por cada parcial se tomarán 2 recuperaciones.
Régimen de Promoción
-Asistencia al 80% de todas las actividades a realizar. No incluye las clases teóricas.
-Aprobar las microevaluaciones realizadas.
-Aprobar las evaluaciones parciales o su correspondiente primer recuperación, con un mínimo del 80%.
-Aprobar una evaluación adicional teórica-práctica en carácter de General, a fin de cuatrimestre, la cual se debe aprobar con un mínimo del 80%.
- Si un estudiante que ha aprobado un parcial desea rendir nuevamente la correspondiente primer recuperación para optar por la promoción, se considerará la última nota obtenida.
- La nota final surgirá de los resultados obtenidos en todas las evaluaciones, la cual será 7 o más.

Régimen de Regularización
-Asistencia al 70% de todas las actividades a realizar. No incluye las clases teóricas.
-Aprobar las microevaluaciones realizadas.
-Aprobar las evaluaciones parciales, o sus respectivas recuperaciones, con un mínimo del 70%.
-Los estudiantes que hayan cumplimentado 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 Estudiantes Libres
Dada la necesidad de un constante seguimiento del estudiante en clase y de tratarse de una materia netamente práctica, NO está habilitada la posibilidad de rendirla 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] “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.
[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] “Organización y Arquitectura de Computadores - Diseño para optimizar prestaciones” – William Stallings - Prentice Hall -5ta Edición - ISBN: 84-205-993-1, 2004.
[6] “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.“Lógica Computacional”, Paniagua Arís, Enrique, Sánches Gonzalez, Juan Luis, Rubio, Fernando Martín. Thomson; ISBN: 8497321820, 2003.
[7] “Algoritmos + Estructuras de Datos = Programas”, N. Wirth, Ed. Dossat - ISBN: 8421901729, 1999.
[8] “Peter Norton's New Inside the PC”, Peter Norton, Ed. Sams, ISBN 0672322897, 2002.
[9] PSeInt (http://pseint.sourceforge.net/)
[10] "The C programming language", Kernighan, Brian W.; Ritchie, Dennis M.; Segunda Edición; ISBN: 0131103628, 1988.
[11] "Practical C programming" Oualline, Steve, Editorial O'Reilly Media, ISBN:1565923065, Ubicación: Depósito,1997.
[12] "Cómo plantear y resolver problemas" Polya, G.; XXI Reimpresión; Traducción de How to Solve it?; Editorial Trillas; ISBN:968-24-0064-3; 1997.
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] “Algorithmic Problem Solving”, Roland Backhouse – Ed. Willey – ISBN 978-0-470-68453-5, 2011
[3] “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.
[4] “Introduction to Mathematical Logic, Third Edition”, Elliott Mendelson - Van Nostrand Reinhold Company - ISBN-10:0534066240, ISBN-13: 978-534066246, 1987.
[5] “Structured Programming”, O.-J. Dahl, E. W. Dijkstra, C. A. R. Hoare, Academic Press, London, ISBN 0-12-200550-3,1972.
[6] "Problem Solving & Computer Programming", Peter Grogono, Addison-Wesley Publishing Company, 1982, ISBN 0-201-02460-8.
XI - Resumen de Objetivos
Desarrollar en el estudiante las competencias de:
-Resolución de Problemas.
-Diseñar e Implementar algoritmos de solución a dichos problemas en forma computacional.
-Usar diferentes herramientas para el análisis, diseño y codificación de las soluciones.
XII - Resumen del Programa
Arquitectura de las Computadoras: componentes fundamentales. Introducción a la Lógica. Resolución de Problemas: Refinamiento Sucesivo. Diseño de Algoritmos. Estructuras de control. Lenguaje de Programación "C"
XIII - Imprevistos
La modalidad educativa a desarrollar resulta de la hibridación educación presencial/virtual. En caso de ser necesario, el dictado de las clases virtuales será sincrónico a través de alguna de las plataformas de videoconferencia disponibles. Las clases prácticas se desarrollarán fundamentalmente en forma presencial. Todas las instancias de clases virtuales sincrónicas serán grabadas y posteriormente publicadas.
Los parciales y sus recuperaciones serán presenciales.
El seguimiento continuo de los estudiantes se realiza a través de reuniones periódicas, entrega de ejercicios prácticos resueltos, grupo de Telegram.
Dado que el cuatrimestre comprende 14 semanas, la planificación del curso propone 8 horas semanales para garantizar el crédito total definido por plan de estudios. El excedente de horas será trabajado a través de clases de consultas en modalidad virtual sincrónicas y/o asincrónicas.
El régimen de evaluaciones se adaptará acorde a las circunstancias.
Mail de contacto: fundinfunsl@gmail.com
Página: http://servicios.dirinfo.unsl.edu.ar/?module=home&action=detalle_materias&id=3
XIV - Otros