• General

    Programación I (2009)

    • Programa

       

       

      Datos identificativos de la Asignatura

      • Asignatura: Programación I

      • Código: 5407

      • Departamento / Área: Matemáticas, Estadística y Computación

      • Título: Ingeniero en Informática

      • Profesores: Michael González Harbour / José Luis Montaña Arnáiz


       

      Objetivos Generales

      Aprender los conceptos básicos de algorítmica, así como la codificación de algoritmos sencillos en un lenguaje de programación concreto.

       

      Objetivos Específicos

      Conocimientos

      - Conocer y comprender la sintaxis y semántica de las expresiones e instrucciones de un lenguaje de programación imperativo.

      - Conocer el concepto de clase y objeto como elementos constituyentes de los programas

      - Conocer y saber utilizar los tipos de datos elementales, las tablas y las secuencias.

      - Conocer los conceptos de método y paso de parámetros.

      - Conocer los principios de la entrada/salida interactiva simple

       

      Habilidades

      - Especificar problemas sencillos de programación

      - Saber aplicar a problemas sencillos el razonamiento inductivo para construir algoritmos.

      - Codificar estos algoritmos en un lenguaje de programación imperativo

      - Utilizar un sistema de desarrollo para editar, compilar y ejecutar programas

      - Razonar informalmente sobre la corrección de los algoritmos

       

      Capacidades

      - Dotar de capacidad para la abstracción (simplificación) y para el razonamiento semiformal pero riguroso.

      - Capacidad para comprender los problemas, desde el enunciado, saber especificar y distinguir datos, resultados y datos/resultados.

      - Capacidad para enfrentarse a los problemas, siendo capaz de resolver nuevas situaciones desde los conocimientos adquiridos.

      - Dotar de capacidad para abordar con éxito el estudio de nuevas materias de la titulación de Ingeniería Informática.

       

       

      Programa

      BLOQUE I: CONCEPTOS Y TÉCNICAS BÁSICAS EN PROGRAMACIÓN

      1. Introducción.

      - Programas y lenguajes.

      - Necesidad de la programación modular.

      - Ciclo de vida de los programas

      - Concepto de algoritmo

      - Noción de proceso.

      - Variables y estado de un programa

      - Traza de un proceso

       

      2. Datos y expresiones. Especificación de algoritmos

      - Tipos primitivos

      - Variables y constantes

      - Operadores y expresiones

      - Noción de especificación

      - Noción de predicado

      - Corrección de un algoritmo

      - Reglas de consecuencia de una especificación

      - Encapsulamiento: Concepto de clase y objeto

      - Diagramas de clases

      - Métodos y paso de parámetros

      - Especificación de clases y objetos

       

      3. Estructuras algorítmicas básicas.

      - La asignación

      - Corrección de la asignación. Regla de inferencia

      - Composición secuencial de instrucciones

      - La instrucción alternativa simple

      - La instrucción alternativa múltiple

      - Alternativa exclusiva y general

       

      4. Iteración y recursión.

      - Diseño iterativo. Instrucción de bucle

      - Corrección de la implementación iterativa: Trazas, invariantes y cotas

      - Fases del diseño iterativo

      - Otras instrucciones de bucle

      - Recursión

      - Corrección de la implementación recursiva

      - Fases del diseño recursivo

       

      5. Iteración y recursión sobre secuencias.

      - Introducción

      - Descripción de la secuencia. Interfaz

      - Recorridos sobre secuencias

      - Búsquedas en secuencias

      - Esquemas mixtos

       

      6. Iteración y recursión sobre tablas.

      - Concepto de tabla. Sintaxis

      - Operaciones sobre tablas

      - Recorrido de tablas

      - Búsqueda en tablas

      - Búsqueda binaria

      - Algoritmos sencillos de ordenación en tablas

       

      BLOQUE II: ELEMENTOS DEL LENGUAJE DE PROGRAMACIÓN JAVA

       

      1. Introducción a los lenguajes de programación

      - El software del sistema.

      - Lenguajes de Programación.

      - Lenguajes de alto y bajo nivel.

      - Ensambladores, compiladores e intérpretes.

      - Algunos lenguajes de alto nivel.

      - El proceso de compilación.

      - El ciclo de vida del software

       

      2. Estructura de un programa

      - Introducción al lenguaje Java

      - Clases y objetos en Java

      - Estructura de un programa

      - Estructura de una clase

      - Estructura de una operación

       

      3. Datos y expresiones simples

      - Tipos primitivos

      - Los datos en Java

      - Operadores y expresiones

      - Conversión de tipos

      - Uso de funciones matemáticas

      - Declaración de clases y objetos

      - Strings

      - Composición de objetos

       

      4. Instrucciones de control

      - Instrucciones simples y compuestas

      - Instrucción condicional simple

      - Instrucción condicional múltiple

      - Instrucciones de bucle

      - Bucle con condición de permanencia al principio

      - Bucle con condición de permanencia al final

      - Bucle con variable de control

      - Instrucciones de salto en bucles

       

      5. Entrada/Salida simple

      - Entrada salida de texto

      - Entrada/salida de números

      - Dibujos

      - Gráficas de funciones

      - Menús

       

      6. Arrays, secuencias y tablas

      - Construcción de tablas mediante arrays

      - Arrays unidimensionales

      - Uso de arrays

      - Recorrido y recorrido parcial

      - Búsqueda

      - Arrays multidimensionales

      - Tablas de tamaño variable

       

       

      BLOQUE III: HERRAMIENTAS DE LABORATORIO

       

      1. Sistemas operativos

      - Conceptos básicos

      - Sistemas operativos comunes

      - Inicio y terminación de sesiones

      - El sistema de ficheros

      - Nombres de ficheros en Unix

      - Directorio de trabajo

      - Intérprete de órdenes

      - Órdenes más usuales

      - Gestión de directorios

      - Gestor gráfico de ficheros

      - Uso de memorias USB

      - Aspectos avanzados

       

      2. Entorno integrado de desarrollo de programas

      - Proceso de desarrollo de programas

      - El editor de texto

      - Compilar y ejecutar programas Java

      - Uso del entorno de desarrollo

      - Gestión de proyectos

      - La compilación

      - La depuración

      - Generación de documentación

      - Empaquetamiento del programa