Temario 16 Sesiones

Servicio de Instrucción
Oficialización: Director
Edwin Maraví
Año:2015
CURSO JAVA
PROGRAMMER
Código :
C01_2015
Sílabo
Programmer
I.
DATOS GENERALES
Año de vigencia
Número de sesiones
N° de Horas académicas
Requisitos
II.
:
:
:
:
2015
16 (5 horas por sesión)
80
- Conocimientos básicos de programación.
- Conocimientos básicos de bases de datos.
FUNDAMENTACIÓN
La tecnología Java viene evolucionando rápidamente y de alguna manera ha vuelto al
concepto original que era ser usado por cualquier dispositivo. El nuevo paradigma de Internet
de las Cosas, es el escenario perfecto para poner en práctica todo lo que Java puede hacer.
Toda aplicación necesita almacenar su información en un repositorio estático de datos que
pueden ser archivos o base de datos dando la capacidad de poder usar de forma transparente
una capa de presentación de escritorio o web según las necesidades de la solución. Este curso
orienta a los participantes al correcto uso de las librerías de Java y las buenas prácticas en el
momento del desarrollo de aplicaciones en tres capas, usando patrones de diseño de
software.
III.
UNIDAD DE COMPETENCIA
Desarrollar componentes de software usando la tecnología Java SE y Java EE.
IV.
CAPACIDADES TERMINALES Y CRITERIOS DE EVALUACIÓN
CAPACIDAD TERMINAL
Desarrollar aplicaciones de escritorio y
web usando componentes y librerías
especializadas en Java.
CRITERIOS DE EVALUACIÓN
Fundamentos del lenguaje
Programación orientada a objetos
Patrones de diseño de software
Excepciones y Aserciones.
Hilos y Concurrencia
Persistencia de Datos: Archivos y Bases de datos.
Desarrollo Web básico.
Servicio de Instrucción
Oficialización: Director
Edwin Maraví
Año:2015
CURSO JAVA
PROGRAMMER
V.
Código :
C01_2015
CONTENIDOS
Sesión
Sesión
01
Sesión
02
Sesión
03
Sesión
04
Sesión
05
Contenido
Introducción. Acerca de la tecnología Java. Importancia del Java Comunity Process.
Fundamentos del Lenguaje Java. Revisión de sintaxis. Tipos de datos primitivos. Literales
Java. Operadores y arreglos. Convenciones de nombres en Java. Creando una clase en Java.
Pasando datos por valor y por referencia. Uso de paquetes. Java Class Loader y Garbage
Collector.
Reconociendo el entorno de desarrollo (IDE). Creación de Interfaces gráficas de usuario.
Uso de componentes visuales básicos Swing.
Clases nativas de Java. La clase Math.
 Desarrollar los ejercicios propuestos en el documento EJERCICIOS_S01.PDF (archivo
disponible en aula virtual). Desarrollo de una calculadora usando clases Java y la API
Swing.
Diseño de Clases. Diferencia entre clase y objeto. Encapsulamiento y Herencia. Sobre
escritura de métodos y sobre carga de métodos. Herencia simple y herencia múltiple.
Uso de control de acceso. Casting y sus reglas. Uso de la palabra reservada Abstract.
Aplicando Polimorfismo.
Patrones de diseño. Patrón de diseño Singleton.
Usando clases Enum. Modelando clases con Clases. Uso de palabra reservada Final en
clases, métodos y variables. Reconocer clases anidadas.
 Desarrollar los ejercicios propuestos en el documento EJERCICIOS_S02.PDF (archivo
disponible en aula virtual). Desarrollo de caso comercial usando reutilización de código.
 Publicar el primer trabajo de investigación.
Herencia usando Interfaces Java. Implementación de patrón DAO. Necesidad de Patrones
en Desarrollo de Software. DAO y Factory juntos.
Poniendo todo junto. Diagrama de clases de caso propuesto.
 Desarrollar los ejercicios propuestos en el documento EJERCICIOS_S03.PDF (archivo
disponible en aula virtual). Desarrollo de caso financiero con diagramas de clases y
patrones de diseño de software.
 Entregar la primera tarea virtual.
Primera evaluación práctica
 Desarrollar del primer cuestionario virtual.
Generics y Collections con Java. Uso de HashMap y Deque. Inventario y Ordenamiento
con Comparators. Interface List y Clase ArrayList con Generics y operador Diamond<>.
AutoBoxing y UnBoxing. Interface Set. Interface Map.
Procesamiento de cadenas. Sub cadenas. Expresiones regulares. Properties. Parseando
cadenas. La clase StringTokenizer. Pattern y Matcher. La clase StringBuilder.
Exceptions y Assertions. Manejo de errores. Capturando y extendiendo excepciones. El
operador Try Cath y MultiCatch. La cláusula Final. Suprimiendo excepciones. Interface
AutoClosable.
Servicio de Instrucción
Oficialización: Director
Edwin Maraví
Año:2015
CURSO JAVA
PROGRAMMER
Sesión
06
Sesión
07
Sesión
08
Sesión
09
Sesión
10
Sesión
11
Código :
C01_2015
Pruebas Unitarias. Uso de JUnit.
 Desarrollar los ejercicios propuestos en el documento EJERCICIOS_S05.PDF (archivo
disponible en aula virtual). Desarrollo de caso comercial usando colecciones patrones
y excepciones a su vez se probando el código generado con pruebas unitarias.
Fundamentos de Java IO. Escribiendo y leyendo aplicaciones de consola. Datos con
Streamming. Proceso de serialización y des serialización. Clase File, BufferedReader,
PrintWriter. Lectura y escritura en archivos planos.
Fundamentos de Java File (NIO.2). Gestión de archivos. Copia Recursiva. PathMatcher,
manejo de rutas lógicas en unidades.
 Desarrollar los ejercicios propuestos en el documento EJERCICIOS_S06.PDF (archivo
disponible en aula virtual). Desarrollo de caso académico usando archivos.
 Publicar el segundo trabajo de investigación.
Hilos. Manejo de tareas. La clase Thread y la interface Runnable. Problemas con datos
compartidos. Operaciones Atómicas. Manejando interrupciones. Sincronizando acceso a
datos compartidos. Implementando un programa multi-hilos.
Concurrencia. Usando el paquete java.util.concurrent, atomic y locks. Callable
ExecutorService. El framework Fork-Join. Manejo del paralelismo.
 Desarrollar los ejercicios propuestos en el documento EJERCICIOS_S07.PDF (archivo
disponible en aula virtual). Simulación de programación de tareas en Java.
 Entregar la segunda tarea virtual.
Segunda evaluación práctica
 Desarrollar el segundo cuestionario virtual.
Construcción de aplicaciones con Base de Datos con JDBC. Componentes de la API JDBC.
Manejo de excepciones JDBC. ResultSet. Trabajando con Mysql y Postgress. Usando el
patrón Data Access Object. Uso de RowSet. Diferencia entre StateMent y
PreparedStatement. Manejo de Procedimientos almacenados usando CallableStatement.
Manejo de Cursores con Java.
Administración de Sucesos con Java. Logs para java con Log4J.
 Desarrollar los ejercicios propuestos en el documento EJERCICIOS_S09.PDF (archivo
disponible en aula virtual). Caso de mantenimiento de tablas de bases de datos usando
Log4J.
Manejando Transacciones (ACID). Transacciones JDBC. El patrón Data Access Object.
Localización. Creando una aplicación con Localización y JDBC.
 Desarrollar los ejercicios propuestos en el documento EJERCICIOS_S10.PDF (archivo
disponible en aula virtual). Caso de manejo de transacciones en un banco.
 Publicar el tercer trabajo de investigación.
Java Foundation Classes. Swing API. Controladores y componentes Swing. Manejo de
eventos en componentes Swing. Poniendo todo junto. Aplicación Swing con conexión de
base de datos usando patrones de Diseño y manejo de Transacciones.
Servicio de Instrucción
Oficialización: Director
Edwin Maraví
Año:2015
CURSO JAVA
PROGRAMMER
Sesión
12
Sesión
13
Sesión
14
Sesión
15
Sesión
16
Código :
C01_2015
 Desarrollar los ejercicios propuestos en el documento EJERCICIOS_S14.PDF (archivo
disponible en aula virtual). Desarrollo de caso mantenimiento de cuentas bancarias con
Swing.
 Entregar la tercera tarea virtual.
Tercera evaluación práctica
 Desarrollar el tercer cuestionario virtual.
Introducción a las tecnologías de aplicaciones Web. Aplicaciones Web y Servidores de
Aplicaciones. Arquitectura de aplicaciones Java EE.
Plataforma Java EE. Especificación Servlet y su ciclo de vida. Especificación JSP y su ciclo
de vida.
Definición de Arquitectura Modelo Vista Controlador (MVC)
Ciclo de vida de una aplicación Web. Despliegue de una aplicación.
Declarando páginas de inicio. Configurando Parámetros de contexto. Mapeando errores
y pantallas de error. Declarando referencias de recursos.
 Desarrollar los ejercicios propuestos en el documento EJERCICIOS_S13.PDF (archivo
disponible en aula virtual). Desarrollo de una Intranet usando Java EE, JDBC y MVC.
Generación de reportes web. Reportes tipo gráfico de barras, lineales y de pie con
JFreeChart. Reportes con iReport y JasperReport. Generación de documentos MS Excel,
PowerPoint, Word, Visio, Publisher, OutLook. Generación de reportes PDF.
 Desarrollar los ejercicios propuestos en el documento EJERCICIOS_S14.PDF (archivo
disponible en aula virtual). Desarrollo de reportes web para caso de Académico.
 Publicar el cuarto trabajo de investigación.
Gestión de Proyectos. Aprendiendo a usar MAVEN. Configuración de dependencias con
archivos POM. Poniendo todo junto: Patrones: Dao Factory- Singleton-MVC, JDBC: Stored
Procedures, Pruebas: JUnit, Reportes: IReport.
 Desarrollar los ejercicios propuestos en el documento EJERCICIOS_S15.PDF (archivo
disponible en aula virtual). Intranet con acceso de usuarios y mantenimiento de tablas
con consultas y reportes Web.
 Entregar la cuarta tarea virtual.
Cuarta evaluación práctica
 Desarrollar el cuarto cuestionario virtual.
Servicio de Instrucción
Oficialización: Director
Edwin Maraví
Año:2015
CURSO JAVA
Código :
PROGRAMMER
VI.
METODOLOGÍA





VII.
C01_2015
Curso teórico-práctico.
Exposición del profesor, ayudas audiovisuales, diálogo abierto y debate.
Realización de casos prácticos en laboratorio.
Realización de tareas en aula virtual.
Generación de conocimiento mediante investigación y foros de discusión en aula virtual.
EVALUACIÓN
La evaluación, como constatación del logro de los objetivos que es alcanzar las capacidades
mencionadas se dará mediante la siguiente ponderación:
04 Tareas (se elimina la menor)
15 %
04 Evaluaciones Virtuales (se elimina la menor)
10 %
04 Investigaciones (se elimina la menor)
15 %
Evaluaciones prácticas 1 y 2 (se elimina la menor)
20 %
Evaluaciones prácticas 3 y 4
40 %
TOTAL
100 %
VIII. BIBLIOGRAFÍA



IX.
DIETEL & DIETEL - La Biblia de Java.
OFALI, ROBERT y HARKEY, DAN - Cliente Servidor. McGraw-Hill, 2da Edición, México,
2001
GALLAGHER, SIMON y HERBERT, SIMON - Cliente Servidor e Internet Addison Wesley,
2da Edición. México, 2002
PÁGINAS WEB DE APOYO:







http://www.programacion.com/java
http://www.javahispano.com
http://docs.oracle.com/javaee/5/tutorial/doc/bnbpy.html
http://docs.oracle.com/javaee/6/tutorial/doc/bnadr.html
http://www.lawebdelprogramador.com
http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html
http://www.elvex.ugr.es/decsai/java/pdf/