Versión: 02 1. IDENTIFICACIÓN PROGRAMA ACADÉMICO ASIGNATURA: INGENIERIA INFORMÁTICA TALLER DE PROGRAMACIÓN AVANZADA CÓDIGO: ING00135 CREDITOS: INTENSIDAD HORARIA SEMANAL: Distribución horaria: HTP HTI PRERREQUISITOS CORREQUISITOS: ULTIMA ACTUALIZACIÓN: 2. MISIÓN: 3. PRESENTACIÓN DE LA ASIGNATURA El curso Taller de Programación Avanzada está orientado a desarrollar las competecnias necesarias para que el estudiante pueda programar sistemas de información desde el punto de vista de los sistemas distribuidos tanto en sistemas de escritorio como en la web.
4. JUSTIFICACIÓN Las tendencias en desarrollo de software se orientan a aplicaciones cada vez más distribuidas, hererogeneas e independientes de la plataforma de ejecución, por lo tanto se requiere un profesional capaz de plantear soluciones apropiadas a problemas reales desde el punto de vista de los sistemas distribuidos apotados por sistemas de comunicaciones. 5. OBJETIVOS DE LA ASIGNATURA 5.1 OBJETIVOS GENERALES: Aplicar los conceptos propios de los sistemas distribuidos en soluciones apropiadas a problemas reales. Identificar las tecnologías apropiadas para la programación en redes de computadores a través de lenguajes de programación de alto nivel. Fortalecer en el estudiante las competencias de programación de computadores de los estudiantes. Brindar al estudiante una perspectiva de desarrollo de software basada en paquetes y/o módulos distribuidos fisicamente. 5.2 OBJETIVOS ESPECÍFICOS: Entrenar al estudiante en dos tecnologías propias del desarrollo de software orientado a los sistemas distribuidos basados en programación orientada a objetos. Identificar los distintos componentes de una arquitectura de software. Determinar que tecnología es la apropiada en un determinado problema. Reconocer los principales lenguajes de programación para el desarrollo en ambientes web, desde el punto de vista del cliente como del servidor. Identificar las distintas capaz de un sistema distribuidos y las tecnologías propias de cada una de ellas. Conocer distintas teorías relacionadas con las comunicaciones entre los sistemas distribuidos.
Identificar las principales aplicaciones de los sistemas distriduidos. 6. COMPETENCIAS GENERALES 7. CONTENIDOS POR UNIDADES Unidad 1: Introducción a los Sistemas Distribuidos. POO y Sistemas Distribuidos. Unidad 2: Introducción a la Programación en Redes. Análisis de URL s. Análisis de IP Nombre de Dominio. Unidad 3: Sockets TCP Sockets UDP Invocación Remota. Hilos y Multihilos Unidad 4: Programación Web Lado Cliente Programación Web Lado Servidor Sistemas de Información en la Web Unidad 5: Lenguajes de Marcado XML Análisis Programático de XML. Servicios Web XML
8. ESTRATEGIAS METODOLÓGICAS QUE CONTRIBUYEN AL LOGRO DE LOS OBJETIVOS Y DE LAS COMPETENCIAS 9. RECURSOS 10. EVALUACIÓN 25% Primer Parcial 25% Segundo Parcial 20% Talleres (4 Talleres) 15% Quiz 15% Practica Final 11. BIBLIOGRAFÍA - Sistemas Distribuidos Conceptos y Diseños. George Coulouris, Jean Dollimori, Tim Kindberg. - Arquitecturas de Red Multicapa. Manuel M. Villapecellín. - Estructura de Datos en Java Joyanes Aguilar, Ignacio Zahonero - Estructuras de datos en JAVA de César Becerra S. - Programación en Java de Deitel y Deitel. - Documentos entregados por docente. - Algoritmos y estructuras de datos de Roberto Flórez Rueda.
12. CONTENIDO TEMÁTICO CLASE A CLASE CLASE TEMA 1 - Presentación del curso - Revisión Técnica Equipos - Inducción a plataformas de desarrollo 2 - Introducción a los Sistemas Distribuidos - Concepto de Capa logica, de datos y de proceso - Sistemas Distribuidos y POO. - Inicio Taller 1 3 - Trabajo Práctico (Taller 1). 4 - Concepto de Redes de Computadores - Importancia Programación en Redes - Concepto de URL 5 - Análisis de URL. - Lectura de sitios web a partir de URL 6 - Concepto de IP - Clases de Direcciones. - Nombre de Dominio vs IP - Analisis de IP y Nombres de Dominio 7 - Inicio Taller 2. - Trabajo Práctico (Taller 2). 8 - Sockets - Importancia de los sockets en los sistemas distribuidos - Ciclo de vida sockets - Programación de con sockets TCP. 9 - Programación de con sockets TCP 10 - Programación de con sockets UDP 11 - Programación de con sockets UDP
12 - Introducción a la programación en paralelo. - Concepto de Hilos y Multihilos. - Programación con hilos y sockets. 13 - Quiz 15% 14 - Inicio Taller 3. - Trabajo Práctico (Taller 3). 15 - Trabajo Practico (Taller 3) 16 - Introducción a al programación Web. - Tecnologías del lado cliente (HTML, JavaScript, CSS) 17 - Introducción a al programación Web. - Tecnologías del lado cliente (HTML, JavaScript, CSS) 18 19 Parcial 1 25% 20 - Envío de parámetros. - Tecnologías del lado servidor (PHP,.NET, JSP) 21 - Envío de parámetros. - Tecnologías del lado servidor (PHP,.NET, JSP) - Conexiones a bases de datos. - Administración de datos a través de bases de datos en la web. - Tecnologías del lado servidor (PHP,.NET, JSP) 22 - Inicio Taller 4. - Trabajo Práctico (Taller 4). 23 - Trabajo Practico (Taller 4) 24 - XML. - Aplicaciones con XML. 25 - Lectura de documentos XML. 26 - Escritura de documentos XML. 27 - Introducción a los Servicios Web
28 Servicios Web 29 Programación de Servicios Web 30 Servicios Web y Sistemas de Información 31 Inicio Práctica Final 32 Asesoría Práctica Final 33 Asesoría Práctica Final 34 Sustentación Práctica Final 35 36 Parcial 2 25%