FACULTAD: PREGRADO: POSTGRADO: FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA INGENIERÍA ELECTRÓNICA Nro CARACTERÍSTICAS INFORMACIÓN 1 DENOMINACIÓN DEL CURSO: Fundamentos de programación 2 CÓDIGO: 612101 3 ÁREA: Profesional 4 CURSO PROGRAMÁTICO: Programación 5 PERIODO ACADÉMICO: 6 NATURALEZA TEORICO - PRACTICA 7 CARÁCTER: Obligatorio 8 CRÉDITOS: 4 9 TOTAL INTENSIDAD HORARIA 192 Intensidad de trabajo presencial 96 Intensidad de trabajo independiente 96 10. JUSTIFICACIÓN: El desarrollo de Software es fundamental en la solución práctica de problemas, para lo cual una herramienta tecnológica actualizada es importante para lograr la implementación automatizada de dicha solución, tal herramienta es un lenguaje de programación, el cual brinda la sintaxis necesaria para que el Ingeniero realice el aplicativo útil para los usuarios 11. PROPOSITOS: Que el estudiante: Comprenda el concepto y el desarrollo de algoritmos y su aplicación en la solución de problemas. Desarrolle capacidad de abstracción en el análisis de situaciones a resolver Desarrolle hábitos relacionados con el autoaprendizaje y la cultura, necesarios para la solución de problemas. Solucione problemas básicos en un lenguaje de programación determinado. 12. COMPETENCIAS QUE DESARROLLARA EL CURSO: 1. Identificar el orden lógico de situaciones cotidianas y su aplicación en la solución de problemas. 2. Identificar los dispositivos internos de la CPU y su forma de interacción para el procesamiento de la Información. Conocer los fundamentos de la programación.
3. Conocer las diferentes maneras en que el computador traduce código fuente a instrucciones ejecutables. 4. Identificar los aspectos importantes de la evolución y tipos de lenguajes de programación. 5. Considerar los aspectos generales de un lenguaje de programación. 6. Desarrollar la capacidad de resolver problemas utilizando algoritmos eficientes. 7. Desarrollar la capacidad de representar soluciones a problemas cotidianos/reales a través de las diferentes herramientas de diagramación. 8. Relacionar los tipos de datos y la forma de almacenamiento de la información. 9. Identificar las secuencias de instrucciones necesarias para especificar las operaciones que debe ejecutar la computadora. 10. Manejar la sintaxis de un lenguaje determinado. 11. Conocer y aplicar de manera eficiente y eficaz las diferentes estructuras de control (Secuenciales - selectivas - repetitivas) dentro de un programa. 12. Realice programas modulares. 13. Manejar estructuras básicas de almacenamiento de información. 14. Sea capaz de desarrollar programas que requieran operaciones de clasificación de datos. 13. DIMENSIONES DE LAS COMPETENCIAS QUE DESARROLLA: COGNITIVA PRAXIOLOGICA ACTITUDINAL COMUNICATIVA Comprenda el desarrollo de un proceso lógico. Comprenda la historia, evolución de la programación, los lenguajes y el impacto social que desencadena. Determine necesidades y requerimientos que se van utilizar y aplicar en la solución de problemas. Participe en el equipo de trabajo, aportando ideas y soluciones utilizando una terminología adecuada. Objetividad analizar cotidianas. para situaciones Trabajo en equipo, y participación en grupo. Comprenda los procesos que se llevan a cabo internamente cuando el sistema de computación esta encendido y el flujo de datos. Comprenda el concepto de traductor, compilador e interprete. Conozca la evolución y los tipos de lenguajes de programación. Conozca las características, ventajas Establezca un criterio para determinar el uso del proceso de traducción o compilación. Establezca la diferencia entre lenguajes de alto, medio y bajo nivel. Establezca criterios para analizar las ventajas o Motivación para profundizar en los conocimientos. Motivación para profundizar en los conocimientos. Adquiera la habilidad critica.
y desventajas de algunos lenguajes de programación. Comprenda el concepto de algoritmo. Representar mediante diagramación las soluciones dadas mediante algoritmos a situaciones/problemas cotidianos. Utilizando los diagramas de flujo y los diagramas N-S. Conozca la forma en que se almacena la información en el computador. Comprenda el funcionamiento de las instrucciones en cada paso. Conozca la estructura de un programa en un lenguaje determinado. Comprenda, analice y aplique de manera adecuada las diferentes estructuras de control (Secuenciales - selectivas - repetitivas) en un programa. Comprenda la estructura de una función. Comprenda la forma como se almacenan los datos en un vector y en una matriz. Conozca los algoritmos clásicos de ordenamiento y búsqueda de datos. desventajas de la utilización de un lenguaje de programación para resolver un problema determinado. Analice y Describa una situación real mediante secuencia de pasos lógicos. Asocie eventos simples y complejos a representaciones graficas estandarizadas (ANSI). Diferencie y utilice los tipos de datos de manera óptima. Asocie a cada forma de representación una instrucción. De soluciones a un problema utilizando un lenguaje de programación especifico. Utilice las estructuras de control de una manera adecuada y eficaz para codificar algoritmos previamente diseñados y depurados. Desarrolle programas de forma modular. Desarrolle programas utilizando vectores y matrices. Implemente los algoritmos clásicos de ordenamiento y búsqueda de datos. Desarrolle abstracción. la Desarrolle la habilidad de expresar sus ideas de forma grafica. Desarrolle la habilidad de optimizar recursos. Adquiera la habilidad de asociación. Desarrolle hábitos de autoaprendizaje, necesarios para la solución de problemas. Desarrolle la lógica y la habilidad para optimizar situaciones concretas de manera rápida. Adquiera la habilidad de descomponer un problema para solucionarlo de una manera más eficiente. Aprovechar las características que ofrecen las matrices y los vectores para optimizar las soluciones. La capacidad de selección de herramientas adecuadas a casos específicos.
14. UNIDADES TEMATICAS: UNIDAD TEMATICA Estrategias para el análisis y solución de problemas. Generalidades de programación Concepto de compilador, interprete Evolución de los lenguajes de programación ESTRATEGIA PEDAGOGICA Mapas conceptuales, solución a problemas cotidianos/reales, talleres individuales, debate/intercambio de criterios sobre guías clase anterior. Líneas de tiempo, cuadros sinópticos, mapas conceptuales, Análisis de Impacto actual. Debate/Intercambio de criterios. Conferencia Traductores (Interpretes y Compiladores), Funcionamiento y técnicas actuales usadas por los lenguajes de programación. Video - computación. - ensayo. - análisis de etapas de la historia de la programación. - debate. Video Introducción a la computación. Resumen escrito y guías con mapas conceptuales. RECURSOS PEDAGOGICOS portátil. VideoBeam.. Video beam portátil. TIEMP. TIEMP. PRES. INDEP. 6 6 Generalidades de los lenguajes de programación Conferencia C/C++/JAVA. Discusión sobre los diferentes puntos de vista. Ventajas, Aplicaciones, Entorno, Utilidad, Conclusiones. Ensayo individual. 6 6
Algoritmia Diagramación Mapas conceptuales. - solución a problemas cotidianos/reales. - talleres individuales Resumen Escrito (guía) estándares ANSI diagramación "Flujo" y "N-S". Realización por portátil Video Beam 8 8 6 6 Tipos de datos Instrucciones Estructura de un programa teórica, Mapas Conceptuales - Ejemplos - ejercicios resueltos por el docente. - Resumen Escrito (guía) a través de cuadro sinóptico. Optimización por Conferencia IDE's C/C++/JAVA. Y demás herramientas de compilación: borland, devc++, jbuilder, turboc, gcc, visualc++, javac. Ejemplos prácticos en algunos de ellos. Lenguaje C++. - talleres. Cuadros comparativos de Semejanzas y diferencias con Lenguajes de programación c++ y java. portátil Video Beam portátil VideoBeam
Control de flujo Funciones y procedimientos Arreglos unidimensionales y bidimensionales Algoritmos de Ordenamiento y búsqueda Mapas conceptuales y cuadros comparativos en diferentes entornos de desarrollo y herramientas de programación, las estructuras de control fundamentales como: PS, C, C++, JAVA. Guía Multimedia Interactiva C++. Optimización por Optimización por Optimización por Portátil Video beam Portátil Video beam Portátil Video beam. Portátil Video beam. 20 20 12 12 8 8 6 6 15. SISTEMA DE EVALUACIÓN Las pruebas consideradas en el curso para evaluar las competencias son : Prueba escrita, pruebas apoyadas en guías de observación, escalas de actitudes y desempeño en laboratorio. Estos tipos de pruebas, se clasifican como: PARCIALES, evalúan el desarrollo progresivo del estudiante durante el semestre y FINALES que evalúan el desarrollo de las competencias propuestas por el curso, al final del periodo académico 16. FUENTES BIBLIOGRÁFICAS: COMO PROGRAMAR EN C/C++ (2DA EDICION) H.M. DEITEL
PRENTICE may (1995) 16.1 FUENTES DE CONSULTA BÁSICA FUNDAMENTOS DE PROGRAMACION 3RA EDICION ALGORITMOS, ESTRUCTURAS DE DATOS Y OBJETOS LUIS JOYANES AGUILAR MC GRAW HILL 2004 ALGORITMOS CONCEPTOS BASICOS (3RA EDICION 1996) CESAR A. BECERRA SANTAMARIA APRENDIENDO BORLAND C++ EN 21 DIAS CRAIG ARNUB RPENTICE may 1999 C++ GUÍA DE AUTOENSEÑANZA SCHILDT Herbert MCGRAWHILL C++ GUÍA DE AUTOENSEÑANZA SCHILDT Herbert MCGRAWHILL. C++ INICIACIÓN Y REFERENCIA. JOYANES LUIS, MCGRAWHILL 16.2 FUENTES DE CONSULTA PARA PROFUNDIZACIÓN: UNA HERRAMIENTA PARA LA POO EDITORIAL POR COMPUTADOR BECERRA CESAR C++ A SU ALCANCE. MCGRAWHILL JOYANES LUIS FUNDAMENTOS DEL DISEÑO Y LA PROGRAMACIÓN ORIENTADO A OBJETOS MCGRAWHILL FERNÁNDEZ SERGIO INGENIERÍA DEL SOFTWARE UN ENFOQUE PRÁCTICO MCGRAW HILL PRESMAN ROGER ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS
ADDISON WESLEY BOOCH GRADY PROGRAMACIÓN ORIENTADA A OBJETOS MCGRAW HILL JOYANES LUIS 17. RECURSOS Y MEDIOS TECNOLÓGICOS: Video beam portátil s con PC s (Linux/windows) Compilador de Lenguaje C/C++ Editor de Textos Software Curso Multimedia Interactivo (Freeware) Acceso a Internet Sitios Web descritos en las fuentes bibliográficas 18. RECURSOS HUMANOS (Equipo profesional que participará en el desarrollo del curso) Docente Auxiliar de laboratorio Director de Programa Ingeniería Electrónica Docentes Línea Ingeniería de Software FCBI - Unillanos