Versión para impresoraCódigo: JAV002SE6
Duración: 30 horas (5 días)
Horario: de 09:00 a 15:00 h.
Fechas previstas:
del 27 de feb. al 2 de marzo de 2012
del 09 al 13 de abril de 2012
del 14 al 18 de mayo de 2012
del 18 al 22 de junio de 2012
Descripción del Curso
El curso Lenguaje de Programación Java SE6 provee a los estudiantes una solida base para programar en java, incluyendo la sintaxis de Java (TM), la programación orientada a objetos utilizando el lenguaje Java, la creación de interfaces gráficas, el modelo de excepciones, los mecanismos de entrada y salida (E/S), los threads y la programación en red. Los programadores familiarizados con los conceptos de la programación orientada a objetos pueden aprender a desarrollar aplicaciones con la tecnología Java. Durante el curso se utiliza el IDE de desarrollo NetBeans.
A quién va dirigido
Programadores interesados en añadir el lenguaje Java a su lista de conocimientos y personas que se estén preparando para el examen de Programador Certificado en Plataforma Java SE.
Objetivo
Las personas que realicen el curso aprenderán a:
- Crear aplicaciones Java que aprovechen funciones de programación orientada a objetos de Java como son la encapsulación, la herencia y el polimorfismo.
- Ejecutar una aplicación Java.
- Usar tipos de datos y expresiones de Java.
- Usar las construcciones de control de flujo de Java.
- Usar matrices y otros grupos de datos
- Implementar técnicas de gestión de errores utilizando el manejo de excepciones.
- Crear interfaces gráficas controladas por eventos utilizando componentes de interfaz de Java: paneles, botones, etiquetas, campos de texto y cuadros de texto.
- Implementar la funcionalidad de E/S para leer y escribir datos y archivos de texto.
- Crear programas con multithreads.
- Crear un cliente TCP/IP sencillo que se comunique mediante sockets.
Prerequisitos
Para obtener el máximo aprovechamiento del curso, los alumnos necesitan:
- Conocer los principios de la programación orientada a objetos.
- Saber crear o compilar programas sencillos en un lenguaje como C o C++, o haber realizado el curso SL-110: Programación Java para no Programadores, y haber creado y compilado programas Java sencillos.
- Saber crear y modificar archivos de texto con un editor de textos.
- Saber usar un navegador como Netscape Navigator.
Contenido
Introducción
- Analizar la tecnología Java.
- Analizar una aplicación Java sencilla.
- Ejecutar una aplicación Java.
Programación orientada a objetos
- Definir los conceptos de modelado: abstracción, encapsulación y paquetes.
- Explicar la reutilización del código de las aplicaciones Java.
- Definir los conceptos clase, miembro, atributo, método, constructor y paquete.
- Utilizar los modificadores de acceso público (public) y privado (private) conforme sea necesario para la encapsulación.
- Llamar a un método de un determinado objeto.
- Utilizar la documentación en línea de las API de Java.
Identificadores, palabras clave y tipos
- Utilizar comentarios en el código fuente.
- Diferenciar entre identificadores válidos y no válidos.
- Reconocer las palabras clave utilizadas en Java.
- Enumerar los ocho tipos primitivos existentes.
- Definir valores literales para tipos numéricos y textuales.
- Definir los términos variable primitiva y variable de referencia.
- Declarar variables de tipo clase.
- Crear un objeto utilizando new.
- Describir la inicialización predeterminada.
- Describir la importancia de una variable de referencia.
- Evaluar las consecuencias de asignar variables de tipos de clase.
Expresiones y control de flujo
- Diferenciar las variables de instancia de las variables locales.
- Describir la forma de inicializar las variables de instancia.
- Reconocer, describir y utilizar los operadores del lenguaje Java.
- Diferenciar entre asignaciones válidas y no válidas de los tipos primitivos.
- Identificar las expresiones booleanas y sus requisitos en las construcciones de control.
- Reconocer la compatibilidad de asignaciones y las conversiones de tipos necesarias en los tipos fundamentales.
- Utilizar las construcciones if, switch, for, while y do, además de las formas etiquetadas de las instrucciones break y continue, como estructuras de control de flujo en un programa.
Matrices
- Declarar y crear matrices de tipos primitivos, tipos de clase o de matriz.
- Explicar por qué se inicializan los elementos de una matriz.
- Explicar cómo se inicializan los elementos de una matriz.
- Determinar el número de elementos de una matriz.
- Crear una matriz multidimensional.
- Escribir código para copiar valores matriciales entre matrices.
Diseño de clases
- Definir la herencia, el polimorfismo, la sobrecarga, la anulación y la llamada de un método virtual.
- Utilizar los modificadores de acceso protegido (protected) y el paquete sin modificador de acceso.
- Describir los conceptos de sobrecarga de constructores y métodos.
- Describir la operación completa de construcción e inicialización de objetos.
Funciones de clases avanzadas
- Crear variables, métodos e inicializadores estáticos.
- Crear clases, métodos y variables finales.
- Crear y usar tipos enumerados.
- Usar la instrucción de importación estática.
- Crear clases y métodos abstractos.
- Crear y utilizar una interfaz.
Excepciones y aserciones
- Definir las excepciones.
- Utilizar instrucciones try, catch y finally.
- Describir las categorías de excepciones.
- Identificar las excepciones comunes.
- Desarrollar programas que gestionen excepciones.
- Utilizar aserciones.
- Distinguir entre el uso adecuado e inadecuado de las aserciones.
- Habilitar aserciones durante el tiempo de ejecución.
API Collections y Generics
- Describir las implementaciones genéricas de las interfaces fundamentales de la infraestructura Collections.
- Analizar la interfaz Map.
- Examinar las clases colección tradicionales.
- Crear órdenes naturales y personalizadas mediante la implementación de las interfaces Comparable y Comparator.
- Utilizar colecciones genéricas.
- Emplear parámetros de tipo en clases genéricas.
- Refactorizar código no genérico existente.
- Escribir un programa para iterar una colección.
- Examinar el bucle loop mejorado.
Principios básicos de E/S
- Escribir un programa que utilice argumentos de la línea de comandos y propiedades del sistema.
- Analizar la clase Properties.
- Construir y utilizar correctamente flujos de nodos y de procesamiento.
- Serializar y deserializar objetos.
- Distinguir entre lectores (readers) y escritores (writers) en los flujos y optar correctamente por uno u otro.
E/S de consola y E/S de archivos
- Leer datos de la consola.
- Escribir datos en la consola.
- Describir los archivos y la E/S de archivos.
Creación de interfaces Java con la API de Swing
- Describir la tecnología Swing de JFC.
- Definir Swing.
- Identificar los paquetes de Swing.
- Describir los bloques de construcción de la interfaz gráfica, como los contenedores, los componentes y los administradores de disposición.
- Examinar las propiedades de los contenedores de nivel superior, genéricos y especiales.
- Examinar los componentes.
- Examinar los administradores de diseño.
- Describir el modelo de subproceso único de Swing.
- Crear una interfaz gráfica usando componentes Swing.
Manejo de eventos generados por la interfaz gráfica
- Definir el concepto de eventos y su manejo.
- Examinar el modelo de eventos de Java SE.
- Describir el comportamiento de la interfaz gráfica.
- Determinar la acción del usuario que ha originado un evento.
- Desarrollar receptores de eventos.
- Describir la concurrencia en interfaces graficas basadas en Swing y las características de la clase SwingWorker.
Aplicaciones basadas en la interfaz gráfica
- Explicar cómo construir una barra de menús, un menú y opciones de menú en una interfaz gráfica Java.
- Entender cómo cambiar el color y el tipo de letra de un componente.
Threads
- Definir un subproceso (thread).
- Crear diferentes subprocesos en un programa Java controlando el código y los datos usados por cada subproceso.
- Controlar la ejecución de un subproceso y escribir código independiente de la plataforma con subprocesos.
- Describir las dificultades que pueden surgir cuando varios subprocesos comparten los mismos datos.
- Utilizar wait y notify para la comunicación entre subprocesos.
- Utilizar synchronized para evitar que los datos resulten dañados.
Redes
- Desarrollar código para configurar la conexión en red.
- Entender el protocolo TCP/IP.
- Utilizar las clases ServerSocket y Socket para implementar clientes y servidores TCP/IP.