1.- DATOS GENERALES DE LA ASIGNATURA Nombre de la asignatura: Programación Avanzada I Carrera: Licenciatura en Informática Clave de la asignatura: IDS-0605 Horas teoría-horas práctica- Créditos: 2-4-8 2. - UBICACIÓN a) RELACION CON OTRAS ASIGNATURAS DEL PLAN DE ESTUDIO ASIGNATURAS Programación II ANTERIORES TEMAS Todos ASIGNATURAS POSTERIORES TEMAS Programación Avanzada II b) APORTACIÓN DE LA ASIGNATURA AL PERFIL DEL EGRESADO El alumno obtendrá las bases para desarrollar aplicaciones en entorno cliente-servidor. 3. OBJETIVO(S) GENERAL(ES) DEL CURSO: Al término de la materia el alumno será capaz de crear soluciones de software en el entorno cliente-servidor 4. TEMARIO No. NOMBRE DE LA UNIDAD I Hilos (Threads) II Archivos y flujos entrada/salida SUBTEMAS 1.1 Concepto de Hilo. 1.2 Comparación de un programa de flujo único contra uno de flujo múltiple. 1.3 Creación y control de hilos. 1.3.1 Atributos de hilos. 1.3.2 Creación e Inicialización de hilos. 1.3.3 Arranque de hilos. 1.3.4 Manipulación de hilos. 1.3.5 Suspensión de hilos. 1.3.6 Parada de hilos. 1.4 Sincronización de hilos. 1.4.1 Mutex. 1.4.2 Semáforos de 2.1 Clases para entrada/salida. 2.2 Procesamiento de flujos 2.3 Diferencias entre lectores, escritores y flujos III Programación para redes 3.1 Conexiones de red con JAVA 3.2 TCP/IP 3.3 Cliente-servidor TCP/IP Interfaz gráfica y 4.1 Creación de interfaces gráficas avanzadas con Swing IV componentes 4.2 El modelo de componentes JAVABeans V Conectividad con bases de datos (JDBC) 5. - APRENDIZAJES REQUERIDOS • Programación orientada a objetos • Conocimientos de redes • Fundamentos de bases de datos 6.- SUGERENCIAS DIDÁCTICAS • Trabajos en equipo • Fomentar la investigación en medios impresos e Internet. • Realización de prácticas de laboratorio 7. - SUGERENCIAS DE EVALUACIÓN • Examenes teórico-prácticos • Practicas de laboratorio 8. - UNIDADES DE APRENDIZAJE I.- HILOS (THREADS): OBJETIVO EDUCACIONAL Implementara aplicaciones multihilo compartiendo la misma arquitectura . ACTIVIDADES DE APRENDIZAJE • Buscar y seleccionar información sobre hilos. • Organizar un debate sobre hilos vs. procesos. • Analizar uso e impacto de hilos en el desarrollo de aplicaciones. • Desarrollar programas para reforzar el uso de hilos con énfasis en los cambios de estado. • Desarrollar programas concurrentes que comparten recursos. • Debatir problemas de exclusión mutua y formas de resolverla. BIBLIOGRAFIA 1,2,3,4,5 II.- ARCHIVOS Y FLUJOS DE ENTRADA/SALIDA OBJETIVO ACTIVIDADES DE APRENDIZAJE EDUCACIONAL Al finalizar la unidad el alumno será capaz de usar bibliotecas de clases de entrada y salida FILE para leer y escribir archivos de texto y binarios. • • • Investigar en diferentes fuentes de información Discusión comparativa de flujos contra escritores y lectores Crear una aplicación para leer y escribir en un archivo de texto y un archivo binario III.- PROGRAMACION PARA REDES CON JAVA OBJETIVO ACTIVIDADES DE APRENDIZAJE EDUCACIONAL Al finalizar la unidad el alumno será capaz de Crear un cliente y un servidor sencillos basado en TCP/IP para comunicarse a través de “sockets” • • Investigar en diferentes fuentes de información Crear un servidor TCP/IP y clientes TCP/IP que se conecten a él. IV.- INTERFAZ GRÁFICA Y COMPONENTES OBJETIVO ACTIVIDADES DE APRENDIZAJE EDUCACIONAL Al terminar la unidad el alumno será capaz de desarrollar aplicaciones con interfase gráfica avanzada (GUI) usando la biblioteca de clases Swing. Utilizar el modelo de JavaBeans para el desarrollo de componentes. • • • Investigar en diferentes fuentes de información Realizar aplicaciones gráficas multidocumentos Crear componentes y una aplicación para probarlos V.- CONECTIVIDAD CON BASES DE DATOS (JDBC) OBJETIVO ACTIVIDADES DE APRENDIZAJE EDUCACIONAL Al finalizar la unidad el estudiante será capaz de desarrollar aplicaciones que acceden a bases de datos usando las bibliotecas JDBC • • Investigar en diferentes fuentes de información tecnologías de conectividad y manejadores de bases de datos. Crear un prototipo sencillo de aplicación con acceso a bases de datos. BIBLIOGRAFÍA 1,2,3,4,5 BIBLIOGRAFÍA 1,2,3,4,5 BIBLIOGRAFÍA 1,2,3,4,5 BIBLIOGRAFÍA 1,2,3,4,5 9- PRÁCTICAS SUGERIDAS UNIDAD I • Desarrollar programas para reforzar el uso de hilos con énfasis en los cambios de estado. • Desarrollar programas concurrentes que comparten recursos. UNIDAD II • Crear una aplicación para leer y escribir en un archivo de texto y un archivo binario UNIDAD III • Crear un servidor TCP/IP y clientes TCP/IP que se conecten a él. UNIDAD IV • Realizar aplicaciones gráficas multidocumentos • Crear componentes y una aplicación para probarlos UNIDAD V • 10. - Crear un prototipo sencillo de aplicación con acceso a bases de datos (Altas, bajas utilizando máximo 2 tablas). BIBLIOGRAFIA BASICA Y COMPLEMENTARIA. 1. Deitel y Deitel. Como programar en Java.Prentice Hall. 1998. 2. Mitchell will David. Java sin errores. Mc Graw Hill. 2001 3. Becerril C. Francisco. Java a su alcance. Mc Graw Hill. 1998 4. Lemay Laura & Perkins Charles L. Aprendiendo Java en 21 días. Prentice Hall. 1996. 5.Introducción a la programación con Java. Un enfoque orientado a objetos. Addison Wesley. 2001.