PROGRAMA FORMATIVO DE LA ESPECIALIDAD FORMATIVA PROGRAMACIÓN EN JAVA IFCD052PO DATOS GENERALES DE LA ESPECIALIDAD FORMATIVA 1. Familia Profesional INFORMÁTICA Y COMUNICACIONES Área Profesional: DESARROLLO 2. Denominación: PROGRAMACIÓN EN JAVA 3. Código: IFCD052PO 4. Objetivo General: Adquirir los conocimientos y capacidades necesarias para la programación en JAVA. 5. Número de participantes: Máximo 25 participantes en modalidad presencial y 80 en modalidad teleformación. 6. Duración: Horas totales: 210 Modalidad: Indistinta Distribución de horas: Presencial:................. 210 Teleformación:........... 210 CONTENIDOS FORMATIVOS: 1. INTRODUCCIÓN A LA PROGRAMACIÓN 1.1. Datos, algoritmos y programas 1.1.1. Definición de algoritmo 1.1.2. Datos 1.1.3. Características de un programa 1.2. Paradigmas de programación 1.2.1. Programación imperativa 1.2.2. Programación funcional 1.2.3. Programación lógica 1.2.4. Programación orientada a objetos 1.3. Lenguajes de programación 1.3.1. Historia de los lenguajes de programación 1.3.2. Características de los lenguajes de programación 1.4. Errores y calidad de los programas 1.4.1. Diseño de un programa 1.4.2. Diagramas de flujo 1.4.3. Pseudocódigo 1.5. Herramientas y entornos para el desarrollo de programas 1.5.1. Entorno de desarrollo Eclipse 1.6. Resumen 2. IDENTIFICACIÓN DE LOS ELEMENTOS DE UN PROGRAMA INFORMÁTICO 2.1. Estructura y bloques fundamentales de Java 2.2. Caracteres en Java 2.3. Tipos de datos en Java 2.3.1. Primitivos 2.3.2. Referenciados 2.3.3. Enumerados 2.4. Literales en Java 2.4.1. Enteros 2.4.2. Reales 2.4.3. De un solo carácter 2.4.4. De cadenas de caracteres 2.5. Identificadores en Java 2.6. Palabras reservadas en Java 2.7. Comentarios en Java 2.8. Variables. Declaración, inicialización y utilización. Almacenamiento en memoria 2.9. Constantes en Java 2.10. Conversiones de tipo. Implícitas y explicitas (casting) en Java 2.10.1. Conversión implícita 2.10.2. Conversión explícita 2.11. Operadores y expresiones. Precedencia de operadores 2.11.1. Aritméticos 2.11.2. De relación 2.11.3. Lógicos 2.11.4. Unitarios 2.11.5. A nivel de bits 2.11.6. De asignación 2.11.7. Condicional 2.12. Prioridad y orden de evaluación 2.13. Resumen 3. INTRODUCCIÓN A LA ORIENTACIÓN A OBJETOS 3.1. Un poco de historia 3.2. Clases 3.3. Objetos 3.4. Principios básicos de la orientación a objetos 3.4.1. Abstracción 3.4.2. Encapsulamiento 3.4.3. Modularidad 3.4.4. Polimorfismo 3.4.5. Herencia 4. DESARROLLO DE CLASES 4.1. Concepto de clase 4.2. Estructura y miembros de una clase en Java 4.3. Creación de atributos. Declaración e inicialización en Java 4.4. Métodos en Java 4.4.1. Métodos de instancia y de clase 4.4.2. Cabecera y cuerpo. Signatura 4.4.3. Métodos recursivos 4.5. Sobrecarga de métodos en Java 4.6. Creación de constructores en Java 4.7. Control de acceso 4.7.1. Librerías y paquetes de clases. Utilización y creación 4.7.2. Especificadores de acceso Java 4.7.3. Métodos accesores y mutadores 4.8. Clases internas 4.9. Utilización de clases 4.10. Documentación sobre librerías y paquetes de clases 5. UTILIZACIÓN DE OBJETOS 5.1. Características de los objetos 5.2. Constructores 5.3. Instanciación de objetos. Declaración y creación 5.4. Comparación de objetos 5.5. Utilización de métodos. Parámetros y valores de retorno 5.5.1. Invocación de métodos, el método main 5.5.2. Paso de parámetros. Paso por valor y paso por referencia 5.5.3. Valor de retorno. La instrucción return 5.6. Utilización de métodos estáticos 5.7. Clases predefinidas 5.7.1. Envoltorios y autoboxing 5.8. Destrucción de objetos y liberación de memoria 5.8.1. Finalizadores en Java 6. USO DE ESTRUCTURAS DE CONTROL 6.1. Estructuras de selección en Java 6.1.1. If 6.1.2. If-Else 6.1.3. If-Else if 6.1.4. Operador condicional 6.1.5. Switch 6.2. Estructuras de repetición 6.2.1. While 6.2.2. Do-while 6.2.3. For 6.2.4. For-each 6.3. Estructuras de salto 6.3.1. Break 6.3.2. Continue 7. CONTROL Y MANEJO DE EXCEPCIONES 7.1. Excepciones de Java 7.2. Jerarquías de excepciones en Java 7.3. Manejo de excepciones en Java 7.3.1. Captura de excepciones 7.3.2. Delegación de excepciones 7.3.3. Definición de excepciones de usuario 7.3.4. Lanzamiento de excepciones de usuario y redefinición 7.4. Aserciones 8. UTILIZACIÓN AVANZADA DE CLASES 8.1. Relaciones entre clases. Composición de clases 8.2. Herencia. Concepto y tipos (simple y múltiple) 8.3. Superclases y subclases 8.4. Constructores y herencia 8.5. Conversiones de tipos entre objetos (casting) 8.5.1. Conversión ascendente 8.5.2. Conversión descendente 8.6. Sobreescritura de métodos 8.7. Polimorfismo 8.8. Clases y métodos abstractos y finales en Java 8.8.1. Herencia forzada 8.9. Interfaces. Clases abstractas vs. Interfaces en Java 8.9.1. Jerarquía de interfaces 8.10. Clases y tipos genéricos o parametrizados 9. APLICACIÓN DE LAS ESTRUCTURAS DE ALMACENAMIENTO 9.1. Arrays unidimensionales y multidimensionales en Java 9.1.1. Declaración 9.1.2. Creación de arrays unidimensionales y multidimensionales 9.1.3. Inicialización 9.1.4. Acceso a elementos 9.1.5. Recorridos, búsquedas y ordenaciones 9.2. Cadenas de caracteres en Java 9.2.1. Clase String 9.2.2. Clase Stringbuffer 9.2.3. Clase StringTokenizer 9.2.4. Operaciones. Acceso a elementos, conversiones, concatenación 10. COLECCIONES DE DATOS 10.1. Uso de clases y métodos genéricos 10.2. Operaciones con colecciones. Acceso a elementos y recorridos 10.3. Tipos de colecciones en Java 10.3.1. List 10.3.2. Set 10.3.3. Map 11. LECTURA Y ESCRITURA DE INFORMACIÓN 11.1. Flujos o streams 11.1.1. Tipos de flujos. Flujos de bytes y de caracteres 11.1.2. Clases asociadas a las operaciones de gestión de ficheros 11.1.3. Creación y eliminación de ficheros y directorios 11.2. Entrada/salida estándar 11.2.1. Entrada desde teclado 11.2.2. Salida a pantalla 11.3. Almacenamiento de información en ficheros 11.3.1. Formas de acceso a un fichero 11.3.2. Operaciones sobre ficheros 11.3.3. Apertura y cierre de ficheros. Escritura y lectura de información en ficheros de texto 11.3.4. Escritura y lectura de información en ficheros binarios 11.3.5. Almacenamiento de objetos en ficheros. Persistencia. Serialización 11.4. Interfaces gráficas de usuario simples. Concepto de evento. Creación de controladores de eventos 12. GESTIÓN DE BASES DE DATOS RELACIONALES 12.1. Interfaces de programación de acceso a bases de datos 12.2. Acceso a datos mediante JDBC 12.2.1. Establecimiento de conexiones 12.2.2. Ejecución de sentencias de manipulación de datos 12.3. Ejecución de consultas sobre la base de datos 12.4. Ejecución de sentencias de descripción de datos 13. MANTENIMIENTO DE LA PERSISTENCIA DE LOS OBJETOS 13.1. Bases de datos orientadas a objetos 13.2. Características de las bases de datos orientadas a objetos 13.3. El estándar ODMG. Tipos de datos objeto y colección 13.3.1 El lenguaje de definición de objetos (ODL) 13.3.2 El lenguaje de consulta de objetos (OQL) 13.4. Instalación del gestor de bases de datos Neodatis object database 13.5. Creación de bases de datos 13.6. Mecanismos de consulta 13.7. Recuperación, modificación y borrado de información 13.8. Resumen glosario bibliografía enlaces de interés