Modalidad Cursos Presenciales con Instructor
Duración

40 horas en 14 sesiones de 3 horas

Precio

(10% IVA incluído)

Gs. 2.400.000.–

(sujeto a variaciones del tipo de cambio del dólar)

Lenguaje del material del curso Inglés
Lenguaje de impartición Español

SL-275-SE6: El Lenguaje de Programación Java, Java SE 6

Qué aprenderá

Este curso provee a estudiantes una sólida fundación para programar con Java, incluyendo: información acerca de la sintáxis del lenguaje de programación Java; pogramación orientada a objeto con el lenguaje de programación Java; creación de interfaces gráficas de usuario (GUIs), excepciones, entrada/salida de archivos (E/S), hilos y redes. Los programadores familiarizados con conceptos de orientación a objeto pueden aprender cómo desarrollar aplicaciones con tecnología Java. Ese curso destaca la Plataforma Java, Edición Estándar 6 (Java SE 6), y utiliza el producto Java SE Development Kit 6 (JDK 6). Los estudiantes realizan ejercicios de laboratorio utilizando el entorno de desarrollo integrado NetBeans.

Estudiantes que se benefician de este curso

  • Programadores quienes están interesados en agregar el lenguaje de programación Java a su lista de habilidades.
  • Estudiantes que están preparándose para el examen Oracle Certified Professional, Java SE 6 Programmer

Prerrequisitos

  • Entendimiento de principios de orientación a objeto
  • Competencia en la creación de programas en cualquier lenguaje de programación
  • Crear y editar fichas de texto utilizando un editor

Objetivos del Curso

  • Crear aplicaciones de tecnología Java que aprovechan las prestaciones orientadas a objeto del lenguaje Java, como encapsulación, herencia y polimorfismo.
  • Ejecutar aplicaciones de tecnología Java desde el comando de línea.
  • Usar tipos de datos y expresiones de la tecnología Java.
  • Usar construcciones de control de flujo de la tecnología Java.
  • Usar arreglos y otras colecciones de datos.
  • Implementar técnicas de manejo de errores utilizando manejo de excepciones.
  • Crear una interfaz gráfica de usuario (GUI) utilizando componentes Swing: paneles, botones, etiquetas, campos de texto y areas de texto.
  • Implementar funcionalidad de entrada/salida para leer de y escribir a archivos de texto y datos, así como entender flujos avanzados de E/S.
  • Crear un cliente simple que utiliza TCP/IP para comunicarse con un servidor vía sockets
  • Crear programas multifilares.

Contenidos del Curso

Comenzando

  • Examinar la tecnología Java
  • Analizar una aplicación simple en tecnología Java
  • Ejecutar una aplicación de tecnología Java

Programación Orientada a Objetos

  • Definir conceptos de modelado: abstracción, encapsulación y empaquetamiento
  • Discutir reutilización de código con tecnología Java
  • Definir clase, miembro, atributo, método, constructor y paquete
  • Usar los modificadores de acceso private y public para una correcta encapsulación
  • Invocar un método sobre un objeto particular
  • Usar la documentación en línea del API de tecnología Java

Identificadores, palabras clave y tipos

  • Usar comentarios en código fuente
  • Distinguir entre identificadores válidos e inválidos
  • Usar los ocho tipos primitivos
  • Definir valores literales para tipos numéricos y textuales
  • Definir los términos "variable primitiva" y "variable de referencia"
  • Declarar variables de tipo de clase
  • Construir un objeto usando "new" y describir la inicialización por defecto
  • Describir la significancia de una variable de referencia

Expresiones y Control de Flujo

  • Distinguir entre variables de instancia y locales
  • Describir cómo se inicializan las variables de instancia
  • Reconocer, describir y usar operadores en Java
  • Distinguir entre asignaciones legales e ilegales de tipo primitivos
  • Identificar expresiones booleanas y sus requerimientos en el control de flujo
  • Reconocer compatibilidad de asignación y conversiones requeridas en tipos fundamentales
  • Usar construcciones if, switch, for, while, y do y las formas etiquetadas de break y continue como estructuras de control de flujo en un programa

Arreglos

  • Declarar y crear arreglos de tipos primitivos, clases o arreglos
  • Explicar por qué son inicializados los elementos de un arreglo
  • Explicar cómo se inicializan los elementos de un arreglo
  • Determinar el número de elementos de un arreglo
  • Crear arreglos multidimensionales
  • Escribir código que copie valores de arreglo de un arreglo a otro

Diseño de clases

  • Definir herencia, polimorfismo, sobrecarga, sobreescritura e invocación virtual de métodos
  • Usar los modificadores de acceso "protected" y el por defecto (package-friendly)
  • Describir los conceptos de sobrecarga de constructor y método
  • Describir la operación completa de construcción e inicialización de un objeto

Prestaciones Avanzadas de Clases

  • Crear variables, métodos e inicializadores estáticos
  • Crear clases, métodos y variables finales
  • Crear y usar tipos enumerados
  • Usar la sentencia de importación estática
  • Crear clases y métodos abstractos
  • Crear y usar una interfaz

Excepciones y Aserciones

  • Definir excepciones
  • Usar sentencias try, catch, y finally
  • Describir categorías de excepciones
  • Identificar excepciones comunes
  • Desarrollar programas que manejen excepciones definidas por el programador 
  • Usar aserciones
  • Distinguir usos apropiados e inapropiados de aserciones
  • Habilitar de aserciones en tiempo de ejecución

Colecciones y Genéricos

  • Describir la implementaciones de uso general de las interfaces esenciales del API de colecciones
  • Examinar el interfaz Map
  • Examinar las clases de colección legadas
  • Crear ordenamiento natural y arbitrario implementando las interfaces Comparable y Comparator
  • Usar collecciones genéricas y parámetros de tipo en clases genéricas
  • Refactorear código existente no-genérico
  • Escribir un programa que itere sobre una colección
  • Examinar el bucle for mejorado

Fundamentos de E/S

  • Escribir un programa que use argumentos de comando de línea y propiedades de sistema
  • Examinar la clase Properties
  • Construir flujos de nodo y procesamiento, y usarlos apropiadamente
  • Serializar y deserializar objetos
  • Distinguir lectores de escritores en flujos, y seleccionar apropiadamente entre ellos

E/S de Consola y Archivo

  • Leer datos de la consola
  • Escribir datos a la consola
  • Describir archivos y E/S de archivos

Construyendo GUIs en Java con el API Swing

  • Describir la tecnología JFC Swing
  • Identificar los paquetes Swing
  • Describir los bloques de construcción de un GUI: contenedores, componentes y gestores de disposición
  • Examinar propiedades top-level, de propósito general y propósito especial de un contenedor
  • Examinar componentes
  • Examinar gestores de disposición
  • Describir el modelo monofilar de Swing
  • Construir un GUI usando componentes Swing

Manejando Eventos Generados en la Interfaz Gráfica

  • Definir eventos y manejo de eventos
  • Examinar el modelo de eventos en Java SE
  • Describir el comportamiento del GUI
  • Determinar la acción de usuario que originó un evento
  • Desarrollar escuchas de evento
  • Describir concurrencia en GUIs basados en Swing y describe prestaciones de la clase SwingWorker

Aplicaciones basados en GUI

  • Describir cómo se construye una barra de menú, menú e ítems de menú en un GUI Java
  • Entender cómo se cambia el color y fuente de un componente

Hilos

  • Definir un hilo
  • Crear hilos separados en un programa de tecnología Java, controlando el código y datos que son usados por ese hilo
  • Controlar la ejecución de un hilo y escribir código independiente de plataforma con hilos
  • Describir las dificultades que pueden suceder cuando múltiples hilos comparten datos
  • Usar "wait" y "notify" para comunicarse entre hilos
  • Usar "synchronized" para proteger datos de corrupción 

Redes

  • Desarrollar código que prepare una conexión de red
  • Entender TCP/IP
  • Usar las clases ServerSocket y Socket para implementar clientes y servidores TCP/IP