PROGRAMA ANALITICO MATERIA Fundamentos de Programación CODIGO COM 110 PRE-REQUISITO PERIODO LECTIVO HORAS 4 CREDITOS N/A SEMESTRE Clases 64 Horas PRESENCIALES 1. DESCRIPCION COM110 – Fundamentos de Programación determina los primeros pasos de los estudiantes en la incursión de la Programación de Computadoras. La materia busca como elaborar algoritmos hasta representarlos en un lenguaje que permita la Programación estructurada de lo aprendido. 2. OBJETIVOS 2.1.- General Desarrollar habilidades en el análisis de los problemas y saberlos representar en un algoritmo de programación y posteriormente enunciarlo en un lenguaje de programación. 2.2.- Específicos Especificar algoritmos lógicos en seudolenguaje y diagramas de flujo. Interpretar algoritmos en un lenguaje de programación. Enunciar los diferentes lenguajes de programación que permitan elaborar programas estructurados. Evaluar un problema básico e implementarlo en un lenguaje de programación. 3. COMPETENCIAS Identifica problemas que puedan ser llevados a un programa de computador. Analiza los problemas a desarrollar identificando los comandos necesarios que se requieren para programar. Determina las entradas, procesos y salidas de un algoritmo o programa de computador. Desarrolla soluciones a problemas básicos de uso general independiente de la herramienta de desarrollo. Verifica el desarrollo de los algoritmos con pruebas de escritorio. Verifica la validación de entradas y salidas según los procesos realizados en un algoritmo. Resuelve problemas de desarrollo de algoritmos. 4. RESULTADOS APRENDIZAJE Identifica los tipos de errores existentes en un algoritmo o programa: lógicos y de semántica. Capacidad para modificar rápidamente los algoritmos o programas desarrollados. 5. METODOLOGIA La metodología que se aplicará en la asignatura de Evaluación de Sistemas estará basada en clases teórico prácticas, talleres, se trabajará en equipo para el estudio de casos, las metodologías que se aplicarán tendrán algunos aspectos comunes, los cuales se derivan del modelo constructivista social, en el cual se basa el Modelo Educativo de la Universidad Ecotec. Por esta razón se privilegian los métodos participativos y entre ellos el de casos, combinándose con otros métodos activos, como el de juegos de roles, el problémico, lluvia de ideas, entre otros, favoreciendo de manera sistemática la interacción de los estudiantes en grupos, siguiendo los principios del aprendizaje cooperativo (colaborativo), con el fin de desarrollar la competencia de trabajo en equipo. En este enfoque metodológico el docente actúa como un facilitador, que explora los conocimientos previos que tienen los estudiantes sobre el tema y guía la construcción de los conocimientos de manera individual y en grupos, vinculando de manera sistemática la práctica con la teoría. Se refuerza la relación de la teoría con la práctica y las habilidades de los estudiantes de desarrollar sus propias ilustraciones gráficas. Descripción del tipo de trabajos requeridos Cada semana se enviarán trabajos personales o grupales para el desarrollo de actividades complementarias a las clases, los talleres serán prácticas individuales, y grupos de trabajo tanto en clase como externos no serán de más de tres participantes. Los trabajos se recogerán la primera sesión de cada semana, y deberán ser subidos al Atrium en la sesión TAREAS, no se aceptan trabajos realizados a mano, los trabajos obligatoriamente deberán ser desarrollados en computadora, por lo cual los alumnos deben manejar las herramientas ofimáticas. Los trabajos de investigación, serán entregados de acuerdo a las normas señaladas en el Aula Virtual. La redacción de los documentos, en cuanto a formato, letra, citas y la bibliografía, se realizará según las NORMAS APA. Los trabajos enviados deberán ser presentados con una introducción, desarrollo, conclusiones y bibliografía, con la carátula determinada por universidad y ser ingresados desde el atrium en la opción de tareas. 6. CONTENIDO PROGRAMATICO UNIDAD 1: Algoritmos y Programas 1.1. Los sistemas de procesamiento de la información 1.2. Conceptos de algoritmos 1.3. Los lenguajes de programación 1.4. Datos, tipos de datos y operaciones primitivas 1.5. Constantes y variables 1.6. Expresiones aritméticas y lógicas 1.7. Funciones internas 1.8. La operación de asignación 1.9. Entrada y salida de información UNIDAD 2: La resolución de problemas con computadoras y las herramientas de programación 2.1. La resolución de problemas 2.2. Análisis de problemas 2.3. Diseño de Algoritmos 2.4. Resolución de problemas mediante computadoras 2.5. Representación grafica de algoritmos 2.6. Pseudocódigo UNIDAD 3: Estructura General de un Programa 3.1. Concepto de programas 3.2. Partes constitutivas de un programa 3.3. Definición de Instrucciones 3.4. Tipos de instrucciones 3.5. Elementos básicos de un programa 3.6. Estructuras de algoritmos o programas UNIDAD 4: Introducción a la programación estructurada 4.1. Técnicas de programación 4.2. Programación modular 4.3. Programación estructurada 4.4. Estructura secuencial 4.5. Estructuras selectivas 4.6. Estructuras repetitivas 4.7. Estructuras de decisión anidadas 4.8. Estructuras repetitivas anidadas UNIDAD 5: Subprogramas (Subalgorimtos): procedimientos y funciones 5.1. Introducción a los subalgoritmos y programas 5.2. Funciones 5.3. Procedimientos 5.4. Ámbito: variables locales y globales 5.5. Comunicación con subprogramas: paso de parámetros 5.6. Funciones y procedimientos con parámetros 5.7. Ámbitos de las variables en funciones y procedimientos. 5.8. Recursividad UNIDAD 6: Estructuras de datos (Arreglos) 6.1. Introducción a las estructuras de datos 6.2. Arreglos unidimensionales: los vectores 6.3. Operaciones con vectores 6.4. Arreglos bidimensionales 6.5. Arreglos multidimensionales 6.6. Almacenamiento de arreglos en memoria UNIDAD 7: Cadenas de Caracteres 7.1. Introducción 7.2. El juego de caracteres 7.3. Cadena de Caracteres 7.4. Datos tipo carácter 7.5. Operaciones con cadenas 7.6. Otras funciones de cadenas UNIDAD 8: Ordenación, Búsqueda e intercalación 8.1. Introducción 8.2. Ordenación 8.3. Búsqueda 8.4. Intercalación UNIDAD 9: Estructuras dinámicas lineales de datos (pilas, colas y listas enlazadas) 9.1. Introducción a las estructuras lineales de datos 9.2. Listas 9.3. Listas enlazadas 9.4. Procesamiento de listas enlazadas 9.5. Listas circulares 9.6. Listas doblemente enlazadas 9.7. Pilas 9.8. Colas 9.9. Doble cola 7. EVALUACION Criterio para la calificación de los trabajos: La presentación de deberes y trabajos tiene carácter obligatorio, en caso de incumplimiento se impondrán sanciones en la nota de actividades. Los trabajos de investigación se calificarán sobre un total de 30 puntos desglosado de la siguiente manera: o Talleres y Análisis de Casos 10 puntos o Investigaciones y Deberes 10 puntos o Exposiciones/recursos utilizados 10 puntos La nota mínima para aprobar el curso es 70. Los exámenes se rendirán en la fecha previamente establecida por el Decanato de la Facultad, y no se aceptará a ningún estudiante postergación ni anticipación de dicha evaluación, sin una justificación de fuerza mayor previamente aprobada por la Comisión Académica de la Facultad. En éste caso únicamente se aprobará la toma del examen supletorio. Se regirá por el Reglamento de la Universidad CALIFICACION ACTIVIDADES 30 PRIMER EXAMEN 15 SEGUNDO EXAMEN 15 EXAMEN FINAL 40 NOTA FINAL 100 SE TENDRA EN CUENTA EN EL PROCESO DE EVALUACION LA APLICACIÓN DE LA AUTOEVALUACION, COEVALUACION Y HETEROEVALUACION 8. BIBLIOGRAFIA BASICA TEXTO AUTOR Fundamentos de Luis Joyanes Aguilar Programación. Algoritmos y EDITORIAL McGraw Hill, 2da Edición 1996 Estructuras de Datos 9. BIBLIOGRAFIA COMPLEMENTARIA TEXTO AUTOR Fundamentos de Diego R. Llanos Informática y Programación Ferraris EDITORIAL Parainfo, 1ra Edición 2010 en C Revisado por: Aprobado por: Dr. C. Oiner Gómez DECANO DE LA FACULTAD Gilda Alcívar, MSc. Vicerrectora Académica Fecha: 20/10/2014