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/
© Copyright 2024