UNIVERSIDAD ALAS PERUANAS FACULTAD DE INGENIERÍAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERÍA AERONAUTICA FUNDAMENTOS DE COMPUTACIÓN E INFORMÁTICA - ALGORITMOS SILABO I. DATOS GENERALES: CARRERA PROFESIONAL CÓDIGO DE CARRERA PROF. ASIGNATURA : : : CODIGO DE ASIGNATURA Nº DE HORAS TOTALES Nº DE HORAS TEÓRICAS Nº DE HORAS PRÁCTICA Nº DE CRÉDITOS CICLO PRE – REQUISITOS TIPO DE CURSO DURACIÓN DEL CURSO CURSO REGULAR EXAMEN SUSTITUTORIO SEMESTRE ACADÉMICO : : : : : : : : : : : : INGENIERÍA AERONAUTICA 3301-33113 FUNDAMENTOS DE COMPUTACIÓN E INFORMÁTICA - ALGORITMOS 3301 - 33113 5 HORAS SEMANALES 3 HORAS SEMANALES 2 HORAS SEMANALES 4 CRÉDITOS POR CICLO II CICLO NINGUNO OBLIGATORIO 18 SEMANAS EN TOTAL 17 SEMANAS 1 SEMANA 2010 - II DESCRIPCION DE LA ASIGNATURA Esta asignatura es de naturaleza teórico - práctica orientada a proporcionar al estudiante de Aeronáutica de ALAS PERUANAS, una visión general de su carrera, así como iniciarlo en el aprendizaje de las técnicas básicas de programación y las características más notables de los lenguajes de programación vigentes en el mercado, desde una óptica de programación independiente del lenguaje. Sin embargo, para afianzar los conocimientos, en el laboratorio se utilizará un lenguaje de programación que permita al alumno verificar cada una de las etapas en el tratamiento informático de un problema. SEMESTRE 2010-II FUNDAMENTOS DE COMPUTACIÓN E INFORMATICA – ALGORITMOS 1 Se divide en 5 unidades: 1. ¿PORQUÉ SE UTILIZA UNA COMPUTADORA? Formado por: HARDWARE: En el que se considera sus elementos básicos de la computadora y su funcionamiento y SOFTWARE: En el que se desarrollan las etapas en el tratamiento informático de un problema. Tipos. Virus y problemática. Lenguajes de Programación. 2. REPRESENTACIÓN DE LA INFORMACIÓN EN LAS COMPUTADORAS: En la que se desarrollan los sistemas de numeración usuales en informática. Sistema en base 2: operaciones aritméticas y representación interna de la información. 3. ALGORITMOS – CONCEPTOS BASICOS, en la que se define algoritmos, sus características, notaciones. Elementos de un programa. Operadores y expresiones. Instrucciones o sentencias simples. 4. PROGRAMACIÓN ESTRUCTURADA. en la que se consideran las estructuras de control (secuencial, selectivo y repetitivo), que servirán de base para el curso de algoritmos y estructura de datos II. 5. FUNCIONES Y ARREGLOS. En la que se define arreglos y funciones, tipos de arreglos y métodos 6. CALCULO NUMÉRICO APOYADO EN COMPUTACIÓN. procedimientos, características para el hallar el resultado Se aplica los 7. PROGRAMAS DE APLICACIÓN EN INGENIERÍA. Utilizando programas como el Matlab y Mathcad para obtener soluciones En cada una de las unidades de esta asignatura se desarrollan aplicaciones reales, en pseudocódigo, proporcionando el soporte necesario para la codificación en cualquier lenguaje de programación, sirviendo de articulación en el proyecto curricular que define el perfil profesional del egresado de esta casa de estudios. III. OBJETIVOS OBJETIVOS GENERALES Al finalizar el curso, el estudiante será capaz de: Adquirir conocimientos generales referidos los fundamentos de la informática, algoritmos, estructura de datos, secuencial y operaciones de control. Adquirir los conocimientos de concepto de función, parámetros, valor devuelto, ámbito de las variables, variables locales y globales. Arreglos de una dimensión (vectores). Métodos de ordenamiento y búsqueda. Arreglos de dos dimensiones (matrices). Estructuras: declaración. Campo de una estructura. Archivos en discos. SEMESTRE 2010-II FUNDAMENTOS DE COMPUTACIÓN E INFORMATICA – ALGORITMOS 2 Comprender y manejar las estructuras de datos y las operaciones mas usadas para el procesamiento de información en una computadora. Adquirir conocimiento de los métodos para el cálculo de errores, ecuaciones, derivadas, integrales y del software de aplicación de ingeniería. OBJETIVOS GENERALES HARDWARE Conocer la división física de la computadora (Unidad Central del Sistema y periféricos) Diferenciar la memoria RAM y ROM Identificar los diversos tipos de periféricos: de entrada de salida, de almacenamiento y de comunicación. Conocer los elementos básicos de la UCS Comprender el funcionamiento de la CPU ( UC, UAL, y registros) Conocer os factores que influyen en la potencia de una computadora. SOFTWARE • • • • • Entender los conceptos básicos de la programación, la estructura y creación de un programa. Reconocer y utilizar algoritmos-pseudocódigo como herramienta para el bosquejo de solución de un problema. Comprender y entender cada una de las fases de desarrollo de un programa Conocer los conceptos de tipos de datos, variables, instrucciones de entrada, salida y asignación. Comprender el uso de expresiones y operadores aritméticos así como funciones predefinidas o estándar. LENGUAJES DE PROGRAMACIÓN • • Conocer el porqué existen diversos lenguajes de programación Explicar la razón de la existencia de cada LP, los problemas a los que son aplicables y sus ventajas e inconveniencias. REPRESENTACIÓN DE LA INFORMACIÓN EN LAS COMPUTADORAS • • • • • Comprender los sistemas de numeración matemáticos. Transformación de un sistema de numeración a otro y viceversa. Conocer las principales operaciones aritméticas binarias. Conocer los sistemas de numeración intermedios y su conversión entre ellos. Conocer los códigos de entrada/salida: BCD, EBCDIC y ASCII. Conocer como se representa internamente la información. SEMESTRE 2010-II FUNDAMENTOS DE COMPUTACIÓN E INFORMATICA – ALGORITMOS 3 • • • • Emplear el sistema hexadecimal en la codificación de colores. Detallar la forma de funcionar de los dos tipos más importantes Diseñar los organigramas tradicionales de personal para tres de los principales tipos de Centros de sistemas. Explicar en forma generalizada sus responsabilidades y métodos de control interno CONCEPTOS DE SISTEMAS DE INFORMACION Definir en qué consisten los sistemas de información Conocer la importancia multidisciplinaria. ALGORITMOS: CONCEPTOS BÁSICOS • • • • • • • Conocer y utilizar diversas formas de representar los algoritmos. Conocer adecuadamente los elementos de un programa Reconocer y utilizar algoritmos pseudocódigos como herramienta para el bosquejo de solución de un problema. Comprender y entender cada una de las fases de desarrollo de un programa. Comprender los conceptos de tipos de datos, variables, instrucciones de entrada, salida y asignación. Comprender el uso de expresiones y operaciones aritméticas así como funciones predefinidas o estándar. Aprender a resolver utilizando pseudocódigos y su codificación en un lenguaje de programación de alto nivel. PROGRAMACIÓN ESTRUCTURADA • • Entender y utilizar las estructuras de control secuenciales, de decisión y de repetición en la solución de problemas. Conocer y comprender la labor de un programador, desde el análisis del problema, (planteamiento del problema), pasando por el diseño del procedimiento de solución, codificación en un lenguaje de programación, pruebas con un amplio conjunto de datos de entrada que permita la verificación de los resultados, documentación (que permita que cualquier programador sea capaz de entenderlo), hasta el mantenimiento. IV. METODOLOGIA El profesor hará la presentación introductoria del curso y del Syllabus propiamente dicho. Promoverá el diálogo constante con los alumnos para ayudar a que fijen profundicen mejor los conocimientos que vayan adquiriendo. SEMESTRE 2010-II FUNDAMENTOS DE COMPUTACIÓN E INFORMATICA – ALGORITMOS 4 En todo momento resaltará la importancia de la necesidad de su participación espontánea en el curso y que no sólo deben conocer sino, investigar los diferentes temas tratados. Los temas serán enseñados mencionando su aplicación actual en la vida real y citando analogías para permitirles fijar mejor los conceptos. Se solicitará a los alumnos una monografía como mínimo sobre un tema previamente acordado con el profesor para que se familiaricen con la forma de trabajar de los profesionales de su carrera. Deberán, en todo momento, tener como fuente principal de consulta la separata que les proporcionará el profesor al inicio del curso para que le saquen copia; también podrán consultar Internet y los libros mencionados en la sección Bibliografía Es requisito, que el alumno, en todos los Trabajos de Investigación, Prácticas, Monografías, presentaciones, etc. haga uso intensivo de la Tecnología de la Información con énfasis en la Ofimática para Ingenieros, la misma que tiene incluida: Internet, Intranet, y Correo Electrónico. V. EVALUACION El reglamento vigente de la universidad exige la asistencia obligatoria a clases y que el profesor pase lista de asistencia en cada clase que dicta, anotando las inasistencias en el registro que le proporciona la Universidad. Dada la naturaleza del curso, la transmisión directa de la experiencia del profesor y la participación del alumno en la clase es de suma importancia, por lo que se reitera que la asistencia a clases es obligatoria. La justificación de las inasistencias sólo serán aceptadas con el informe que pueda elevar, el Departamento de Bienestar Universitario, al profesor del curso con copia al Encargado Académico de la Carrera. Finalmente, sólo el alumno que asiste regularmente a clases, gana el derecho a ser evaluado y que en todo momento estará presente la normatividad expresada en el reglamento de la Universidad. La modalidad de Evaluación será la siguiente: Práctica Calificada ( PC), que consiste en preguntas dados por el profesor del curso al alumno para que las responda en forma escrita (total 4 practicas). El profesor podrá tomar en cualquier momento de la clase (teórica o laboratorio) practicas calificadas individual o grupal rápidas cuyas notas se acumularán para ser considerada como una nota de práctica calificada que no se elimine y que irá definiendo el avance progresivo del alumno en el curso. SEMESTRE 2010-II FUNDAMENTOS DE COMPUTACIÓN E INFORMATICA – ALGORITMOS 5 El promedio de práctica se sacara con solo 3 notas de las 4 primeras practicas calificadas (eliminando la nota más baja) y el acumulado de las practicas rápidas. o Trabajos de Investigación (TI), que consiste en Temas puntuales o Ejercicios prácticos que el alumno desarrollará con el uso del computador y con la dirección del profesor. o Primer Examen Parcial (EP), que consiste de una evaluación teórico práctico de conocimiento y donde el alumno dará sus respuestas por escrito. Este examen es de la primera parte del curso (8 semanas). o Examen Final (EF), que consiste en la evaluación teórico - práctico de conocimiento de la segunda parte del curso y donde el alumno dará sus respuestas por escrito. Cada modalidad de evaluación anteriormente mencionada, tendrá un peso de 1 y la nota final del curso será el promedio aritmético de las cuatro notas. o Examen Sustitutorio (ES), que consiste en la evaluación teórico - práctico de conocimiento de todo el curso y donde el alumno dará sus respuestas por escrito. La nota obtenida en el examen Sustitutorio, podrá reemplazar la nota más baja que el alumno que el alumno haya obtenido en su Primer examen Parcial o en el Examen Final y de proceder el reemplazo, se re calculará la nueva nota final. En caso la nota del Examen Sustitutorio sea más baja que la nota más baja del Primer Examen Parcial o del Examen final, no se reemplazará ninguna de ellas, quedando el alumno con la nota obtenida hasta antes del examen Sustitutorio. Es de total aplicación el Reglamento Transitorio de Evaluación de la Universidad entregado al alumno. SEMESTRE 2010-II FUNDAMENTOS DE COMPUTACIÓN E INFORMATICA – ALGORITMOS 6 VI. CONTENIDO ANALITICO UNIDAD 1: ¿PORQUÉ SE UTILIZA UNA COMPUTADORA? SEMANA 01 Hardware Elementos básicos: El Microprocesador Central (CPU), placa principal, Bus, Memoria Principal. Funcionamiento de la CPU: Unidad de Control UC, Unidad Aritmética y Lógica UAL, Registros. Periféricos: Periféricos de entrada: Teclado: teclas de función, teclas numéricas, teclas alfanuméricas, teclas numéricas, teclas de edición, teclas especiales. Ratón, Lector de código de barras, Lector de tarjetas magnéticas, Lápiz óptico. Escáner, Tableta digitalizadora, Periféricos de salida: Pantallas de sistemas informáticos, Impresoras, Trazadores gráficos (plotters), Filmadoras / digitalizadoras. Periféricos de almacenamiento: Discos, CD Rom, cintas magnéticas, Discos ópticos escribibles, Comunicaciones: Módems. LABORATORIO 1: Proyección de videos / imágenes SEMANA 02 El Software y la Resolución de problemas Tratamiento informático de un problema: Análisis del problema, Diseño general y detallado, Codificación en un lenguaje de programación, Pruebas y documentación., Mantenimiento. Clasificación de las Computadoras – atendiendo al poder de cómputo: Supercomputadoras, macrocomputadoras (mainframes), minicomputadoras, estaciones de trabajo (workdtations), ordenadores personales(PC), calculadoras programables. LABORATORIO: Proyección de videos / imágenes. SEMESTRE 2010-II FUNDAMENTOS DE COMPUTACIÓN E INFORMATICA – ALGORITMOS 7 Tipos de Software. Software de Sistema, que se encarga de gobernar la computadora. Sistema operativo Software de desarrollo, que traducen, detectan errores, optimizan, etc. los programas escritos por el usuario al lenguaje de las computadoras. Compiladores e intérpretes, Ensambladores, montadores y cargadores. Depuradores y trazadores. Software de aplicaciones, que permite editar gráficos y textos, manejar bases de datos, llevar el control de facturación o contabilidad de una empresa, etc. Software de ofimática (editores de texto, hojas de cálculo y pequeños gestores de bases de datos). Software de edición y diseño gráfico, CAD Software de gestión empresarial, gestión de almacenes, de facturación, de nóminas, etc. Software de ingeniería y ciencias, cálculos de estructuras en Ing. Civil, de modelización del clima, etc. SEMANA 03 Virus. Antivirus y problemática. Formas de infección. Formas de prevención, detección, y eliminación Lenguajes de Programación. ¿Porque la diversidad de lenguajes informáticos? Tipos de Lenguajes informáticos: Lenguajes de programación imperativa, Lenguajes de programación funcional, Lenguaje de programación Lógica, Lenguaje de programación orientada a objetos. UNIDAD 2: Representación de la información en las computadoras SEMANA 04 Sistemas de numeración usuales en informática Representación posicional de los números. Sistema de numeración en base 2: Transformaciones de binario a decimal y Transformaciones de decimal a binario. Operaciones aritméticas binarias. SEMANA 05 Códigos intermedios: Base octal, base hexadecimales. Códigos de entrada/salida Representación interna de la información. Representación interna de los distintos tipos de datos. Representación interna de los datos enteros: en binario y en BCD Representación interna de los datos de tipo real. LABORATORIO: Aplicaciones de chequeo usando accesorios de windows Calculadora. Paint. - Codificación de colores en hexadecimal. SEMESTRE 2010-II FUNDAMENTOS DE COMPUTACIÓN E INFORMATICA – ALGORITMOS 8 UNIDAD 3: ALGORITMOS SEMANA 06 INTRODUCCION Definición de algoritmos. Características. Notaciones para describir algoritmos: pseudocódigo, Nassi sneidermann, y diagramas de flujo. pseudocódigo .- reglas. como construir programas. Elementos de programas: Datos : definiciones y tipos. Constantes y variables: Constantes: enteras, reales, carácter, cadena de caracteres. Variables: nombre, declaración e inicialización. Tipos de datos- modificadores de tipo- real, entero, carácter y lógico Expresiones SEMANA 07 Operadores y operadores aritméticos Operadores y expresiones relacionales lógicas. Operadores y expresiones de asignación. Precedencia de los operadores. Instrucciones o sentencias simples: Sentencias de asignación Sentencias matemáticas y Sentencias de entrada/salida LABORATORIO: Instrucciones o sentencias en el lenguaje C++. UNIDAD 4: PROGRAMACIÓN ESTRUCTURADA SEMANA 08 Conceptos básicos de la programación estructurada. ESTRUCTURAS EN EL DESARROLLO DE ALGORITMOS (PSEUDOCODIGO) Enunciado de Asignación - Reglas. Enunciado de Lectura y de escritura. ESTRUCTURAS SECUENCIALES Funciones Estándar aritméticas: seno, coseno, arco tangente, exponencial, logarítmica, truncamiento, redondeo, fracción. Funciones estándar algebraicas-operaciones con cadenas: longitud de una cadena, Comparación, concatenación, su cadena, búsqueda de una cadena en otra, Insertar, borrar, cambiar. Conversión de cadenas en números y viceversa. Ejercicios de Construcción de Algoritmos. Algoritmos de Aplicación SEMANA 09 EXAMEN PARCIAL SEMESTRE 2010-II FUNDAMENTOS DE COMPUTACIÓN E INFORMATICA – ALGORITMOS 9 SEMANA 10 LABORATORIO Resolución de problemas aplicados, con estructuras secuenciales y usando el lenguaje de programación C++. ESTRUCTURAS SELECTIVAS Expresiones Lógicas. Estructura de Selección: Simple, Doble y Múltiple. IF (SI.) y CASE (CASO). Ejercicios de Aplicación. LABORATORIO Resolución de problemas aplicados, con estructuras y selectivas usando el lenguaje de programación C++. ESTRUCTURAS REPETITIVAS FOR (PARA) simples y anidados REPEAT (REPETIR). DOWHILE (HACER MIENTRAS). Simulación de la estructura FOR. Comparación entre estructuras de Repetición. Contador y acumulador - Ejercicios Prácticos. LABORATORIO Resolución de Problemas aplicados, usando estructuras Repetitivas, en el lenguaje de programación C++ (Borland C++) UNIDAD 5: ARREGLOS Y FUNCIONES SEMANA 11 Arreglos de una dimensión (vectores). Métodos de ordenamiento y búsqueda. Arreglos de dos dimensiones (matrices). Concepto de Arreglos (Arrays). Tipos de arreglos. - Arreglos Estáticos. - Arreglos Unidimensionales. Declaración, Asignación de datos y manejo de índices. - Operaciones con arreglos Unidimensionales. - Uso del Control RichTextBox - Desarrollo de aplicaciones para Windows con arreglos unidimensionales. - Funciones arrays. - Métodos de Ordenamiento de datos en arreglos unidimensionales. - Desarrollo de aplicaciones Windows con arreglos Unidimensionales de datos Ordenados SEMANA 12 - Arreglos Bidimensionales. Declaración, Asignación de datos y manejo de índices. - Operaciones con arreglos Bidimensionales - Desarrollo de aplicaciones Windows con arreglos bidimensionales - Arreglos Dinámicos. - Re dimensión de arreglos dinámicos. - Uso del Control ListView. Descripción, métodos y propiedades SEMESTRE 2010-II FUNDAMENTOS DE COMPUTACIÓN E INFORMATICA – ALGORITMOS 10 Concepto de función. Parámetro, valor devuelto. Ámbito de las variables. Variables locales y globales. LABORATORIO: VISUAL BASIC SEMANA 13 Procedimientos: Concepto, características y declaración en visual Basic .Net - Funciones Definidas por el Usuario. Concepto, Características. - Manejo de parámetros por referencia y por valor. - Desarrollo de aplicaciones Windows con funciones y procedimientos definidos - Creación de Clases de procedimientos o métodos - Creación de objetos basados en la clase de objetos. - Sobrecargas de procedimientos. LABORATORIO: VISUAL BASIC UNIDAD 6: CALCULO NUMERICO APOYADO EN COMPUTADORA SEMANA 14 Procedimientos: Concepto y características para el cálculo de errores, ecuaciones, derivadas, integrales. LABORATORIO: Utilizando el programa Math UNIDAD 7: PROGRAMAS DE APLICACION EN INGENIERIA SEMANA 15 Matemática, MatLab, MathCad: conceptos y uso en la solución de problemas. SEMANA 16 Matemática, MathCad: conceptos y uso en la solución de problemas SEMANA 17 Examen Final SEMANA 18 Examen Sustitutorio SEMESTRE 2010-II FUNDAMENTOS DE COMPUTACIÓN E INFORMATICA – ALGORITMOS 11 VII. REFERENCIAS 1. Programación Estructurada. Un enfoque algorítmico. Leobardo Lopez Román. Computec 2. Diseño y Análisis de Algoritmos - Algorítmica.Galve, J., Gonzales, J. C., Sánchez Addison/wesley/Iberoamericana/.ra - 1993 3. Estructura de Datos y Algoritmos - Mark Allen Weiss - Editorial Limusa - 1990. 4. Algoritmos en C++. Addison/Wesley/Díaz de Santos. Sedwewick, Robert 1995 5. Estructura de datos. Seymour Lipschutz. Mc Graw Hill 6. Sistemas y Conceptos de Bases de Datos - Henry Korth - Editorial Limusa - 1990. 7. Estructura de datos – Osvaldo Cairo. Mc. Graw Hill – 1994 8. Metodología de la Programación. Tomo I – II. Osvaldo Cairo – Computec 1996 9. Programación sin secretos. España. VIII. ARTICULOS DE INTERNET: Referencias De Computación: http://www.monografias.com/trabajos/refercomp/refercomp.shtml Bases de la Teleinformática: http://www.monografias.com/trabajos4/teleinf/teleinf.shtml Redes de Computadoras: http://www.monografias.com/trabajos5/redes/redes.shtml Redes y Comunicaciones: http://www.monografias.com/trabajos3/redycomun/redycomun.shtml Internet: http://www.monografias.com/trabajos5/rnet/rnet.shtml TEMAS DE COMPUTACIÓN: Hardware y software. http://www.sandrex.net/ SEMESTRE 2010-II FUNDAMENTOS DE COMPUTACIÓN E INFORMATICA – ALGORITMOS 12 IX. BIBLIOGRAFÍA BASICA: 1. Deitel H. M. : Como programar en c/c++. EDI 1. 2. Hornig : Comodore 128: Consejos y Trucos. EDI 1. 3. Schmidt : Comodore 128: para principiantes. EDI 1. 4. Fournier G. J. : Introduccion a la Informatica. EDI 1. 5. Levine G. G. : Estructura Fundamental DE la Computación. EDI 1. 6. Costales B. : Introducción al lenguaje C. EDI 1. 7. Cevallos S. F. J. : Cursos de programación con C. EDI 1. 8. Freedman A. : Diccionario de computación. EDI 4. 9. Schevin G. H. : Diccionario Moderno de Informatica. EDI 1. 10. Farrando R. : 109 Programas para ordenadores personales y calculos. EDI 1. 11. Campbell M. : 1-2-3 para windows a su alcance. EDI 2. SEMESTRE 2010-II FUNDAMENTOS DE COMPUTACIÓN E INFORMATICA – ALGORITMOS 13 SEMESTRE 2010-II FUNDAMENTOS DE COMPUTACIÓN E INFORMATICA – ALGORITMOS 14 11 SEMESTRE 2010-II FUNDAMENTOS DE COMPUTACIÓN E INFORMATICA – ALGORITMOS 15