PROGRAMA DE ASIGNATURA 1. DATOS INFORMATIVOS ASIGNATURA: CÓDIGO BANNER: NIVEL: FUNDAMENTOS DE PROGRAMACIÓN DEPARTAMENTO: ELECTRICA Y ELECTRONICA DOCENTE: 15027 NRC: 1 CRÉDITOS: 2254, 2605, 2602 06 CARRERAS: ASIGNADOS: ELECTROMECANICA, ELECTRONICA, AUTOMOTRIZ, MECATRONICA, SOFTWARE, PETROQUIMICA PERIODO ACADÉMICO: SEPTIEMBRE 2012 – ENERO 2013 ING. XIMENA LOPEZ CHICO COMPETENCIA GENÉRICA: Interpreta y resuelve problemas de la realidad aplicando métodos de la investigación, métodos propios de las ciencias, herramientas tecnológicas y variadas fuentes de información científica, técnica y cultural con ética profesional, trabajo equipo y respeto a la propiedad intelectual. COMPETENCIA ESPECÍFICA: Desarrolla aplicaciones informáticas básicas que den solución a problemas de la ingeniería, aplicando algoritmos y un lenguaje de programación cumpliendo especificaciones con puntualidad y trabajo en equipo. ELEMENTO DE COMPETENCIA: Desarrolla programas estructurados para solucionar problemas del entorno. PRODUCTO INTEGRADOR DEL APRENDIZAJE: Aplicación que utilice algoritmos, estructuras de control y funciones, con diferentes tipos de datos propios del lenguaje y definidos por el usuario, relacionados con el área de Ciencias Exactas y aplicado a la carrera. 2. No. SISTEMA DE CONTENIDOS Y PRODUCTOS DEL APRENDIZAJE UNIDADES DE CONTENIDOS SISTEMA DE TAREAS Y PRODUCTOS DEL APRENDIZAJE Producto Integrador de unidad1: 1 UNIDAD 1: Lenguaje Algorítmico y Estructuras de Control Documentación donde se evidencie las fases de desarrollo (DACV) Definición, Análisis, Codificación, Validación en la resolución de un problema. Contenidos: 1. Programación Algorítmica Tarea 1. 1.1. Conceptos básicos Formulación del problema a desarrollar, considerar 1.1.1. Algoritmo problemas del entorno y de la vida cotidiana. Características de un algoritmo Metodología para la solución de problemas Tarea 2. por medio de computadora Resolución de problemas y ejercicios relacionados con 1.1.2. Representación de un algoritmo el diseño de algoritmos implementado Definición del Diagramas de flujo problema, análisis, Pseudo-codificación y Validación. Pseudocódigos 1.1.3. Prueba de escritorio: Tarea 3. 1.1.4. Constantes. Elaboración de trabajos de investigación orientados a la 1.1.5. Variables resolución de problemas del entorno, usando 1.1.6. Tipos de datos programación algorítmica y documentación aplicando Tipo entero organizadores gráficos. Tipo real Tipo carácter Tipo booleano Definidos por el usuario 1.1.7. Operadores CÓDIGO: SGC.DI.317 VERSIÓN: 1.0 FECHA ÚLTIMA REVISIÓN: 21/12/11 1 No. UNIDADES DE CONTENIDOS SISTEMA DE TAREAS Y PRODUCTOS DEL APRENDIZAJE Operadores aritméticos Operadores lógicos Operadores relacionales Operador asignación 1.1.8. Prioridad o precedencia de los operadores: 1.1.9. Expresiones 1.1.10. Entrada y salida de datos 1.1.11. Tipos de Estructuras de Control Estructura secuencial Estructuras condicionales Estructuras repetitivas o cíclicas 1.2. Introducción a la Programación de Computadores 1.2.1. Código Fuente 1.2.2. Programación 1.2.3. Depurar 1.2.4. Compilador 1.2.5. Programa 1.2.6. Software 1.2.7. Sistema Informático 1.2.8. Lenguaje de Programación 1.2.9. Historia de los lenguajes de programación Programación estructurada. Programación Orientada a objetos Programación Visual . Producto integrador: 2 UNIDAD 2: Programación Estructurada en Lenguaje C Contenidos: 2. Lenguaje de programación C++ 2.1. Variables y tipos de datos 2.2. Estructura general de un programa 2.2.1. Directivas 2.2.2. Main 2.2.3. librerías 2.2.4. Constantes 2.2.5. Comentarios 2.3. Operadores y expresiones 2.3.1. Operadores unarios Incremento Decremento 2.3.2. Operadores binarios Aritméticos Lógicos Relacionales 2.3.3. Operador de Asignación 2.3.4. Operador de condición 2.3.5. Expresiones 2.3.6. Sentencias de control Secuenciales Selección Repetitivas 2.3.7. Arreglos Unidireccionales Bidimensionales 2.3.8. Ordenación y búsqueda de arreglos Ordenación por método burbuja Búsqueda lineal Búsqueda binaria Programas desarrollados utilizando diferentes tipos de datos, operadores, expresiones, sentencias de control que son admitidos en el lenguaje ANSI C, aplicando herramientas libres y propietarias. Tarea 1. Instalación y configuración de la herramienta de programación. Tarea 2. Traducción de problemas resueltos en lenguaje algorítmico a lenguaje de programación. Tarea 3. Entrenamiento en el uso correcto de la herramienta de programación mediante ejercicios propuestos. 2.3.9. Cadenas de Caracteres CÓDIGO: SGC.DI.317 VERSIÓN: 1.0 FECHA ÚLTIMA REVISIÓN: 21/12/11 2 No. UNIDADES DE CONTENIDOS SISTEMA DE TAREAS Y PRODUCTOS DEL APRENDIZAJE Librerías String.h Producto Integrador de unidad3: 3 UNIDAD 3: Punteros y Modularización. Programas mediante el uso de funciones diseñadas por el programador aplicando correctamente el concepto de modularización y parametrización. Contenidos: 3.1 Introducción a los punteros. 3.1.1 Definición y tipos 3.1.2 Características 3.1.3 Declaración, implementación y aplicación Tarea 1. Depuración de errores de lógica, sintaxis y ejecución. Tarea 2. Resolución de problemas usando los diferentes tipos de funciones, aplicando paso de parámetros y uso de estructuras de selección. 3.2 Funciones 3.1.1 Definición, elementos y tipos 3.1.2 Características 3.1.3 Declaración e implementación 3.1.4 Paso de parámetros Valor Referencia Dirección 3.1.5 Paso de arreglos como parámetros Tarea 3. Estructurar el producto integrador de asignatura 3. RESULTADOS Y CONTRIBUCIONES A LAS COMPETENCIAS PROFESIONALES: LOGRO O RESULTADOS DE APRENDIZAJE A. Aplicar Conocimientos en matemáticas, ciencia e ingeniería. B. Diseñar, conducir experimentos, analizar e interpretar datos. C. Diseñar sistemas, componentes o procesos bajo restricciones realistas. D. Trabajar como un equipo multidisciplinario. E. Identificar, formular y resolver problemas de ingeniería. NIVELES DE LOGRO A B C Alta Media Baja X X X X X G. Comunicarse efectivamente. H. Entender el impacto de la ingeniería en el contexto medioambiental, económico y global. I. Comprometerse con el aprendizaje continuo. J. Conocer temas contemporáneos. K. Usar técnicas, habilidades y herramientas prácticas para la ingeniería. CÓDIGO: SGC.DI.317 VERSIÓN: 1.0 FECHA ÚLTIMA REVISIÓN: 21/12/11 Diseña algoritmos para la resolución de problemas relacionados a su perfil profesional X F. Comprender la responsabilidad ética y profesional. El estudiante debe X Implementa los algoritmos utilizando DFD, para su posterior desarrollo en lenguajes de programación estructurada Los algoritmos aplicados en el lenguaje de programación dan solución a los problemas bajo restricciones planteadas Asimilar e interiorizar la importancia del trabajo en equipo y el aporte multidisciplinario en la solución de problemas Resuelve problemas a partir de la elaboración del algoritmo más eficiente Cumplir con los compromisos asumidos, desarrollar los programas aplicando lógica de programación propia con eficiencia y efectividad. Expone oralmente temas de investigación asignados y presenta informes escritos de acuerdo al formato establecido. X Solo la constante preparación permitirá estar a la vanguardia del desarrollo tecnológico y científico X Emplear simuladores actuales, así como lenguajes de programación actuales y vigilar constantemente las actualizaciones de los mismos 3 4. PONDERACIÓN DE LA EVALUACIÓN TÉCNICAS E INSTRUMENTOS 1er Parcial 2do Parcial 3er Parcial 2 2 2 2 2 2 Pruebas 2 2 2 Evaluación 12 12 10 Producto de unidad 2 2 2 Tareas Investigación Lecciones Laboratorios/informes 2 Defensa del Producto-documento Abierto según trabajos realizados Puntos adicionales Total: 20 20 20 5. PROYECCIÓN METODOLÓGICA Y ORGANIZATIVA PARA EL DESARROLLO DEL PROGRAMA La asignatura se la impartirá con la participación de todos los alumnos, posibilitando la adopción de posturas críticas a través de reflexiones, propuestas y ejercicios que sugieran aplicaciones concretas de los temas analizados, en un ambiente de absoluta libertad y flexibilidad. Se diagnosticara conocimientos y habilidades adquiridas al iniciar el periodo académico. La lectura y posterior análisis personal o colectivo de los temas tratados, constituyen la principal forma de desarrollar los contenidos. Correlacionar los temas del curso con la realidad circundante que ayude a comprender la importancia de tales temas por sus implicaciones y aplicaciones en la ingeniería de sistemas en cualquier contexto que se requiera. Se impulsará la cultura investigativa en temas relacionados con la carrera y se hará el desarrollo de cualidades y destrezas en el laboratorio de programación, donde el estudiante comprobará lo estudiado en el aula. Las TICs (Tecnologías de la Información y Comunicaciones), se emplearán en la resolución de problemas de programación aplicados a la ingeniería y en la búsqueda actualizada sobre la aplicación de la programación en la ingeniería. La evaluación cumplirá con las tres fases: diagnóstica, formativa y sumativa, valorando el desarrollo del estudiante en cada tarea y en especial en las evidencias del aprendizaje de cada unidad; CÓDIGO: SGC.DI.317 VERSIÓN: 1.0 FECHA ÚLTIMA REVISIÓN: 21/12/11 4 6. DISTRIBUCIÓN DEL TIEMPO DEL MÓDULO: TOTAL HORAS CONFERENCIAS CLASES PRÁCTICAS PRÁCTICAS LABORATORIOS PRÁCTICAS ESCENARIOS REALES CLASES DEBATES CLASES EVALUACIÓN 96 20 20 30 4 4 18 7. ESTRATEGIA GENERAL DE EVALUACIÓN DEL APRENDIZAJE TÉCNICAS QUE SE EMPLEARÁN Trabajo en grupo: Discusión de temas específicos. Trabajo de Investigación desarrollado en grupos de trabajo. Prácticas de laboratorio. Trabajo individual: Solución de problemas. Presentación de temas de consulta cortos. Pruebas de control sistemáticas, parciales y finales tanto escritas como orales. ESTÁNDARES DE CALIDAD INDICADORES OPERATIVOS (expresan el nivel de salida que deben demostrar los estudiantes, se redactan a partir de las exigencias de las unidades de competencias) (Señala las características con la que se debe cumplir el estándar, se toma en cuenta calidad, cantidad y tiempo) Define, Analiza problemas, diseña algoritmos, resuelve problemas y desarrolla programas de computación aplicados a la ingeniería. Entrega el problema planteado con la definición, análisis, codificación y validación en un tiempo de 1hora 30 minutos. Plantea y resuelve ejercicios relacionados con los temas tratados. Entrega reportes de trabajos de investigación básica en un tiempo de 24h después de realizada la práctica respectiva. Plantea y soluciona con eficacia y eficiencia problemas de programación aplicados a la ingeniería. Realiza investigaciones documentales, individuales o en grupos de trabajo. Trabaja en equipo de 2 personas para proponer soluciones válidas a los problemas planteados de Fundamentos de Programación. Elabora reportes sobre prácticas de laboratorio 8. LIBROS DE TEXTOS BÁSICOS AUTOR TEXTO AÑO EDICIÓN EDITORIAL Evelio Granizo PSEUDOCÓDIGOS 1999 Evelio Granizo LENGUAJE C 1999 Luis Joyanes Aguilar, Ignacio Zahonero Martínez Francisco Javier Cevallos Joyanes, Luis y Zahonero Acera García, Miguel Ángel PROGRAMACIÓN EN C 2001 LENGUAJE C PROGRAMACIÓN EN C. C/C++. Edición revisada y actualizada 2012 1998 2001 2011 Alfaomega McGraw Hill ANAYA MULTIMEDIA Fundamentos de programación C++. Más de 100 algoritmos codificados 2008 Programación C++ 2011 MACRO ANAYA MULTIMEDIA Ricardo Marcelo Villalobos Liberty, Jesse; Cadenhead, Rogers Editorial ESPE Editorial ESPE McGrawHill 9. LECTURAS PRINCIPALES: PÁGINA http://www.abcdatos.com/tutoriales/programacion/c.html http://www.geocities.com/eztigma/lenguajec.html http://www.emagister.com/tutorial/tutoriales-lenguaje-ckwes-9497.htm CÓDIGO: SGC.DI.317 VERSIÓN: 1.0 FECHA ÚLTIMA REVISIÓN: 21/12/11 5