Programación Java (SL-275)
Duración: 42hs
Certificación: Java Programmer
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 encapsulación, herencia y polimorfismo.
- Ejecutar una aplicación Java desde la línea de comandos.
- 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 la interfaz gráfica de Java: paneles, botones, etiquetas, campos de texto y cuadros de texto.
- Implementar la funcionalidad de E/S (entrada/salida) para leer y escribir datos y archivos de texto.
- Crear programas multiproceso.
- Crear un cliente TCP/IP sencillo que se comunique mediante sockets.
Descripción
En el curso Programación Java se enseña la sintaxis de Java, 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, 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 Java. Durante el curso se utiliza el kit de desarrollo de software (SDK) de Java 2, Standard Edition (J2SE) 6.0.
A quién va dirigido
Este curso es indicado para 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.
Pre-requisitos
Para obtener el máximo aprovechamiento del curso, los alumnos necesitan:
- Conocer los principios de la programación orientada a objetos.
- Poseer experiencia como programador en otros lenguajes de programación.
- Saber crear y modificar archivos de texto con un editor de texto.
Cursos relacionados 
Cursos relacionados (Antes)
SL-110: Programación Java para no Programadores
Cursos relacionados (Después)
OO-226: Análisis y Diseño OO con UML (OO-226)
SL-285: Desarrollo de Aplicaciones Avanzadas en Java (SL-285)
Contenido
Introducción
- Describir las funciones clave de la tecnología Java.
- Escribir, compilar y ejecutar una aplicación Java sencilla.
- Describir la función de Java Virtual Machine (JVM)
.NOTA: Los términos "Java Virtual Machine" y "JVM" hacen referencia a la máquina virtual de Java.
- Definir la liberación de recursos.
- Enumerar tres tareas realizadas por Java en las que se gestiona la seguridad del código.
Programación orientada a objetos
- Definir los conceptos de modelado: abstracción, encapsulación y paquetes.
- Explicar por qué se puede reutilizar el código de 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.
- Invocar un método en un objeto determinado.
- Utilizar la documentación en línea relacionada con la interfaz de programación de aplicaciones (API) de Java.
Identificadores, palabras clave y tipos
- Utilizar comentarios en un programa fuente.
- Distinguir entre identificadores válidos y no válidos.
- Reconocer las palabras clave de Java.
- Enumerar los ocho tipos de primitivas.
- 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.
- Indicar las consecuencias de asignar variables de tipo clase.
Expresiones y control de flujo
- Distinguir entre variables de instancia y locales.
- Describir la forma de inicializar variables de instancia.
- Identificar y corregir una referencia posible antes de un error del compilador de asignación.
- Reconocer, describir y utilizar operadores Java.
- Distinguir entre asignaciones válidas y no válidas de tipos primitivos.
- Identificar las expresiones booleanas y sus requisitos en las construcciones de control.
- Reconocer la compatibilidad de asignación y las conversiones imprescindibles en los tipos básicos.
- Utilizar las construcciones if, switch, for, while y do, además de las formas con etiqueta de las instrucciones break y continue, como estructuras de control de flujo en un programa.
Arreglos
- Declarar y crear matrices de primitivas, clases o tipos de matrices.
- 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 sobrescritura y la invocación 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 constructor y método.
- Describir las operaciones completas de creación e inicialización de objetos.
Funciones de clases avanzadas
- Crear variables, métodos e inicializadores estáticos (static).
- Crear clases, métodos y variables final.
- Crear y utilizar tipos enumerados.
- Utilizar la instrucción de importación estática (static import).
- Crear clases y métodos abstractos.
- Crear y utilizar una interfaz.
Excepciones y afirmaciones
- 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 afirmaciones.
- Distinguir entre el uso adecuado e inadecuado de las afirmaciones.
- Activar las afirmaciones durante el tiempo de ejecución.
Aplicaciones basadas en texto
- Escribir un programa que utilice los argumentos de la línea de comandos y las propiedades del sistema.
- Escribir un programa que lea la entrada estándar.
- Describir la entrada y salida tipo C con formato.
- Escribir un programa que pueda crear, leer y escribir archivos.
- Describir la jerarquía básica de las colecciones en Java 2 Software Development Kit (Java 2 SDK).
- Escribir un programa para iterar en una colección.
- Escribir un programa que utilice colecciones genéricas.
Creación de interfaces gráficas de Java
- Describir el paquete Abstract Windowing Toolkit (AWT) y sus componentes.
- Definir los términos contenedores, componentes y administradores de disposición, así como la manera en que interactúan para crear una interfaz gráfica.
- Utilizar administradores de disposición.
- Utilizar los administradores FlowLayout, BorderLayout y GridLayout para lograr la disposición dinámica deseada.
- Añadir componentes a un contenedor.
- Utilizar los contenedores Frame y Panel correctamente.
- Describir cómo funcionan las estructuras complejas con contenedores anidados.
Manejo de eventos de la interfaz gráfica
- Definir los eventos y el manejo de eventos.
- Escribir código para manejar eventos que ocurren en la interfaz gráfica.
- Describir el concepto de clases de adaptador, lo que incluye cómo y cuándo usarlas.
- Determinar la acción del usuario que originó el evento a partir de los detalles del objeto de evento.
- Identificar la interfaz de receptor apropiada para una serie de tipos de eventos.
- Crear los métodos de controlador de eventos adecuados para una serie de tipos de eventos.
- Entener el uso de las clases internas y anónimas en el manejo de eventos.
Aplicaciones basadas en la interfaz gráfica
- Identificar los componentes clave de AWT y los eventos que activan.
- Describir la forma de crear una barra de menús, un menú y los elementos del mismo en una interfaz gráfica de Java.
- Entender la forma de cambiar el color y la fuente de un componente.
Threads
- Definir un thread (subproceso).
- Crear threads separados en un programa Java, y controlar el código y los datos que utiliza ese thread.
- Controlar la ejecución de un thread y escribir código que no dependa de la plataforma con threads.
- Describir las dificultades que pueden surgir cuando varios threads comparten datos.
- Utilizar wait y notify para la comunicación entre threads.
- Utilizar synchronized para evitar que los datos resulten dañados.
Flujos de E/S avanzados
- Describir las funciones principales del paquete java.io.
- Construir secuencias de nodos y procesos, y utilizarlos correctamente.
- Distinguir los lectores y escritores de los flujos y elegir el que resultado adecuado.
Redes
- Desarrollar código para configurar la conexión de red.
- Entender el protocolo de control de transmisión /protocolo de Internet (TCP/IP).
- Utilizar las clases ServerSocket y Socket para implementar clientes y servidores TCP/IP.
|