Programación JAVA (Nivel: Básico-Intermedio)

java

RC-SER 07-093  Rev.01-08/16

Objetivo general

Introducir al participante en los conceptos y herramientas más importantes del lenguaje JAVA para la programación de objetos.

Modalidad

 Teórico/práctico.

Duración promedio

25 horas.

Requisitos

 Conocimientos básicos de bases de datos y programación.

Dirigido a

Personas que desean aprender programación orientada a objetos mediante el lenguaje de Java, así como a estudiantes, entusiastas de la informática y a personas que ya desarrollan aplicaciones en otros lenguajes y desean actualizarse.

Ventaja competitiva

Es el lenguaje de programación con mayor crecimiento en la actualidad ya que permite desarrollar aplicaciones web, para celulares, de escritorio (conocidas como standalone) y tiene la capacidad de conexión a los servidores de bases de datos más populares como: Oracle, MySQL y Microsoft SQL Server.

Las aplicaciones desarrolladas en el lenguaje Java son muy demandadas dentro del ámbito financiero, mercantil y de servicios debido a la robustez, seguridad y portabilidad que ofrece; esto último permite que cualquier desarrollo hecho en Java pueda ejecutarse en servidores con sistemas operativos Unix, Linux y Windows, entre otros, a diferencia del lenguaje .Net solo en servidores Windows.

Al término de este módulo el usuario aprenderá a:

  • Crear y usar clases, variables y métodos en el lenguaje Java
  • Comprender la programación orientada a objetos
  • Usar estructuras de control: for, while, if, switch, do-while
  • Entender los conceptos de herencia, interfaz y polimorfismo
  • Crear ventanas gráficas, botones, paneles
  • Distribuir la aplicación en forma independiente a través de un jar
  • Manejar eventos para botones

Contenido

1er Curso: PROGRAMACIÓN JAVA Nivel básico Duración promedio: 12.5 hrs

Objetivo:

Dar a conocer al usuario las herramientas necesarias de JAVA para la creación de aplicaciones básicas que implementen la programación estructurada y una breve introducción a la orientación a objetos.

Puntos a tratar:

I.- Introducción a las aplicaciones JAVA.

  • Cómo utilizar estatutos de entrada y salida
  • Tipos de JAVA Primitivos
  • Conceptos de memoria básicos
  • Uso de operaciones aritméticas
  • La precedencia de los operadores aritméticos
  • Estatutos para hacer decisiones
  • Operadores relacionales y de igualdad

II.- Introducción a las clases y Objetos.

  • Qué son las clases, objetos, métodos y variables de instancia
  • Cómo declarar una clase y usarla para crear un objeto
  • Cómo declarar métodos en una clase para implementar los comportamientos de clase
  • Cómo declarar variables de instancia en una clase para implementar los atributos de una clase
  • Cómo llamar los métodos de un objeto para hacer que esos métodos ejecuten sus tareas
  • La diferencia entre variables de instancia de una clase y variables locales de un método
  • Cómo utilizar un constructor para asegurar que los datos de un objeto son inicializados cuando un objeto es creado
  • Las diferencias entre tipos primitivos y de referencia

III.-Estructuras de Control.

  • Utilizar técnicas de resolución de problemas
  • Desarrollar algoritmos a través de procesos top-down, refinamiento de pasos utilizando pseudocódigo
  • Utilizar “if” y “If-else” para escoger entre acciones alternativas
  • Utilizar el estatuto “while” para ejecutar estatutos en un programa en forma repetitiva
  • Fundamentos de repetición controlada por contador
  • Utilizar repetición controlada por contador y repetición controlada por centinela
  • Utilizar asignaciones compuestas, operadores de incremento y decremento
  • Los tipos de datos primitivos
  • El uso del “for” y el “do … while”  para ejecutar estatutos en un programa repetidamente
  • Entender selección múltiple utilizando el estatuto “switch”
  • Utilizar “break” y “continue”
  • Utilizar operadores lógicos para condicionales complejos en estatutos de control

IV.-Métodos.

  • Cómo se asocian los métodos y campos estáticos con una clase
  • Utilizar los métodos comunes de la clase Math disponibles en el API de Java
  • Entender los mecanismos de paso de información entre métodos
  • Cómo el mecanismo call/return es soportado por la pila de llamado a métodos y registros de activación
  • Cómo implementar generación de números aleatorios
  • Cómo la visibilidad de declaraciones está limitada a una región especifica de programas.
  • Qué es la recarga de métodos y como se usa para crear métodos sobrecargados

V.-Arreglos.

  • Qué son los arreglos
  • Utilizar arreglos para almacenar datos y obtener datos de listas y tablas de valores
  • Declarar variables, inicializar arreglos y referirse a elementos individuales de arreglos
  • Pasar arreglos a métodos
  • Declarar y manipular arreglos multidimensionales.
  • Escribir métodos que utilicen listas de argumentos de longitud variable
  • Leer argumentos de línea de comando en un programa

VI.- Archivos y flujos.

  • Creación, lectura, escritura y actualización de archivos
  • Utilización de la clase “file” para obtener información acerca de archivos y directorios
  • La jerarquía de clases del flujo de entrada/salida de Java
  • Las diferencias entre archivos de texto y archivos binarios
  • El procesamiento de archivos secuenciales
  • Utilización de las clases “Scanner” y “Formatter” para procesar archivos de texto
  • La utilización las clases “FileInputStream” y “FileOutputStream”.
  • El uso del cuadro de dialogo “JFileChooser”
  • El uso del cuadro de las clases “ObjectInputStream” y “ObjectOutputStream”

2do Curso: PROGRAMACIÓN JAVA “Programación orientada a objetos” Nivel intermedio Duración promedio: 12.5 hrs

Objetivo:

Dar a conocer al usuario las herramientas necesarias de JAVA para la creación de aplicaciones que implementen la programación orientada a objetos.

Puntos a tratar:

I.- Clases y Objetos.

  • Encapsulación y ocultamiento de datos
  • La notación de abstracción de datos y tipos de datos abstractos (ADT)
  • Utilización de la palabra “this”
  • Utilizar variables y métodos estáticos
  • Importar miembros estáticos de una clase
  • Utilizar el tipo “enum” para crear conjuntos de restricciones con identificadores únicos
  • Declarar constantes “enum” con parámetros
  • Organizar clases en paquetes para promover la reutilización

II.- Herencia.

  • La herencia promueve el uso de la reutilización del software
  • Las notaciones de superclases y subclases
  • Utilización de la palabra “extends” para crear una clase que hereda atributos y comportamientos de otra clase
  • Usar el modificador  de acceso “protected” para dar a los métodos de las subclases acceso a los miembros de las superclases
  • Acceder a los miembros de las superclases mediante la palabra “super”
  • Cómo los constructores son usados en jerarquías de herencia
  • Los métodos de la clase “Object”, la superclase indirecta o directa de todas las clases en Java

III.- Polimorfismo.

  • El concepto de polimorfismo
  • Utilizar métodos sobre-escritos para efectuar realizar polimorfismo
  • Distinguir entre clases abstractas y clases concretas
  • Declarar métodos abstractos para crear clases abstractas
  • Cómo el polimorfismo hace que los sistemas sean extensibles y mantenibles
  • Determinar el tipo de un objeto al tiempo de ejecución
  • Declaración e implementación de interfaces

IV.- Manejo de Excepciones.

  • Funcionamiento del manejo de errores en Java
  • Utilización de “try”, “throw” y “catch” para detectar, indicar y manejar excepciones respectivamente
  • Utilización del block “finally” para liberar recursos
  • Cómo el manejo de pilas permite a las excepciones no atrapadas en un alcance ser atrapadas en otro alcance
  • Cómo la pila marca la ayuda en el debugging
  • Cómo las excepciones son arregladas en una jerarquía de clases de excepciones
  • Declarar nuevas clases de excepciones
  • Crear excepciones encadenadas que mantengan información completa de seguimiento de pila

V.- Genéricos.

  • Crear métodos genéricos que ejecuten tareas idénticas en argumentos de diferentes tipos
  • Crear una clase “Stack” genérica que pueda ser usada para almacenar objetos de cualquier tipo clase o interface
  • Entender como sobrecargar métodos genéricos con métodos no genéricos o con otros métodos genéricos
  • Entender los tipos “raw” y cómo ayudan en la compatibilidad
  • Utilizar caracteres especiales cuando no se requiera un tipo preciso de información en el cuerpo del método
  • La relación entre genéricos y herencia

VI.- Colecciones.

  • Qué son las colecciones
  • Utilización de la clase “Arrays” para manipulaciones de arreglos
  • Utilización del marco de trabajo de las colecciones
  • Utilización de algoritmos de las colecciones para manipular colecciones como “search”, “Sort” o “fill”
  • Utilizar interfaces de colecciones para programar con colecciones en forma polimórfica
  • Utilizar iteradores para recorrer una colección
  • Utilizar tables hash persistente manipuladas con objetos de propiedades de clases
  • Utilizar arropadores de sincronización y modificación