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 |
I - Oferta Académica | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
II - Equipo Docente | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
III - Características del Curso | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
IV - Fundamentación |
---|
Por ser la primera asignatura disciplinar en la carrera se plantean varios desafíos, entre ellos, enseñar una metodología para la resolución de problemas e introducir un lenguaje formal simple para escribir algoritmos focalizando la enseñanza de los conceptos algorítmicos. Se trabaja a partir de diferentes situaciones problemáticas de la vida real y se emplean las estrategias de solución para finalmente llegar a una implementación acorde a las especificaciones planteadas. Los contenidos abordados en la asignatura permitirán al estudiante familiarizarse con los conceptos básicos de la disciplina.
Además, se fomenta un ambiente de trabajo que despierte el espíritu proactivo de los estudiantes evitando que se sientan abrumados o desanimados en este primer encuentro con la programación. |
V - Objetivos / Resultados de Aprendizaje |
---|
El objetivo general es que los estudiantes puedan resolver problemas a través de la construcción de programas basados en algoritmos, es decir, definir un conjunto de pasos lógicamente ordenados, precisos y no ambiguos, escritos a través de símbolos o en lenguaje natural siguiendo una metodología de trabajo adecuada. Si bien el conjunto de símbolos, instrucciones y estructuras presentes en un algoritmo son fáciles de identificar y aprender en relación a su significado, la dificultad se presenta al intentar combinar lógicamente estas instrucciones y estructuras para que resuelvan un problema propuesto.
En este sentido, se plantean los siguientes objetivos específicos: - Desarrollar una adecuada metodología de trabajo para la resolución de problemas introduciendo estrategias para resolverlos. - 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 del problema. - Desarrollar la capacidad de diseñar un algoritmo que modele la resolución del problema seleccionando las estructuras de control y de datos adecuadas, de implementar el algoritmo en un lenguaje de diseño (programa) y de elegir un conjunto adecuado y representativo de valores de los datos de entrada para realizar una correcta prueba del programa realizado. - Promover el uso de buenos hábitos de programación incentivando, desde el principio de la carrera, el ejercicio de la documentación, los comentarios y la indentación de los programas desarrollados facilitando la legibilidad de los mismos y su mantenimiento. - Comenzar a desarrollar habilidades para trabajo en equipo, comunicación en forma oral y escrita, y aprendizaje autónomo. Durante el dictado de la asignatura se abordan los siguientes ejes transversales: - Identificación, formulación y resolución de problemas de informática. - Utilización de técnicas y herramientas de aplicación en la informática. - Fundamentos para el desempeño en equipos de trabajo. - Fundamentos para la comunicación efectiva. - Fundamentos para la acción ética y responsable. - Fundamentos para el aprendizaje continuo. |
VI - Contenidos |
---|
Contenidos mínimos:
Organización de la computadora. Resolución de problemas. Metodología de desagregación de tareas. Metodología de desarrollo de algoritmos: análisis, diseño, implementación y prueba. Programación estructurada mediante un lenguaje de diseño de algoritmos. Tipos de datos, operaciones y expresiones. Entrada y salida de datos. Estructuras de control. Estructura de datos. Subalgoritmos. Estos contenidos mínimos se desglosan en las siguientes unidades: UNIDAD 1: Resolución de problemas y algoritmos Comprensión de problemas en general. Método de 4 etapas de Polya basado en preguntas. Resolución de problemas y computadoras. Organización de la computadora: componentes, organización interna, dispositivos de entrada, dispositivos de salida. Concepto de procesador, ambiente, acción, acción primitiva, algoritmo y programa. Datos de entrada, de salida, condiciones y restricciones. Metodología de desagregación de tareas. Metodología de desarrollo de algoritmos: análisis, diseño, implementación y prueba. UNIDAD 2: Tipos de datos, operaciones y expresiones - Interacción: Entrada y Salida de datos Ambiente de un algoritmo. Objetos del ambiente: constantes y variables. Tipos de datos primitivos. Expresiones aritméticas, relacionales y lógicas. Operadores. Precedencia y orden de evaluación. Funciones primitivas. Operación de asignación. Estructura general de un programa. Definición de variables. Operaciones de entrada y salida de datos. Buenos hábitos de programación: indentación, elección de nombres adecuados de variables y comentarios. UNIDAD 3: Estructuras de control Estructuras de control. Estructura de control secuencial. Estructura de control condicional: Simple y Múltiple. Selección de la estructura más adecuada considerando el problema. Estructuras de control de repetición. Estructuras con número de iteraciones predeterminado y no predeterminado. Pautas para seleccionar la estructura repetitiva más adecuada. Ciclos infinitos. Anidamiento de estructuras de control. Ejecución de un programa a través de tablas de ejecución. Utilización de diagramas de flujo para visualizar los posibles flujos de ejecución de un algoritmo. UNIDAD 4: Estructuras de datos Definición de estructura de datos. Tipo de datos estructurados versus tipos de datos simples. Arreglos lineales. Índice y componentes. Operaciones sobre arreglos lineales: asignación, recuperación y recorrido. UNIDAD 5: Subalgoritmos Definición de subalgoritmos. Ambiente de un subalgoritmo. Funciones y procedimientos. Parámetros actuales y formales. Tipo de pasaje de parámetros: por valor y por referencia. Invocación de subalgoritmos. |
VII - Plan de Trabajos Prácticos |
---|
Metodología de enseñanza:
Para cada unidad se deja disponible el material correspondiente a los contenidos de la unidad, las diapositivas de clase, el apunte teórico y su correspondiente trabajo práctico en el repositorio digital. Con el objetivo de realizar una evaluación formativa, en cada trabajo práctico se realiza la entrega de una actividad integradora grupal para que el estudiante pueda medir su nivel de apropiación del conocimiento en diferentes instantes del cuatrimestre. La evaluación de dichas actividades puede ser hetero o co-evaluación. Las actividades integradoras grupales se pueden socializar con el resto de los estudiantes a través de exposiciones, las cuales se utilizan para que los estudiantes vayan aprendiendo, practicando y ganando confianza para hablar frente a sus pares y docentes. Además, para realizar un seguimiento en el nivel de apropiación de los conocimientos de los estudiantes, se promueve la participación activa de ellos en las clases. Este tipo de actividad es pensada con la finalidad de ir marcando “instantáneas en el tiempo”, tanto en el proceso de aprendizaje, como en el de enseñanza de manera que le brinde información al estudiante y a los docentes acerca de la situación particular antes de llegar a las instancias evaluativas sumativas y para brindar un andamiaje adecuado. También se realizan para que se vayan conformando y afianzando los equipos de trabajo para una actividad grupal final. Para validar las soluciones diseñadas en lápiz y papel, a partir del trabajo práctico 2 se utiliza la herramienta PsFlex (http://psflex.forjota.com.ar/) la cual fue pensada y diseñada por el equipo de cátedra y desarrollada por Gabriel Cavecedo, Analista Programador Universitario y estudiante avanzado de la Licenciatura que formó parte de la cátedra. Dicha herramienta sirve para asistir al estudiante en sus primeros pasos en programación y realizar ejercicios directamente en la computadora o corroborar que los ejercicios realizados en el papel son correctos. Se diseñó utilizando el Lenguaje de Diseño de Algoritmos, el cual posee una sintaxis simple e intuitiva que permite centrar la atención en los conceptos fundamentales de la algoritmia computacional, minimizando las dificultades propias de un lenguaje y proporcionando un entorno de trabajo con numerosas ayudas. Se brindan consultas con el objetivo de aclarar dudas que surjan con los ejercicios prácticos y de manera que se promueva el trabajo con los compañeros y que haya un acercamiento entre los estudiantes y los docentes. TRABAJO PRÁCTICO 1: Resolución de problemas y algoritmos Objetivos generales: 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 del problema. Aplicar una adecuada metodología de trabajo para la resolución de los problemas. Objetivos específicos: Reconocer los principales componentes de la computadora y su clasificación según diferentes criterios. Identificar los datos de entrada y los datos de salida como así también las restricciones. Descomponer problemas complejos en tareas más sencillas con el objeto de resolver el problema original. Diseñar y ejecutar algoritmos que resuelvan problemas utilizando un conjunto finito de acciones primitivas. TRABAJO PRÁCTICO 2: Tipos de datos, operaciones y expresiones - Interacción: Entrada y Salida de datos Objetivos generales: Construir y evaluar expresiones en el Lenguaje de Diseño de Algoritmos, analizando sintaxis y significado. Traducir enunciados en lenguaje natural a expresiones aritméticas, lógicas y relacionales. Comprender el funcionamiento del operador de asignación. Comprender la interacción con el usuario. Objetivos específicos: Describir el ambiente: variables de entrada, salida y auxiliares. Identificar los tipos de objetos (variables y constantes) y tipos de datos simples. Declarar variables. Identificar los tipos de datos primitivos y las operaciones definidas para cada tipo de dato. Reconocer la manera de ingresar datos al algoritmo y mostrar datos desde el algoritmo. Construir y evaluar expresiones. Identificar asignaciones válidas e inválidas. Diseñar algoritmos que involucren la definición de variables, asignaciones, expresiones y lectura y escritura de datos. Ejecutar algoritmos a través de tablas de ejecución. TRABAJO PRÁCTICO 3: Estructuras de control condicional Objetivos generales: Comprender el funcionamiento de la estructura de control condicional simple y múltiple, introduciendo la importancia de realizar pruebas para comprobar el funcionamiento de un algoritmo. Objetivos específicos: Desarrollar algoritmos que involucren el uso de las estructuras de control condicional: simple y múltiple. Identificar cuándo es adecuada la utilización de cada estructura. Ejecutar algoritmos con diferentes estructuras de control condicional, haciendo hincapié en la selección de un adecuado conjunto de casos de prueba. Diseñar algoritmos identificando los datos de entrada, los datos de salida y el proceso que se debe realizar con los datos de entrada para obtener los datos de salida deseados. Del enunciado identificar diferentes casos que permiten construir las condiciones utilizadas en las estructuras de control condicional. Realizar diagramas de flujo para visualizar los diferentes caminos de ejecución de un algoritmo. Ejecutar algoritmos a través de tablas de ejecución utilizando datos de entrada representativos. TRABAJO PRÁCTICO 4: Estructuras de control de repetición Objetivos generales: Comprender el funcionamiento de estructuras de control de repetición y poder utilizarlas adecuadamente en la resolución de problemas. Objetivos específicos: Comprender el comportamiento de las estructuras de control repetitivo. Identificar los casos particulares en cada estructura de control de repetición. Identificar cuándo es adecuada la utilización de cada estructura. Desarrollar algoritmos que involucren el uso de tres estructuras de control de repetición. Proponer soluciones a problemas decidiendo cuál estructura de control de repetición es más conveniente para resolverlos. Realizar diagramas de flujo para visualizar los diferentes caminos de ejecución de un algoritmo. Ejecutar algoritmos a través de tablas de ejecución utilizando datos de entrada representativos. TRABAJO PRÁCTICO 5: Estructuras de datos Objetivos generales: Comprender y aplicar los conceptos relacionados con los arreglos lineales. Objetivos específicos: Detectar la necesidad de utilizar uno o más arreglos lineales para resolver un problema. Identificar los datos que deben ser almacenados y declarar los arreglos correspondientes. Identificar los límites de un arreglo lineal. Realizar las operaciones válidas sobre las componentes de un arreglo: asignación de un valor, consulta de un elemento y recorrido secuencial del arreglo. Diseñar soluciones a problemas donde se deben utilizar arreglos para representar objetos más complejos de la realidad. Ejecutar algoritmos a través de tablas de ejecución utilizando datos de entrada representativos. TRABAJO PRÁCTICO 6: Subalgoritmos: Funciones Objetivos generales: Comprender y aplicar los conceptos relacionados con subalgoritmos, en particular, sobre funciones. Objetivos específicos: Identificar las ventajas de dividir el problema completo en subproblemas para luego dar solución a cada subproblema y de esta manera dar solución al problema completo. Reconocer los tipos de parámetros y pasaje de parámetros. Definir funciones identificando su correspondiente encabezamiento realizando un análisis del subproblema a resolver. Diseñar funciones faltantes en algoritmos incompletos. Realizar invocaciones a funciones ya diseñadas para dar solución a un problema. Diseñar algoritmos para enunciados complejos donde se les solicite identificar subproblemas y construyan funciones para resolverlos. Ejecutar algoritmos, dentro de los cuales se invocan funciones, utilizando tablas de ejecución, tanto para el algoritmo como para las funciones, realizando la correspondencia posicional de los parámetros actuales y formales. TRABAJO PRÁCTICO 7: Subalgoritmos: Procedimientos Objetivos generales: Comprender y aplicar los conceptos relacionados con subalgoritmos, en particular en lo que respecta a procedimientos. Objetivos específicos: Definir procedimientos identificando su correspondiente encabezamiento a través de un análisis del subproblema a resolver. Identificar los tipos de parámetros y el pasaje de parámetros que se pueden utilizar en los procedimientos. Diseñar procedimientos faltantes en algoritmos incompletos. Realizar invocaciones a procedimientos ya diseñados para dar solución a un problema complejo. Ejecutar algoritmos, dentro de los cuales se invocan procedimientos, utilizando tablas de ejecución, tanto para el algoritmo como para los procedimientos, realizando la correspondencia posicional de los parámetros actuales y formales. Identificar diferencias y similitudes entre funciones y procedimientos, considerando invocaciones y definiciones. Identificar cuándo es conveniente utilizar funciones y cuándo procedimientos. Resolver problemas para enunciados complejos donde primero se identifiquen subproblemas, luego se diseñen subalgoritmos que den solución a esos subproblemas eligiendo si es conveniente utilizar funciones o procedimientos, y se diseñe un algoritmo principal que invoque los subalgoritmos diseñados de manera de dar solución al problema inicial. Finalmente, ejecutar el algoritmo a través de tablas de ejecución utilizando datos de entrada representativos. TRABAJO PRÁCTICO INTEGRADOR Objetivos: Integrar los conceptos abordados durante la cursada de esta actividad curricular. En este Trabajo Práctico Integrador se realiza un proyecto en el cual se debe realizar en grupo (de 2 o 3 personas) y usando la herramienta PsFlex. La entrega final consta de: - La entrega del programa final respetando lo solicitado en el enunciado. - Una exposición oral donde muestran a sus compañeros y al equipo docente el algoritmo desarrollado y se socializa lo diseñado por todos los grupos. - Un informe escrito donde se deben describir las estructuras de datos utilizadas para almacenar los datos, explicar el análisis y diseño de las diferentes tareas, mostrar un ejemplo de ejecución del algoritmo, describir la experiencia obtenida del trabajo en equipo, entre otras, respetando lo solicitado en la guía de informe. Se pretende que los estudiantes utilicen, tanto en la exposición oral como en el informe escrito, un vocabulario acorde a los contenidos vistos en la asignatura. A continuación se describe cómo se abordan y cómo se evalúan los ejes transversales trabajados en la asignatura: "Identificación, formulación y resolución de problemas de informática" ¿Cómo se aborda? A partir del trabajo práctico 1, se comienza a trabajar con problemas desafiantes que deben ser resueltos a través de algoritmos. También se trabaja con este tipo de problemas en las evaluaciones y en el Trabajo Práctico Integrador. ¿Cómo se evalúa? - Evaluación formativa: Durante la cursada se solicita la entrega de actividades integradoras grupales de los trabajos prácticos y la entrega del Trabajo Práctico Integrador los cuales tienen una corrección informada. Se pretende que el estudiante pueda medir su nivel de apropiación de los contenidos a medida que atraviesa cada unidad temática y a los docentes les brinda información acerca de la situación particular de cada estudiante para realizar un andamiaje adecuado en los casos que así lo requieran. - Evaluación sumativa: Se realiza una evaluación (con sus respectivas recuperaciones) la cual permite acreditar los conocimientos. - Se realiza la exposición final del Trabajo Práctico Integrador. "Utilización de técnicas y herramientas de aplicación en la informática" ¿Cómo se aborda? 1) A partir del trabajo práctico 2 y en el Trabajo Práctico Integrador se utiliza la herramienta PsFlex para ejecutar los algoritmos. 2) Se solicita la escritura de un informe por lo que deben utilizar un editor de texto. ¿Cómo se evalúa? 1) Se verifica que se utilice de manera eficiente la herramienta PsFlex haciendo uso de las diferentes funcionalidades (inspector, ejecución paso a paso, puntos de parada, etc.) 2) Se verifica que se respete el formato especificado en la guía de informe. "Fundamentos para el desempeño en equipos de trabajo" ¿Cómo se aborda? El Trabajo Práctico Integrador se realiza conformando equipos de trabajo de 2 o 3 personas. ¿Cómo se evalúa? A lo largo de las entregas de las actividades integradoras grupales y del Trabajo Práctico Integrador se verifica que cada integrante del grupo pueda explicar la tarea realizada. En el informe y en la presentación oral los estudiantes deben describir ventajas y desventajas de trabajar en equipo. "Fundamentos para la comunicación efectiva" ¿Cómo se aborda? 1) Expresión oral: Se realizan exposiciones de las actividades integradoras grupales, del Trabajo Práctico Integrador y se socializa con compañeros y docentes. 2) Expresión escrita: Se realizan el informe del Trabajo Práctico Integrador, evaluación teórico-práctica, correcciones a sus compañeros (co-evaluación). ¿Cómo se evalúa? 1) Expresión oral: Se va observando cómo se desenvuelven y se van ajustando los criterios para la exposición final del Trabajo Práctico Integrador. Se busca que el estudiante vaya adquiriendo la capacidad de expresarse utilizando un vocabulario acorde a los contenidos vistos en la asignatura. 2) Expresión escrita: En las correcciones informadas se hace hincapié no sólo en lo disciplinar sino también en cuestiones de redacción. Esto permite ir adquiriendo esta habilidad para la posterior evaluación teórico-práctica y para la escritura del informe del Trabajo Práctico Integrador. "Fundamentos para la acción ética y responsable" ¿Cómo se aborda? El primer día de clase se comparte el cronograma con la descripción de las actividades que se realizan cada día de clase para que los estudiantes puedan organizar adecuadamente sus horarios. En todas las actividades solicitadas se describen plazos y forma de entrega. ¿Cómo se evalúa? Se verifica que las actividades sean entregadas respetando las fechas y formatos pactados, que sean producciones propias y que en las entregas grupales hayan participado todos los integrantes. "Fundamentos para el aprendizaje continuo" ¿Cómo se aborda? En cada trabajo práctico se solicitan actividades integradoras grupales. ¿Cómo se evalúa? Se realiza una corrección informada o una co-evaluación de las actividades prácticas solicitadas para que cada estudiante vaya midiendo el nivel de apropiación de los contenidos. |
VIII - Regimen de Aprobación |
---|
1- Acerca de las condiciones de regularización de la asignatura.
Para regularizar la asignatura el estudiante debe cumplimentar los siguientes ítems: a) Asistencia: concurrir al menos al 80% de las actividades previstas. b) Evaluación teórico/práctica: aprobar la evaluación (parte práctica) o alguna de sus dos recuperaciones con nota superior o igual a 6. c) Aprobar el Trabajo Práctico Integrador: - Asistir a todas las exposiciones y a la consulta obligatoria. - Aprobar el informe y el algoritmo final junto con su exposición. 2- Acerca de las condiciones de aprobación de la asignatura. Existen dos formas de aprobación de la asignatura: a) Por Promoción, para lo cual se exige la regularización de la asignatura aprobando la evaluación (parte práctica y parte teórica) o alguna de sus dos recuperaciones con nota 7 o superior. La calificación final provendrá del promedio de las calificaciones obtenidas en: la evaluación y/o recuperaciones aprobadas (parte práctica y parte teórica) y el Trabajo Práctico Integrador. Cabe aclarar que la parte teórica de la evaluación se rinde sólo si el estudiante tiene intenciones de promocionar, por lo que sería el coloquio integrador que se solicita para promocionar. b) Por Regularización más examen final. 3- Acerca del examen final. En dicho examen se evalúan conceptos teóricos en los cuales se basa la práctica regularizada. Podrá ser oral o escrito y se rinde en turnos de exámenes establecidos en el Calendario Académico. 4- Acerca del examen libre. Esta asignatura no se puede rendir libre debido a la evaluación continua que se realiza a lo largo de todo el cuatrimestre. |
IX - Bibliografía Básica |
---|
[1] L. Joyanes Aguilar. “Fundamentos de Programación. Algoritmos, estructura de datos y objetos”, Mcgraw-HILL/Interamericana de España, 4ta edición, 2008
[2] G. Polya. "Cómo plantear y resolver problemas", Editorial Trillas, México, 1970. [3] 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. [4] Material de estudio diseñado por el equipo docente. |
X - Bibliografia Complementaria |
---|
[1]
|
XI - Resumen de Objetivos |
---|
- Desarrollar una adecuada metodología de trabajo para la resolución de los problemas introduciendo estrategias para resolver problemas.
- Desarrollar la capacidad de diseñar un algoritmo que modele la resolución del problema, de implementar el algoritmo en un lenguaje de diseño y de elegir un conjunto adecuado y representativo de valores de los datos de entrada para realizar una correcta prueba del algoritmo realizado. - Comenzar a desarrollar habilidades para trabajo en equipo, comunicación en forma oral y escrita, y aprendizaje autónomo. |
XII - Resumen del Programa |
---|
UNIDAD 1: RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS
UNIDAD 2: TIPOS DE DATOS, OPERACIONES Y EXPRESIONES - INTERACCIÓN: ENTRADA Y SALIDA DE DATOS UNIDAD 3: ESTRUCTURAS DE CONTROL UNIDAD 4: ESTRUCTURAS DE DATOS UNIDAD 5: SUBALGORITMOS |
XIII - Imprevistos |
---|
|
XIV - Otros |
---|
Las vías de comunicación con los estudiantes son las siguientes:
- Correo electrónico de la asignatura: intro.comp.unsl@gmail.com - Correos electrónicos de los docentes: gise.dorzan@gmail.com, matias.truglio@gmail.com, mjgarciarenaucelay@gmail.com - Oficina 30 – 1° piso – 2° Bloque - Teléfono: +54 (266) 4520300 - Interno 2130 |