FACULTAD POLITÉCNICA DIRECCIÓN ACADÉMICA PROGRAMA DE ESTUDIO I. IDENTIFICACIÓN Carrera : Ingeniería de Sistemas CARGA HORARIA (Horas reloj) Asignatura : Algorítmica y Estructura de Datos I Carga Horaria Semestral 64 Semestre : Primero Carga Horaria Semanal 04 Código : 7112 Clases teóricas 28 Área : Tecnología Aplicada Clases prácticas 20 Pre-requisitos : Laboratorio 16 : Otro (especificar) - II. FUNDAMENTACION Esta asignatura permite el primer contacto del alumno con los fundamentos teóricos del área de la programación. Para iniciarse en el mundo de la programación, se debe adquirir como base, la lógica, que servirá para crear los métodos de resolución de problemas a través de la algorítmica. La asignatura además permitirá al alumno identificar los problemas, las metodologías de resolución, y las prácticas necesarias para las pruebas de las soluciones propuestas. La asignatura abarca una doble componente, aplicada y práctica por un lado, formal y teórica por otro. La adquisición de competencias en el plano formal precisa una actividad constante de estudio y realización de ejercicios de manejo de los formalismos. Ello se complementa con el trabajo aplicado en los laboratorios para el desarrollo de las habilidades prácticas, y la comprensión de su conexión con los fundamentos teóricos. Se requiere asimismo iniciativa personal y constancia para desarrollar estas actividades durante el curso III. COMPETENCIAS Capacidad de identificación de procesos para resolver problemas Habilidad para identificar las estructuras necesarias para construir los algoritmos Conocimiento sobre la correcta selección de herramientas algorítmicas. Capacidad para aplicar pruebas pertinentes para el aseguramiento de la calidad en la solución a los problemas Conocer procesos para la resolución de problemas algorítmicos. Aplicar correctamente las estructuras como ciclos, bucles, bifurcaciones en la elaboración de un algoritmo. Manejar adecuadamente las herramientas como campos, vectores, matrices, archivos, para la solución de problemas. Comprobar a través de las pruebas de escritorios la solución correcta de un problema
IV. OBJETIVOS GENERALES DE LA ASIGNATURA Identificar las partes del proceso de resolución de un problema. Identificar las diferentes estructuras (ciclos, bucles, bifurcaciones, etc.) necesarias para la construcción de algoritmos. Distinguir los recursos necesarios para la utilización correcta de herramientas (campos, vectores, matrices, archivos, etc.), en la resolución de los problemas planteados por la cátedra. Diseñar pruebas de escritorios en base a procedimientos realizados por el mismo, con la cual el mismo identificará los aciertos y errores del mismo. V. CONTENIDOS UNIDAD I - INTRODUCCIÓN 1.1. INTRODUCCIÓN A LA COMPUTACIÓN. 1.1.1. Estructura general de un programa 1.1.2. Algoritmo 1.1.3. Variables 1.1.4. Operadores 1.1.5. Funciones 1.1.6. Sentencias de control 1.1.7. Lenguajes de Alto Nivel 1.1.8. Lenguajes de Bajo Nivel 1.1.9. Lenguaje Máquina 1.1.10. Representación de algoritmos (Pseudocódigo, Diagrama de flujo) 1.1.11. Compiladores. 1.2. TIPOS DE DATOS 1.2.1. Numéricos. 1.2.2. Alfabéticos. 1.2.3. Alfanuméricos. 1.3. TIPOS DE ESTRUCTURA. 1.4. LÓGICA. 1.5. DEFINICIONES 1.5.1. Memoria. 1.5.2. Variable. 1.5.3. Datos. 1.5.4. Constantes. 1.5.4.1. Tipos de constantes. 1.6. ALGORITMOS DE LA VIDA REAL. 1.7. SIMULACIÓN DE PROCESO. 1.8. PRUEBAS DE ESCRITORIO (igualdades, control de ciclo / procesos, numéricos). 1.9. PSEUDOCÓDIGOS 1.9.1. Definición 1.9.2. Símbolos. 1.9.3. Cálculo y lógica general. 1.9.4. Prueba de escritorio (promedio, suma, comparación de variables, módulos) 1.9.5. Procesos lineales y cíclicos
1.9.6. Tratamiento de archivos. 1.9.7. Estilos de programación 1.9.8. Rutinas / Subrutinas frecuentes. Funciones. 1.9.9. Archivos y ciclos de control. UNIDAD II - INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN 2.1. Lenguajes naturales 2.2. Pseudoformales y de programación. 2.3. Características de un buen lenguaje de programación. 2.4. Tipos de Datos simples. 2.5. Concepto de tipo de datos. 2.6. Tipos predefinidos. 2.7. Tipos de datos simples definidos por el programador. 2.8. Operadores relacionales: asignación e igualación. 2.9. Operaciones de Entrada y Salida. 2.10. Estructura general de un programa. 2.11. Ejemplos. UNIDAD III - ESTRUCTURAS DE CONTROL 3.1. Estructuras secuenciales. 3.2. Estructuras de selección simple, selección doble y selección múltiple. 3.3. Estructuras repetitivas. UNIDAD IV - VECTORES 4.1. DEFINICIONES. 4.2. EJEMPLOS MODELOS. 4.3. PRUEBAS DE ESCRITORIO. 4.4. CARGA 4.5. IGUALDAD, MAYOR Y MENOR ELEMENTO. 4.6. POSICIÓN. 4.7. MEDIANA. 4.8. MODA 4.9. COMPARACIÓN 4.9.1. Métodos de ordenamiento 4.9.2. Burbuja. 4.9.3. Shell. 4.9.4. Mixto 4.10. ALGORITMOS DE BÚSQUEDA EN VECTORES. 4.10.1. Algoritmo de búsqueda secuencial. 4.10.2. Búsqueda binaria o dicotómica. UNIDAD V - MATRICES 5.1. Definición. 5.2. Características. 5.3. Carga. 5.4. Igualdad, mayor y menor elemento.
5.5. posición. 5.6. Sumatoria. 5.7. Diagonales. 5.8. Búsqueda de valores y elementos. 5.9. Métodos de ordenamiento. 5.10. Matrices con tratamiento de archivos. 5.11. Pruebas de escritorio. 5.12. Verificación de errores comunes. 5.13. Depuración de algoritmos. UNIDAD VI - PROCEDIMIENTOS Y FUNCIONES 6.1. Concepto de subprograma. 6.2. Definición y llamadas a subprogramas. 6.3. Parámetros formales y reales. 6.4. Parámetros de entrada, salida y entrada-salida. 6.5. Paso de parámetros por valor y por referencia. 6.6. Procedimientos y funciones. 6.7. Diferencias entre procedimientos y funciones. 6.8. Anidamiento de subprogramas. 6.9. Alcance. UNIDAD VII - ARCHIVOS 7.1. Definición de archivos. 7.2. Tipos de archivos: clasificación de archivos según su contenido y acceso. 7.3. Operaciones de Archivos: apertura, cierre, lectura y escritura. 7.4. Función fin de archivo, fin de línea 7.5. Recorrido de archivos secuenciales. VI. METODOLOGÍA DE ENSEÑANZA La metodología de enseñanza a utilizar en esta asignatura es a través de: Clases Magistrales en Aula Clases prácticas en Aula, trabajos grupales Clases prácticas en Sala de Informática para aplicación de conocimientos adquiridos VII. METODOLOGÍA DE EVALUACIÓN Se regirá de acuerdo al Reglamento Interno vigente en la Institución. 2 evaluaciones parciales acumulativas y luego 1 evaluación final opcional en 3 oportunidades que son válidos por 2 periodos. VIII. BIBLIOGRAFÍA Básicas: ALMEIDA, M.; RODRÍGUEZ, Angel Metodología de la programación a través del pseudocódigo. Serie Informática de Gestión. Editorial Mc Graw Hill. BRÍTEZ CHAMORRO, Víctor Alfredo. Libro de ejercicios de pseudocódigo
JOYANES AGUILAR, Luis. "Fundamento generales de programación", Editora Mc Graw Hill Complementarias: JOYANES AGUILAR, Luis. Fundamentos de programación, algoritmos y estructura de datos. Serie Informática de Gestión. Editorial Mc Graw Hill. ALCALDE, Eduardo; GARCÍA, Miguel. Metodología de la programación. Serie Informática de Gestión. Editorial Mc Graw Hill.