INSTITUTO TECNOLOGICO DE LAS AMERICAS CARRERA DE TECNOLOGO EN DESARROLLO DE SOFTWARE FUNDAMENTOS DE PROGRAMACION Nombre de la asignatura: Fundamentos de programación Nomenclatura del Curso: SOF-001 Prerrequisitos: Fundamentos del computador Nomenclatura del prerrequisito TI-101 Número de Créditos: 5 Horas Teóricas: 45 Horas de Práctica: 30 Horas de Investigación 45 introducción Esta asignatura de ciclo formativo provee al estudiante la lógica de programación necesaria para el trabajo con algoritmos. Justificación El tecnólogo en Manufactura Automatizada tiene la gran tarea de ser capaz de programar de manera manual cualquier maquina de control numérico, pero para esto se deben tener conceptos de programación, aplicar a los diferentes casos la lógica de programación necesaria en cada caso. Esta asignatura le da al estudiante la capacidad de comprender entidades abstractas y crear modelos para representarlas para posteriormente esquematizar un algoritmo con miras solucionar el problema en cuestión. Descripción: Objetivo General: El alumno será capaz de crear páginas de Web sencillas utilizando HTML y será capaz de crear servlets que respondan a una entrada o petición del usuario desde el navegador. El curso también enseña al alumno estrategias efectivas para aprender lenguajes de programación, estableciendo las bases para aprender Java rápidamente, así como otros lenguajes de programación. Objetivos Específicos: 1. Que el estudiante comprenda la lógica de programación y la pueda aplicar a casos reales. 2. Fortalecimiento de la capacidad de abstracción. 3. Enseñar un primer lenguaje de programación que le servirá de base para aprender cualquier otro lenguaje. Contenidos: 1. La Lógica. 1.1. Conceptos Básicos de Informática 2. Diagrama de flujo y UML 3. Metodología para solucionar un problema 3.1. Introducción 3.2. Algoritmos 3.3. Trascripción 3.4. Compilación 3.5. Ejecución o puesta en marcha 3.6. Verificación de resultados 4. Variables, constantes y operadores 4.1. Variable 4.2. Tipo entero 4.3. Tipo real 4.4. Tipo carácter 4.5. Asignaciones 4.6. Operadores 4.7. Ejercicios 5. Estructuras básicas y técnicas para representar algoritmos 5.1. Consideraciones algorítmicas sobre el pensamiento humano 5.2. Secuencia 5.3. Decisión 5.4. Ciclos 5.5. Estructuras básicas expresadas técnicamente 5.6. La secuencia de órdenes 5.7. Las decisiones 5.8. Los ciclos 5.9. Técnicas para representar algoritmos 5.10. Diagramas de flujo 5.11. Diagramas rectangulares estructurados 5.12. Seudo códigos 5.13. Cuadro comparativo 6. Tecnologías para la programación 6.1. Lenguajes de bajo nivel 6.2. Lenguajes de alto nivel 6.3. Lenguajes interpretados 6.4. Lenguajes compilados 6.5. Errores en un programa 6.6. Errores humanos 6.7. Errores de concepción 6.8. Errores lógicos 6.9. Errores de procedimiento 6.10. Errores detectados por un computador 6.11. Errores de sintaxis 6.12. Errores de precaución 6.13. Desarrollo histórico de la programación 7. Metodología, técnica y tecnología para solucionar un problema 7.1. Concepción del problema 7.2. Clarificación del objetivo 7.3. Algoritmo 7.4. Prueba de escritorio 7.5. Técnicas de representación 7.6. Diagrama de flujo 7.7. Diagramación rectangular estructurada 7.8. Seudo código 7.9. Trascripción o codificación 7.10. Primer Enunciado 7.11. Segundo Enunciado 7.12. Tercer Enunciado 8. Decisiones 8.1. Estructura Si-Entonces-Sino 8.2. Decisiones en cascada 8.3. Decisiones en secuencia 8.4. Decisiones anidadas 8.5. Estructura casos 8.6. Estructura casos simples 8.7. Estructura casos anidados 9. Ciclos 9.1. Concepto general 9.2. Tipos de ciclos 9.2.1. Ciclo WHILE 9.2.2. Ciclo FOR 9.2.3. Ciclo DO UNTIL 9.2.4. Ciclo DO WHILE 9.2.5. Ciclos anidados 9.2.6. Ejemplos de ciclos 10. Arreglos 10.1. Concepto general 10.2. Índices 10.2.1. Características 10.3. Vectores 10.3.1. Características 10.3.2. Ejemplos de vectores 10.4. Matrices 11. Funciones 11.1. Concepto general 11.2. Problemas reales de la programación 11.3. Macro algoritmo 11.4. Variables globales y variables locales 12. Usando World Wide Web 13. HTML, formas y servlets 14. Programación con Java 14.1. Clases y objetos 14.2. Tipos de datos y variables 14.3. Operadores 14.4. Expresiones 14.4.1. Expresiones aritméticas 14.4.2. Expresiones booleanas 14.4.3. Expresiones relacionales 14.5. Flujo de control 14.6. Iteración 14.7. Vectores 14.8. Herencia Metodología: El instructor utiliza una combinación de recursos audiovisuales y demostraciones a través de los equipos localizados en los laboratorios, orientado a la práctica continua y técnicas de enseñanza activa. Los métodos de enseñanza a utilizar tienen la característica de dotar al estudiante con un nivel teórico práctico para el mejor desenvolvimiento en el ámbito laboral. Recursos: Evaluación: Textos Laboratorio de cómputos. Conexión a Internet. Compilador del lenguaje C. Editor de texto. Exámenes Prácticas Examen final 30% 40% 30% FUNDAMENTOS DE PROGRAMACION. LIBRO DE PROBLEMAS Autor: JOYANES AGUILAR, LUIS Editora: MCGRAW-HILL / INTERAMERICANA DE ESPAÑA, S.A. ISBN: 8448107004 PROGRAMACION EN C: METODOLOGIA, ESTRUCTURA DE DATOS Y OBJETOS Autores: JOYANES AGUILAR, LUIS y ZAHONERO MARTINEZ, IGNACIO Editora: MCGRAW-HILL / INTERAMERICANA DE ESPAÑA, S.A. Lengua: CASTELLANO ISBN: 8448130138 INTRODUCTION TO PROGRAMMING USING JAVA: AN OBJECT-ORIENTED APPROACH 2nd Edition David Arnow, Scott Dexter, Gerald Weiss ISBN: 0-321-20006-3 Addison-Wesley Profesor: Raydelto Hernández