Resumen por bloques del módulo
RA1: Reconoce la estructura de un programa informático, identificando y relacionando los elementos propios del lenguaje de programación utilizado.
Fundamentos del Entorno de Desarrollo y la Estructura de un Programa. Esta unidad se centra en identificar los bloques que componen la estructura de un programa informático (bloque principal, declaraciones de librerías, clases, métodos, variables y sentencias ejecutables), apoyándose en un ejemplo de código real anotado. Como complemento práctico, se introduce el uso de Entornos Integrados de Desarrollo (IDE) para crear proyectos y la práctica de comentar código de forma útil.
Variables, Constantes y Literales: Almacenamiento de Datos. Esta unidad explora cómo los programas almacenan y manipulan datos mediante variables, constantes y literales. Aprenderás a identificar los diferentes tipos de datos, declarar y utilizar variables para guardar información, y diferenciar entre valores que pueden cambiar y aquellos que permanecen fijos.
Operadores, Expresiones y Conversiones de Tipo. Esta unidad profundiza en cómo los programas manipulan datos utilizando operadores para construir expresiones. Aprenderás a clasificar y aplicar diferentes tipos de operadores, entender su precedencia y asociatividad, y manejar las conversiones de tipo, tanto implícitas como explícitas, para asegurar la correcta manipulación de los datos.
RA2: Escribe y prueba programas sencillos, reconociendo y aplicando los fundamentos de la programación orientada a objetos.
Introducción a la Programación Orientada a Objetos y el Entorno de Desarrollo. Esta unidad introduce los fundamentos de la Programación Orientada a Objetos (POO) y familiariza al estudiante con el uso de un Entorno de Desarrollo Integrado (IDE) para la creación, compilación y ejecución de programas sencillos.
Clases, Objetos e Instanciación. Esta unidad profundiza en la creación de clases, la instanciación de objetos a partir de ellas y el uso de constructores para inicializar el estado de los objetos, sentando las bases para la manipulación de entidades en POO.
Uso de Métodos, Propiedades y Parámetros. Esta unidad explica cómo interactuar con los objetos a través de sus métodos y propiedades, y cómo pasar información a los métodos mediante parámetros para controlar su comportamiento.
Métodos Estáticos y Uso de Librerías de Objetos. Esta unidad aborda los métodos estáticos, que pertenecen a la clase y no a una instancia, y explica cómo incorporar y utilizar librerías de objetos para extender la funcionalidad de los programas.
RA3: Escribe y depura código, analizando y utilizando las estructuras de control del lenguaje.
Control de Flujo I: Estructuras de Selección. Esta unidad introduce las estructuras de selección condicional (if-else, switch) que permiten a los programas tomar decisiones y ejecutar diferentes bloques de código según el cumplimiento de ciertas condiciones. Se explora su sintaxis, lógica y aplicación práctica para dirigir el flujo de ejecución.
Control de Flujo II: Estructuras de Repetición y Sentencias de Salto. Esta unidad aborda las estructuras de repetición (bucles) que permiten ejecutar un bloque de código múltiples veces, y las sentencias de salto que modifican el flujo normal de ejecución dentro de estos bucles o funciones.
Control de Excepciones: Gestión de Errores en Tiempo de Ejecución. Esta unidad explica cómo manejar situaciones inesperadas o errores que ocurren durante la ejecución de un programa (excepciones), utilizando bloques `try-catch-finally` para prevenir caídas y mantener la robustez de la aplicación.
Creación, Prueba, Depuración y Documentación de Programas con Estructuras de Control. Esta unidad integra el uso de todas las estructuras de control aprendidas en la creación de programas ejecutables, enfatizando las prácticas esenciales de prueba, depuración y documentación para asegurar la calidad y mantenibilidad del código.
RA4: Desarrolla programas organizados en clases analizando y aplicando los principios de la programación orientada a objetos.
Fundamentos de Clases y Objetos: Estructura y Comportamiento. Esta unidad introduce los conceptos fundamentales de la Programación Orientada a Objetos (POO) a través de las clases y objetos. Se explora la sintaxis, estructura y componentes esenciales de una clase, incluyendo propiedades, métodos y constructores, así como la importancia de la visibilidad para encapsular el estado y comportamiento.
Herencia: Reutilización y Especialización de Clases. Esta unidad explora el concepto de herencia, un pilar fundamental de la POO que permite crear nuevas clases (subclases) a partir de clases existentes (superclases), heredando sus propiedades y métodos. Se analiza cómo la herencia facilita la reutilización de código y la especialización de funcionalidades, así como el polimorfismo básico.
Miembros Estáticos e Interfaces: Comportamientos Compartidos y Contratos. Esta unidad profundiza en dos conceptos avanzados de la POO: los miembros estáticos y las interfaces. Los miembros estáticos permiten definir propiedades y métodos que pertenecen a la clase misma, no a una instancia específica. Las interfaces, por otro lado, establecen contratos de comportamiento que las clases deben implementar, promoviendo la flexibilidad y el diseño modular.
Organización de Código: Conjuntos y Librerías de Clases. Esta unidad se enfoca en cómo organizar grandes volúmenes de código en proyectos de software, utilizando paquetes (o namespaces) y librerías. Se explora la importancia de estas estructuras para la modularidad, la prevención de conflictos de nombres y la reutilización de componentes, preparando al alumno para desarrollar aplicaciones complejas y mantenibles.
RA5: Realiza operaciones de entrada y salida de información, utilizando procedimientos específicos del lenguaje y librerías de clases.
Entrada y Salida por Consola y Formateo de Datos. Esta unidad introduce las operaciones fundamentales de entrada y salida de información a través de la consola, utilizando los mecanismos estándar del lenguaje de programación. Se aborda la lectura de datos desde el teclado y la visualización de resultados, prestando especial atención a la aplicación de formatos para presentar la información de manera clara y estructurada.
Reconocimiento del Ecosistema de E/S y Fundamentos de Ficheros. Esta unidad explora las diversas posibilidades de entrada y salida que ofrece el lenguaje de programación y sus librerías asociadas, más allá de la consola. Se introduce el concepto de ficheros como medio persistente para almacenar y recuperar información, cubriendo las operaciones básicas de lectura y escritura de datos en archivos de texto.
Métodos Avanzados de Acceso a Ficheros: Secuencial, Aleatorio y Serialización. Esta unidad trabaja la creación de programas Java que utilizan distintos métodos de acceso al contenido de ficheros: acceso secuencial con flujos de caracteres, acceso aleatorio con RandomAccessFile, manejo de ficheros binarios con DataInputStream/DataOutputStream y persistencia de objetos mediante serialización. Se incluyen ejemplos de código completos y una actividad práctica para consolidar la programación de estas técnicas.
Interfaces Gráficas de Usuario (GUI) para E/S y Control de Eventos. Esta unidad introduce la creación de interfaces gráficas de usuario (GUI) simples utilizando las herramientas del entorno de desarrollo. Se aborda cómo diseñar ventanas, añadir componentes visuales y, fundamentalmente, cómo programar controladores de eventos para que la aplicación responda a las interacciones del usuario, permitiendo la entrada y salida de información de forma interactiva.
RA6: Escribe programas que manipulen información seleccionando y utilizando tipos avanzados de datos.
Arrays en Java: declaración, recorrido y manipulación de datos. Esta unidad trabaja la escritura de programas que utilizan arrays: cómo declararlos e inicializarlos, cómo recorrerlos y modificarlos, cómo emplear arrays multidimensionales y de objetos, y cómo aplicar algoritmos básicos de búsqueda y cálculo sobre ellos. Se incluyen ejemplos ejecutables, un caso profesional y los errores más frecuentes al indexar arrays.
Iteradores y Recorrido de Colecciones Avanzado. Esta unidad profundiza en el recorrido de colecciones mediante iteradores, una herramienta fundamental para acceder a los elementos de forma segura y eficiente, independientemente de la implementación subyacente de la colección. Se comparan diferentes estrategias de recorrido y sus implicaciones.
Programación Genérica: Clases y Métodos. Esta unidad introduce la programación genérica, una técnica fundamental para escribir código flexible y reutilizable que opera con diferentes tipos de datos sin sacrificar la seguridad de tipos. Se explica cómo crear y utilizar clases y métodos genéricos.
Expresiones Regulares para Búsqueda de Patrones. Esta unidad aborda el uso de expresiones regulares, una herramienta poderosa para la búsqueda, validación y manipulación de patrones en cadenas de texto. Se explican los fundamentos de su sintaxis y su aplicación práctica en programas.
RA7: Desarrolla programas aplicando características avanzadas de los lenguajes orientados a objetos y del entorno de programación.
Fundamentos de la Herencia en Programación Orientada a Objetos. Esta unidad introduce los conceptos esenciales de la herencia, explicando cómo las clases pueden compartir atributos y comportamientos, y diferenciando entre superclases y subclases. Se aborda la importancia de la reutilización de código y la organización jerárquica.
Control de la Herencia: Modificadores 'final' y 'abstract'. Esta unidad explora cómo los modificadores `final` y `abstract` permiten controlar el comportamiento de la herencia en clases y métodos. Se explica cómo `final` previene la herencia o la sobrescritura, y cómo `abstract` fuerza la implementación de métodos en subclases, sentando las bases para el diseño de jerarquías robustas.
Constructores y Sobrescritura de Métodos en Jerarquías de Clases. Esta unidad profundiza en cómo los constructores se comportan en el contexto de la herencia, explicando la importancia de la llamada a `super()`. Además, se aborda la sobrescritura de métodos (`@Override`), permitiendo a las subclases proporcionar implementaciones específicas para métodos heredados, un pilar del polimorfismo.
Diseño y Aplicación de Jerarquías de Clases. Esta unidad se centra en el diseño práctico de jerarquías de clases, aplicando los principios de la herencia y el polimorfismo para crear estructuras de código flexibles y mantenibles. Se exploran patrones comunes y se enfatiza la importancia de una buena arquitectura para la extensibilidad y la reutilización.
RA8: Utiliza bases de datos orientadas a objetos, analizando sus características y aplicando técnicas para mantener la persistencia de la información.
Bases de Datos Orientadas a Objetos (BDOO): características y fundamentos. Se analizan los fundamentos y características distintivas de las bases de datos orientadas a objetos (BDOO): persistencia directa de objetos, identidad, encapsulación, herencia y polimorfismo. Se contrastan con el modelo relacional (con y sin ORM) y con bases NoSQL documentales, y se identifican escenarios profesionales donde su uso resulta apropiado.
Instalación y Gestión de Sistemas Gestores de BDOO. Guía práctica para la instalación, configuración y administración básica de sistemas gestores de bases de datos orientadas a objetos, explorando sus interfaces y herramientas.
Programación con Bases de Datos Orientadas a Objetos. Desarrollo de aplicaciones que interactúan con BDOO para almacenar, recuperar, actualizar y eliminar objetos, incluyendo el manejo de tipos de datos complejos.
RA9: Gestiona información almacenada en bases de datos relacionales manteniendo la integridad y consistencia de los datos.
Introducción a los SGBDR y Métodos de Acceso Programático. Esta unidad explora las características fundamentales de los Sistemas Gestores de Bases de Datos Relacionales (SGBDR), su arquitectura y los distintos métodos para interactuar con ellos desde aplicaciones, sentando las bases para la programación de acceso a datos.
Programación de Conexiones y Operaciones CRUD Fundamentales. Esta unidad se centra en la implementación práctica de conexiones a bases de datos relacionales y la ejecución de las operaciones básicas de Creación, Lectura, Actualización y Borrado (CRUD) de datos mediante código programático.
Desarrollo de Aplicaciones para la Gestión de Información en BBDD. Esta unidad integra las operaciones CRUD en aplicaciones completas, enfocándose en la ejecución de consultas complejas y la creación de interfaces que permitan a los usuarios gestionar la información de bases de datos relacionales de manera interactiva y robusta.