Programador Web 2.0 OBJETIVOS GENERALES Las herramientas y lenguajes utilizados en la Web hoy convergen para brindar las más diversas posibilidades en el desarrollo de aplicaciones Web y en otros dispositivos como móviles, tablets y hasta Smart TV. La utilización de todas estas tecnologías aplicadas en conjunto, han convertido a Internet en una plataforma indispensable tanto en el mundo de los negocios como en emprendimientos, e incluso a nivel personal a través de las redes sociales, permitiendo la colaboración e intercambio de información entre personas y equipos interdisciplinarios, creando una Internet cada vez más rica y valiosa. No en vano, la tendencia actual es el uso de herramientas y aplicaciones en la nube, que permiten sincronizarse con aplicaciones de escritorio y dispositivos móviles. Así, encontramos tecnologías como HTML5, CSS3, Javascript, Ajax, JQuery, PHP, Node.js, MySQL, SQLite, y otras tantas, que permiten realizar todo tipo de aplicaciones complejas y versátiles cuando son utilizadas en forma conjunta. Muchas aplicaciones móviles (WebApps) suelen estar basadas en estas tecnologías, como también plataformas tan conocidas como Facebook, Youtube, LinkedIn, WordPress, Yoomla, etc. La arquitectura Cliente / Servidor como también la propia naturaleza y funcionamiento actual de la Web, hace imprescindible que el programador deba cada vez más desarrollar aplicaciones que generen o se integren perfectamente con las interfaces, mucho más rica e intuitiva en la experiencia del usuario final. Debido entonces a que el front-end cada vez es más complejo y adaptativo, el back-end debe ser mucho más eficiente en la comunicación con la interfaz, y su correcta interacción. Este curso brinda en forma simple y ordenada los conocimientos fundamentales en el desarrollo de aplicaciones Web, haciendo especial énfasis en la interacción eficiente entre el back-end y el front-end. Para ello, en un inicio son presentados los fundamentos de los lenguajes declarativos necesarios para la estructuración de los documentos Web. Seguidamente se introduce el funcionamiento de propiedades y sus diferencias, que permiten establecer el aspecto visual de los elementos del documento o aplicación Web, aplicando diversas técnicas de maquetación en forma evolutiva. A continuación, se presentan los aspectos fundamentales e introductorios de Javascript, comenzando con la estructura del Modelo de Objetos del Documento (DOM - Document Object Model) para la interacción entre Javascript, los elementos de la aplicación y controles de formularios. Posteriormente se introduce la utilización de AJAX, utilizando los objetos nativos e introduciendo simultáneamente XML y JSON, evaluando ventajas y características de ambos en el trabajo con AJAX. Otra etapa es la concerniente al lado Servidor, es decir, la programación con PHP y el acceso a Bases de Datos como MySQL. Una vez finalizado esta etapa, ya se dispondrá de una aplicación completa y funcional, equivalente al curso de Programación PHP y MySQL pero con ampliaciones. La última etapa trata los aspectos más modernos y actuales en el uso en su conjunto de todas estas tecnologías, creando aplicaciones Web altamente funcionales. Para ello se aplican conocimientos de Web Semántica, conceptos de Layout adaptativos, utilización de AJAX con diferentes frameworks y su utilización en el acceso a Bases de Datos.
Finalmente se presentan y contemplan otras técnicas, tecnologías y tendencias emergentes que pueden ser integradas a los conocimientos adquiridos en este curso, tales como WebApps (móviles), NodeJS, Python, SQLite, Django, etc. PERFIL DEL EGRESADO Obtiene los conocimientos necesarios para comprender y desarrollar Aplicaciones Web 2.0, utilizando e integrando las actuales técnicas usadas en Internet, al tiempo que adquiere conceptos de nuevas tecnologías emergentes, creando así sistemas completamente integrados entre el front-end y back-end. Así mismo, será capaz de incorporarse a un equipo de desarrollo de aplicaciones para arquitectura Cliente/Servidor, o incluso desarrollar sus propios proyectos. DIRIGIDO A Dirigido especialmente al público general que no posee conocimientos previos en desarrollo y/o programación y desea iniciar su proceso de aprendizaje en dicha materia, como también a Programadores, Analistas de Sistemas, Diseñadores Web o Gráficos, que deseen complementar sus conocimientos para desarrollar aplicaciones orientadas a la Web y ampliar su campo de acción. REQUISITOS No se requiere ningún tipo de conocimientos previos en programación, pero sí es necesario poseer experiencia en el manejo de Windows a nivel de usuario. METODOLOGÍA DE TRABAJO El curso es teórico / práctico, donde lo conceptos son presentados en forma ordenada para facilitar la comprensión y utilización correcta de todas las tecnologías en conjunto, creando así las aplicaciones. Mientras se presentan dichos conceptos son reforzados puramente con prácticos que se realizan conjuntamente con la clase. Además de los ejercicios planteados en clase, durante el curso los estudiantes realizan prácticos especialmente preparados para afianzar y aplicar los conocimientos adquiridos hasta el momento. Estos prácticos se entregan al finalizar cada tema y permiten ir evolucionando en el desarrollo de los conocimientos y las propias aplicaciones. SISTEMA DE EVALUACIÓN La aprobación del curso en su conjunto, consiste en la aprobación de los test individuales, un obligatorio, y del proyecto final, planteado por el docente, al finalizar el curso. Tanto el trabajo obligatorio como el proyecto final, son aprobados con el 70% de su puntaje, contribuyendo con el 40% del puntaje total, en el caso del obligatorio, y el proyecto con el 60% restante. En caso de no cumplir con los requisitos necesarios, el estudiante podrá solicitar una nueva instancia de proyecto. En todos los casos el instituto se reserva la posibilidad de fijar fecha y hora, con previa notificación a los estudiantes, de cualquier instancia del curso; así como cualquier modificación de los trabajos parciales y/o proyectos finales. CERTIFICACIONES Los estudiantes que aprueben las evaluaciones correspondientes a este curso obtienen el Título de Programador Web 2.0 en calidad de egresados.
TEMARIO PRIMER SEMESTRE Módulo 1 Introducción Conceptos fundamentales Cómo funciona Internet. Conceptos de arquitectura Cliente / Servidor. Conceptos básicos sobre protocolos TCP/IP, HTTP, SMTP, POP3, FTP, direcciones IP, ISP, Modems, Routers, puertos de comunicación, dominios, DNS, Hosting, Servidores Web. Herramientas de trabajo, descarga, instalación y configuración de un servidor Web Local. Módulo 2 Construcción de Páginas Web Estructura de documentos HTML Introducción a HTML/XHTML. Estructura fundamental de documento HTML, conceptos de etiquetas y elementos. Atributos. Textos, párrafos, saltos de línea, encabezados, símbolos especiales, entidades HTML, enlaces locales, externos, absolutos y relativos, vínculos entre documentos, imágenes, marcadores, direcciones de correo y ventanas. Estructuras de carpetas, organización del sitio. Construcción de Listas ordenadas y numeradas. Tablas y atributos especiales, el uso inapropiado de tablas en el diseño. SEO y la Importancia en buscadores en el uso correcto de etiquetas y estructura del documento. Módulo 3 Aspecto visual del documento Introducción a CSS Definición y conceptos generales. Atributos específicos y estándares de etiquetas. Concepto de elemento en la estructura HTML. Tipos de definición de estilos CSS (style, class, id). Niveles de definición de CSS (en línea, en documento y externos). Propiedades de textos, color, fuentes, bordes, alineación, fondos, tratamiento de imágenes, listas, tablas. Módulo 4 Aspecto visual del documento Conceptos de maquetación CSS Ubicación y comportamiento estándar de los elementos en un documento. Elementos de tipo bloque e inline. Posicionamiento absoluto y relativo. Propiedades de tamaño, unidades de medidas. Control de Layout. Uso inapropiado de Tablas. Definición y uso de elementos DIV como componente principal de maquetación. Propiedades especiales y efecto en el comportamiento de los elementos de la estructura. Módulo 5 Interacción con el documento Introducción a JavaScript y DOM Definición y conceptos de objetos, propiedades y eventos. DOM (Document Object Model). Interacción de JavaScript con DOM. Propiedades y atributos específicos para interactuar con JavaScript. Identificación de elementos. Definición de bloques de código JavaScript en documento y cabecera. Acceso a elementos desde JavaScript. Modificación de propiedades CSS desde JavaScript. Declarar funciones en JavaScript. Funciones con y sin parámetros. Llamar a funciones desde eventos del documento. Variables y estructuras de control. JavaScript en archivos externos. Conceptos y descripción de librerías JS tipo JQuery.
Módulo 6 Programación lado Servidor Introducción a PHP Introducción a PHP. Sentencias. Tipos de datos. Variables y Operadores. Constantes. Estructuras de control. Arrays. Funciones del lenguaje. Funciones de usuario. Tratamiento de cadenas y fechas. Inclusión de archivos. Generación de páginas Web desde el servidor. PHP embebido en HTML. Módulo 7 Interacción Cliente / Servidor de Aplicaciones Envío y recepción de Datos - Formularios Diseño de Formularios y controles HTML/XHTML para formularios. Envío de archivos en formularios. JavaScript para validación de datos. Envío y recepción de datos de formularios en PHP. Diferencias y uso de método de envío GET y POST. Captura y procesamiento de información de formularios. Creación de HTML desde PHP. Tratamiento de archivos adjuntos. Módulo 8 Almacenamiento de datos Generación y tratamiento de archivos en PHP Formatos de archivos de texto. Generación de archivos de texto desde PHP. Archivos CSV. Importación / Exportación de archivos CSV desde Excel. Creación de aplicación que recibe datos de un Formulario y almacena la información en archivo CSV. Lectura de archivo y generación de documento HTML dinámico (aplicación backend-frontend). Módulo 9 Base de Datos Introducción a MySQL Introducción a Bases de Datos relacionales, conceptos y fundamentos. Bases de datos con MySQL. Herramientas para gestionar Base de Datos. Características principales de MySQL. Crear y usar bases de datos MySQL. Creación de tablas. Ingreso de Datos a las tablas. Manipulación y administración de la información. Gestores y phpmyadmin. Sentencias básicas de SQL. Insertar, Actualizar, Eliminar y Consultar registros. Presentación de información. Crear, Exportar / Importar archivos SQL. Uso de filtros en consultas. Ordenar datos. Relacionar tablas. Exportar Búsquedas. Exportar importar archivos CSV y desde Excel. Módulo 10 Acceso a Bases de Datos MySQL desde PHP Funciones PHP de acceso a MySQL- Conectándose y desconectándose al servidor MySQL desde PHP. Enviando consultas a MySQL. Recepción y almacenamiento en PHP de resultados. Recorrido de resultados en memoria. Generación de páginas dinámicas con información desde la base de datos. Conceptos de Cookies y Sesiones. Envío de e-mail. Módulo 11 Creación de una Aplicación funcional en PHP. Backend Frontend Sesiones Cookies - Correo Concepto y uso de Sesiones de usuario, cookies y envío de correo. Creación del frontend, usando HTML, CSS, JavaScript y DOM básico. Construcción del backend, con acceso y almacenamiento en Base de Datos MySQL. Control de acceso por Usuarios.
TEMARIO SEGUNDO SEMESTRE Módulo 12 Estructura y Web Semántica Conceptos fundamentales Diferencias entre versiones de HTML4/XHTML1/HTML5 y CSS1,2,3. Nueva estructura y semántica de documento. Elementos semánticos. Microdatos. Contenido editable. Audio, Video y Gráficos. Nuevos controles de formularios. Validadores. Almacenamiento local. Nuevo tratamiento de propiedades CSS. Bordes y efectos. Textos, sombras y fuentes. Transformaciones. Posición. Rotación. Escala. Distorsión. Transiciones. Animación de elementos. Columnas múltiples. Color y transparencia de elementos. Módulo 13 AJAX - JavaScript Asincrónico Introducción y conceptos. El Objeto XMLHttpRequest. Definición y tipos de solicitud AJAX. Solicitudes Síncronas vs Asíncronas. Peticiones GET y POST. Procesamiento de respuesta. Estado de la solicitud. Proceso de texto simple, HTML, XML y JSON. AJAX y CSS. AJAX y JavaScript. AJAX y HTML. AJAX y PHP. Acceso a MySQL. Interacción entre HTML, CSS, JavaScript, PHP, MySQL y AJAX. Módulo 14 Frameworks para Desarrollo de Aplicaciones Web. JQuery. YUI. Bootstrap. Introducción y conceptos. Descarga, instalación y vinculación en documento. Selección por Id, class. Cambio de propiedades CSS, selección por atributos, selección múltiple y por búsquedas. Añadir y quitar clases. Insertar HTML. Eventos del mouse. Manipulación de controles. AJAX con frameworks. Efectos interacción y Widgets. Módulo 15 PHP y Orientación a Objetos. Introducción a POO. Creación de Clases y Objetos. Definición del Constructor. Creación y métodos de una clase. Creación de objetos. Introducción a la Herencia. Módulo 16 Seguridad en Aplicaciones Métodos de codificación en PHP5. Encode y Decode. MD5. Prevención de hacking. Inclusión de código malicioso. Protección con Whitelist. Expresiones Regulares. Ejemplos de modificadores. Validación de email con filtros. Validar URL. Módulo 17 Extensión de Aplicaciones PDF, Compresión, Gráficos. Abrir y crear archivos PDF. Uso de librerías. Trabajo con archivo ZIP. Abrir archivo ZIP. Introducir elementos dentro de archivos ZIP. Añadir eliminar archivos. Descomprimir ZIP. Librería PHPGD. Comprobación de la librería. Creación de gráficos. Tratamiento de imágenes. Conexión con Base de Datos.
HORARIOS: Instituto: Centro (Escuela de Sistemas y Tecnologías) Dirección: 18 de Julio 1253 (esq. Yi).Tel.: 2901 9186 Duración: 1 año lectivo. INICIO: 21 de Abril de 2014. HORARIOS: Lunes y Miércoles 10:00 a 12:00 hs. INICIO: 22 de Abril de 2014. HORARIOS: Martes y Jueves 20:30 a 22:30 hs. COSTOS: 10 Cuotas - $u 3.680 Contado - 10% de descuento (sobre opción 10 pagos) 2 Cuotas - $u 17.730 9 Cuotas - $u 3.980 OCA: 9 Cuotas - $u 3.980 12 Cuotas - $u 3.150 14 Cuotas - $u 2.760 BIOS se reserva el derecho de realizar ajustes de fechas, horarios, contenidos o costos. La confirmación de los cursos en los horarios y grupos ofrecidos está sujeta a un nivel mínimo de inscripciones que habiliten su funcionamiento.