Introducció del curso de Java Nuestro primer programa Clase, objeto y estructura de un programa Tipos de datos y expresiones simples Argumentos, constructores y operadores Instrucciones de control I Instrucciones de control II Ejercicios prácticos Solución de los dos primeros ejercicios Solución a los dos ejercicios restantes Estructuras de datos

Introducción a las listas (Arrays) Utilización de Arrays como parámetros Arrays multidimensionales Ejercicio de repaso Resolución del ejercicio propuesto ArrayList y LinkedList Ejemplos de LinkedList Resolución del ejercicio de LinkedList Solución al ejercicio de ArrayList y pilas de datos Colas de prioridad Diferencia entre colas y pilas Resolución del ejercicio de equipos y árbitros Mapas de datos Mapas de datos enumerados Ejercicio EnumMap (solución) y árboles de datos Árboles de datos Árboles de datos II Àrboles de datos binarios Herencia y polimorfismo

Herencia Herencia II Polimorfismo Modificadores de acceso y conversión de referencias Ejercicio de herencia y polimorfismo Solución del ejercicio planteado en el volumen XX Gestores de distribución

Introducción a las interfaces gráficas Primeros pasos con las interfaces gráficas Ampliando lo que ya sabemos Gestores de distribución Ejemplo de uso gestores de distribución Dibujar gráficos en un panel Ejemplo de utilización de gráficos en un panel Ejercicio de distribución de componentes Resolución del ejercicio propuesto Gestión de eventos

Gestión de eventos Gestión de eventos: ActionEvent Resolución de ejercicio e ItemEvent Resolución de ejercicio(ItemEvent) y explicación de ChangeEvent Resolución de ejercicio(ChangeEvent) y explicación de ListSelectionEvent Solución al ejercicio (ListSelectionEvent) e introducción a las ventanas de diálogo Utilización de diálogos (JDialog) Utilización de diálogos II Eventos de bajo nivel Resolución al ejercicio propuesto Entrada y salida de ficheros

Introducción Primeros ejemplos (entrada y salida binaria) Ficheros de texto Clase Scanner Entrada y salida de ficheros Ejemplo de programa con entrada/salida de ficheros y con interfaz gráfica Programación concurrente y distribuída en Java

Introducción a la concurrencia Regiones críticas Regiones críticas. Ejemplo avanzado Gestión de threads Todo sobre monitores en java Todo sobre semáforos en java Todo sobre locks en java Interbloqueos en programación concurrente Estructuras para programación concurrente I Estructuras para programación concurrente II Todo sobre RMI en Java (Programación distribuída) Todo sobre Sockets TCP y UDP en Java Programas

Juego Conecta4 implementado en Java Generador de claves WPA y WPA2 en Java