Topic outline

  • Programación en Lenguaje Java (2015)

    programacion_en_lenguaje_java

         

    Profesores

    Michael González Harbour

    Mario Aldea-Rivas      

    Departamento de Ingeniería Informática y Electrónica

     

     

     

     

     

     

     

    Curso básico sobre "Programación en Lenguaje Java" en el que se ven los fundamentos de la programación de computadores y del razonamiento sobre los programas. Se pretende familiarizarse con las nociones fundamentales de la programación orientada a objetos así como ser capaz de documentar el código fuente de un programa.

    Basic course on the Java Programming Language including the fundamentals of computer programming and reasoning about programs. The aim is to become familiar with the fundamentals of object-oriented programming and to be able to document the source code of a program.

     

    Palabras Clave de la Asignatura

      Polymorphism, Polimorfismo, Java, Modularidad, Inheritance, Programming, Pruebas de Módulos, Modularity, Input and Output, Class Diagrams, Exceptions, Programación orientada a objetos, Unit Testing, Object-Oriented Programming, Entrada y Salida, Herencia, Programación, Excepciones, Diagramas de Clases.

  • Programa

    programa

     

     

    Datos identificativos de la Asignatura

    • Asignatura: Programación en Lenguaje Java

    • Código Parte 1: Introducción al Software - G266

    • Código Parte 2: Métodos de Programación - G271

    • Departamento / Área: Departamento Ingeniería Informática y Electrónica

    • Título: Grado en Ingeniería Informática

    • Centro: Facultad de Ciencias

    • Créditos ECTS: 6

    • Idioma de impartición: Español

    • Profesores responsables: Michael González Harbour y Mario Aldea-Rivas

     

     

     

        Programa de la asignatura    

     

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

    • Lenguajes de alto nivel.

    • El proceso de compilación.

    • El ciclo de vida del software.

    • Introducción al análisis de requisitos.

    • Diagrama de Clases en UML.

    • Diseño orientado a objetos.

    • Especificación de los métodos.

    • Programación orientada a objetos.

    • Concepto de algoritmo.

    • Concepto de clase y objeto.

    • Diagramas de clases.

    • Estructura de un programa.

    • Estructura de un método.

       

    Tema 2. Datos y expresiones

    • Tipos primitivos.

    • Variables y constantes.

    • Operadores y expresiones.

    • Conversión de tipos.

    • Uso de funciones matemáticas.

    • Declaración de objetos.

    • Strings.

    • Composición de objetos.

    • Atributos y métodos estáticos.

       

    Tema 3. Estructuras algorítmicas

    • Instrucción condicional.

    • Instrucción condicional múltiple.

    • Instrucciones de bucle.

    • Recursión.

    • Descripción de algoritmos mediante pseudocódigo.

       

    Tema 4. Datos compuestos

    • Arrays y tablas unidimensionales.Algoritmos de recorrido y búsqueda.

    • Arrays multidimensionales.

    • Tipos enumerados.

       

    Tema 5. Entrada/salida

    • Entrada/salida de texto y de caracteres.E/S de números.

    • Gráficas.

    • Dibujos.

    • Menús de botones.

       

    Tema 6. Clases, referencias y objetos

    • Concepto de clase y objeto.

    • Creación e inicialización de objetos.

    • Tipos primitivos, referencias y objetos.

    • Recolector de basura.

    • Comparación de objetos.

    • Métodos y campos de clase (o estáticos).

    • Anidamiento de clases.

       

    Tema 7. Modularidad y abstracción: aspectos avanzados

    • Conceptos de modularidad y abstracción.

    • Modificadores de acceso básicos.

    • Paquetes.

    • Módulos genéricos.

    • Programación con módulos predefinidos.

    • Documentación del código fuente.

       

    Tema 8. Herencia y polimorfismo

    • Herencia.

    • Clases abstractas.

    • Polimorfismo.

    • La clase Object.

       

    Tema 9. Tratamiento de errores

    • Tratamiento de errores por paso de parámetros.

    • Excepciones.

    • Bloques de tratamiento excepciones.

    • La cláusula Finally.

    • Patrones de tratamiento de excepciones.

    • Jerarquía de las excepciones.

    • Lanzar excepciones.

    • Usar nuestras propias excepciones.

    • Utilización de excepciones.

       

    Tema 10. Entrada/Salida con ficheros

    • Conceptos básicos.

    • Flujos de datos (Streams).

    • E/S de texto.

    • E/S de texto con formato.

    • E/S binaria.

       

    Tema 11. Prueba de programas

    • Verificación y validación.

    • Pruebas del software.

    • Caja negra: particiones de equivalencia.

    • Herramienta JUnit.

  • Bibliografía

    bibliografia

      

     

        Básica    

     

    • D.J. Barnes & M. Kölling (2011): «Objects first with Java: A practical introduction using Bluej». Prentice Hall.

    • Deitel, Paul J. & Deitel, Harvey M. (2012): «Cómo programar en Java». 9ª edición. Pearson Educación, Mexico.

     

     

     

        Complementaria    

     

    • Ken Arnold, James Gosling & David Holmes (2000): «El lenguaje de programación Java». 3ª edición. Addison-Wesley.

    • S. Zakhour, S. Hommel, J. Royal, I. Rabinovitch, T. Risser & M. Hoeber (2006): «The Java Tutorial Fourth Edition». Pearson Education. The Java Tutorials.

    • A.V. Aho, J.E. Hopcroft & J.D. Ullman (1988): «Estructuras de datos y algoritmos». Addison-Wesley.

     

     

     

        Software    

     

    • Uno de los siguientes entornos de desarrollo, que funcionan tanto sobre sistema operativo Windows como sobre Linux.

          Entorno de desarrollo Bluej, con compilador Java de Sun, versión 7 o superior.

          - Entorno de desarrollo Eclipse JDK, versión Luna.

  • Materiales de Clase

    materiales

     

     

    • MC-F-001. Tema 1. Introducción a los lenguajes de programación.
    • MC-F-002. Tema 2. Datos y expresiones.
    • MC-F-003. Tema 3. Estructuras algorítmicas.
    • MC-F-004. Tema 4. Datos compuestos.
    • MC-F-005. Tema 5. Entrada/salida.
    • MC-F-006. Tema 6. Clases, referencias y objetos.
    • MC-F-007. Tema 7. Modularidad y abstracción.
    • MC-F-008. Tema 8. Herencia y polimorfismo.
    • MC-F-009. Tema 9. Tratamiento de errores.
    • MC-F-010. Tema 10. Entrada/salida con ficheros.
    • MC-F-011. Tema 11. Pruebas.
  • Prácticas

    practicas

     

     

    Tema 2. Datos y expresiones

    • PA-F-001. Práctica 2.1. Creación de objetos.

    • PA-F-003. Práctica 2.2. Crear un dibujo animado.

    • PA-F-005. Práctica 2.3. Simulación del movimiento orbital de un satélite y su planeta.

    • PA-F-007. Práctica 2.4. Movimiento oscilatorio forzado.

       

    Tema 3. Estructuras algorítmicas

    • PA-F-009. Práctica 3.1. Piscifactoría.
    • PA-F-010. Práctica 3.2. Movimiento de una partícula cerca de una placa cargada.
    • PA-F-011. Práctica 3.3. Raíz de un polinomio de tercer grado, método de Newton-Raphson.
    • PA-F-012. Práctica 3.4. Cálculos con señales cuadradas.

       

    Tema 4. Datos compuestos

    • PA-F-014. Práctica 4.1. Lista de Estaciones meteorológicas.

     

    Tema 5. Entrada/salida

    • PA-F-018. Práctica 5.1. Cálculo de escapatorias en un circuito de Fórmula 1.

       

    Tema 6. Clases, referencias y objetos

    • PA-F-019. Práctica 6.1. Implementación. Transbordador.

    • PA-F-021. Práctica 6.2. Implementación. Diseño e implementación. Estadísticas equipo baloncesto.

    • PA-F-023. Práctica 6.3. Diseño e implementación. Comisiones de venta.

       

    Tema 7. Modularidad y abstracción

    • PA-F-025. Práctica 7.1. Paquetes. Señales movimiento ondulatorio.

    • PA-F-027. Práctica 7.2. Diseño e implementación. Reparaciones taller.

       

    Tema 8. Herencia y polimorfismo

    • PA-F-029. Práctica 8.1. Herencia. Empresa de seguros.
    • PA-F-030. Práctica 8.2. Herencia. Empresa de seguros (continuación de la Práctica 8.1).

       

    Tema 9. Tratamiento de errores

    • PA-F-034. Práctica 9.1. Excepciones. Cuenta de valores.

    • PA-F-036. Práctica 9.2. Herencia y Excepciones. Biblioteca.

       

    Tema 10. Entrada/salida con ficheros

    • PA-F-038. Práctica 10.1. Ajuste polinómico de un conjunto de puntos.

    • PA-F-040. Práctica 10.2. Ficheros de texto. Reparaciones taller. 
    • PA-F-041. Práctica 10.3. Entrada y salida de texto con formato. Medidas temperaturas.
    • PA-F-042. Práctica 10.4. Entrada y salida en ficheros binarios. GPS.

  • Ejercicios

    ejercicios

      

      

    Tema 2. Datos y expresiones

    • EP-F-001. Problema 2.1. Datos de una clase. Tipos primitivos; Sangrado.

    • EP-F-002. Problema 2.2. Practicar con literales, clases, expresiones y compatibilidad de tipos.

    • EP-F-003. Problema 2.3. Practicar con expresiones.

       

    Tema 3. Estructuras algorítmicas

    • EP-F-004. Problema 3.1. Practicar con strings e instrucciones condicionales.

    • EP-F-005. Problema 3.2. Practicar con instrucciones de control.

       

    Tema 4. Datos compuestos

    • EP-F-006Problema 4.1. Practicar recorridos con Arrays.

    • EP-F-007Problema 4.2. Practicar con arrays y ArrayList.

    • EP-F-008Problema 4.3. Practicar con ArrayList, Arrays multidimensionales y tipos enumerados.

       

    Tema 6. Clases, referencias y objetos

    • EP-F-009Problema 6.1. Diseño. Empresa de alquiler de vehículos con conductor.

    • EP-F-010Problema 6.2. Cuestiones sobre referencias y objetos.

       

    Tema 7. Modularidad y abstracción

    • EP-F-011Problema 7.1. Uso de ArrayList. Agenda de contactos.

       

    Tema 8. Herencia y polimorfismo

    • EP-F-012Problema 8.1. Precio del alquiler de vehículos.

    • EP-F-013Problema 8.2. Cuestiones herencia y polimorfismo.

       

    Tema 9. Tratamiento de errores

    • EP-F-014Problema 9.1. Cuestión propagación excepciones.

    • EP-F-015Problema 9.2. Cuestiones excepciones.

       

    Tema 10. Entrada/salida con ficheros

    • EP-F-016Problema 10.1. Escritura/lectura de ficheros de texto.

    • EP-F-017Problema 10.2. Ficheros binarios. Medidas contaminación. 

       

    Tema 11. Pruebas

    • EP-F-018Problema 11.1. Prueba unitaria de una clase sencilla.

    • EP-F-019Problema 11.2. Cuestiones: referencias, objetos y excepciones.

  • Otros Recursos

    otros_recursos

     

     

    • OR-F-001. Tema 0. Presentación de la Asignatura.
  • Pruebas de Evaluación

    evaluacion

     

     

        Criterios de evaluación    

        

     

    MÉTODOS DE EVALUACIÓN "INTRODUCCIÓN AL SOFTWARE"

     

    Descripción

    Tipología

    Evaluación final

    Recuperación

    %

    Teoría: participación en clase

    Otros

    No

    No

    10%

    • Calificación mínima: 0,00.

    • Duración: Continua.

    • Fecha realización: Continua.

    • Condiciones de recuperación:

    • Observaciones: Teoría: se realizará una evaluación continuada basada en la participación en clase.

    Problemas

    Actividad de evaluación con soporte virtual

    No

    10%

    • Calificación mínima: 0,00.

    • Duración: Continua.

    • Fecha realización: Continua.

    • Condiciones de recuperación: Examen.

    • Observaciones: Problemas: se realizará una evaluación continuada de problemas propuestos y resueltos en casa. En cada problema se requerirá una presentación al grupo, así como una breve memoria. En cada sesión habrá ejercicios evaluables y otros no evaluables.

    Examen final

    Examen escrito

    50%

    • Calificación mínima: 4,00.

    • Duración: 3,5 horas.

    • Fecha de realización: Febrero y septiembre (periodo ordinario y periodo de recuperación).

    • Condiciones recuperación: Examen.

    • Observaciones: Examen final: se realizarán dos exámenes escritos de cuestiones y problemas: uno en el periodo de evaluación ordinario y uno en el periodo de recuperación. Duración: 3,5 horas, en dos partes: una de cuestiones teórico-prácticas, y la otra para resolver un problema de programación. Se pueden llevar apuntes y libros a ambas partes. Cada parte es la mitad de la nota del examen.

    Prácticas

    Evaluación en laboratorio

    No

    30%

    • Calificación mínima: 4,00.

    • Duración: Continua.

    • Fecha de realización: Continua.

    • Condiciones recuperación: Examen.

    • Observaciones: Observaciones: Prácticas: se realizarán tres evaluaciones de prácticas durante el transcurso de la asignatura; estas evaluaciones consistirán en la realización de una práctica en el laboratorio y la entrega de un breve informe al finalizar la sesión; la media de estas tres calificaciones será la nota de prácticas; en el resto de las prácticas se requerirá una breve memoria. Para poder aprobar las prácticas en el periodo ordinario se requiere haber entregado al menos todas las memorias de las prácticas excepto una, antes de la tercera práctica evaluable. Los criterios en las evaluaciones de prácticas serán:

      • a) Trabajo en el laboratorio:

        • Conocimientos: Facilidad para diseñar y nivel de comprensión de los conceptos.

        • Herramientas: Habilidad en el manejo de las herramientas utilizadas en el laboratorio.

        • Grado de Resolución: Grado de resolución de la práctica alcanzado durante las horas en el laboratorio.
      • b) Informes sobre las prácticas:

        • Estilo de programación: Estilo, claridad, documentación.

        • Organización: Organización del informe, claridad en la exposición.

        • Plazo de entrega. Por los retrasos en la entrega de los informes de las prácticas previas a cada práctica evaluable habrá una penalización: 0,5 puntos por cada entrega retrasada hasta 1 semana, y 1 punto por cada entrega retrasada hasta 2 semanas.

      TOTAL

    100%

    OBSERVACIONES:

    • La Evaluación Continua de problemas y prácticas se podrá superar en el periodo de recuperación mediante un Examen de Prácticas: 40%.

    • Será un Examen en el Laboratorio, de 3 horas de duración, en el que habrá que resolver un ejercicio práctico. Se pueden llevar apuntes y libros.

    • Para poder presentarse a este examen se deberán entregar las memorias de todas las prácticas obligatorias de la asignatura.

    • Para superar la asignatura es preciso superar tanto el Examen Final como los Problemas y Prácticas.

    • En caso de que una de estas partes no se supere, la nota final será el mínimo de 4,5 y la media obtenida.

    • En caso de aprobar únicamente una de las dos partes en el periodo ordinario, se guardaría la nota de esa parte para el periodo de recuperación.

    OBSERVACIONES para alumnos/as a tiempo parcial:

    • La Evaluación Continua de problemas y prácticas se podrá superar por los estudiantes a tiempo parcial mediante un Examen de Prácticas: 40%, tanto en el periodo ordinario como en el periodo de recuperación: para estos alumnos/as el peso del examen de teoría será del 60%.

    • Será un Examen en el Laboratorio, de 3 horas de duración, en el que habrá que resolver un ejercicio práctico. Se pueden llevar apuntes y libros. Para poder presentarse a este examen se deberán entregar las memorias de todas las prácticas obligatorias de la asignatura.

       

        Criterios de evaluación    

        

      

    MÉTODOS DE EVALUACIÓN "MÉTODOS DE PROGRAMACIÓN"

      

    Descripción

    Tipología

    Evaluación final

    Recuperación

    %

    Prácticas

    Evaluación en laboratorio

    No

    5%

    • Calificación mínima: 0,00.

    • Duración: 2 horas.

    • Fecha realización: A lo largo del curso.

    • Condiciones de recuperación: Entrega y presentación de las prácticas antes del examen final (la penalización por entrega fuera de plazo no es recuperable).

    • Observaciones: La nota se obtiene en base a: (1) Presentación de las prácticas: a lo largo del curso el profesor requerirá al alumno/a la presentación de alguna de las prácticas realizadas. (2) Informes de prácticas: deberán entregarse dentro del plazo establecido. Una entrega fuera del plazo supondrá una penalización en la nota. También supondrá una penalización la entrega de una práctica con errores u omisiones graves:

      • a) Presentación de las prácticas:

        • A lo largo del curso el profesor requerirá al alumno/a la presentación de alguna de las prácticas realizadas.
      • b) Informes de prácticas:

        • Deberán entregarse dentro del plazo establecido. Una entrega fuera del plazo supondrá una penalización en la nota.

        • También supondrá una penalización la entrega de una práctica con errores u omisiones graves.

    Exámenes prácticos

    Evaluación en laboratorio

    No

    45%

    • Calificación mínima: 4,50.

    • Duración: 2 horas.

    • Fecha realización: A lo largo del curso.

    • Condiciones de recuperación: Exámenes finales de prácticas en los periodos ordinario y de recuperación.

    • Observaciones: Exámenes realizados en el laboratorio. Está permitido llevar apuntes. Se celebrarán entre 2 y 4 exámenes de prácticas a lo largo del curso. La nota de este apartado se calculará como la media (ponderada) de las notas de los exámenes realizados. Lo normal será que el peso de todos los exámenes sea el mismo, aunque podría darse el caso de primar unos sobre otros si se considera que hay razones para ello. La nota de los exámenes prácticos podrá verse mejorada si el alumno/a realiza satisfactoriamente los problemas y ejercicios que podrían proponerse a lo largo del curso.

    Examen final

    Examen escrito

    50%

    • Calificación mínima: 4,50.

    • Duración: 3,5 horas.

    • Fecha de realización: Periodo ordinario de exámenes.

    • Condiciones recuperación: Examen Final en el periodo de recuperación.

    • Observaciones: Compuesto por varias cuestiones y uno o más problemas. Las cuestiones son preguntas cortas que pretenden evaluar los conocimientos del alumno/a en alguno de los contenidos de la asignatura. Los problemas pretenden evaluar el dominio de la metodología de programación que tiene el alumno/a. Para ello se planteará el desarrollo de una aplicación similar a las realizadas en prácticas. Se podrán utilizar apuntes y bibliografía. Para poder presentarse a este examen es obligatorio entregar y presentar las prácticas de la asignatura.

      TOTAL

    100%

    OBSERVACIONES:

    • Para aprobar la asignatura es necesario superar la nota mínima de los Exámenes prácticos y del Examen final. En caso de no superar alguna de esas notas mínimas, la nota final será el mínimo de 4,5 y la media obtenida.

    • Para poder presentarse a los exámenes finales (escrito y de prácticas) de los periodos ordinario y de recuperación es obligatorio entregar y presentar las prácticas de la asignatura.

    OBSERVACIONES para alumnos/as a tiempo parcial:

  • Guía de Aprendizaje

    guia

     

     

  • Sobre el Profesor

    profesor

     

     

    logo_UC  

    Michael González Harbour

     

    Departamento de Ingeniería Informática y Electrónica

    UNIVERSIDAD DE CANTABRIA
     
    Más información
    logo_UC  

    Mario Aldea-Rivas

     

    Departamento de Ingeniería Informática y Electrónica

    UNIVERSIDAD DE CANTABRIA
     
    Más información