Ministerio de Cultura y Educación
Universidad Nacional de San Luis
Facultad de Ciencias Físico Matemáticas y Naturales
Departamento: Informatica
Área: Area IV: Pr. y Met. de Des. del Soft.
(Programa del año 2018)
I - Oferta Académica
Materia Carrera Plan Año Periodo
(OPTATIVA) TOPICOS AVANZADOS DE TECNOLOGIA WEB LIC.CS.COMP. 32/12 2018 1° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
PERALTA, MARIO GABRIEL Prof. Responsable P.Adj Exc 40 Hs
III - Características del Curso
Credito Horario Semanal Tipificación Duración
Teórico/Práctico Teóricas Prácticas de Aula Práct. de lab/ camp/ Resid/ PIP, etc. Total B - Teoria con prácticas de aula y laboratorio Desde Hasta Cantidad de Semanas Cantidad en Horas
Periodo
2 Hs.  Hs.  Hs. 3 Hs. 5 Hs. 1º Cuatrimestre 12/03/2018 22/06/2018 15 75
IV - Fundamentación
En la actualidad, las tecnologías de la información y la comunicación avanzan rápidamente, y con ellas, las tecnologías de desarrollo para la web deben evolucionar y adaptarse a dichos cambios. Por ello es fundamental introducir a los alumnos a las nuevas tecnologías de desarrollo. De la misma manera, el tipo de dispositivos a través de los cuales se accede a la información y a la Web ha evolucionado drásticamente. Por lo tanto, ya que la creciente demanda de soluciones para estos dispositivos presenta un variado campo de oportunidades laborales en el dinámico mercado de las TICs, es fundamental que los estudiantes adquieran los conocimientos necesarios para el desarrollo de aplicaciones que puedan ejecutarse de manera eficiente en estos nuevos dispositivos.
V - Objetivos / Resultados de Aprendizaje
Introducir al alumno en los conceptos avanzados de programación Web y el uso de Frameworks de desarrollo. Lograr que el alumno adquiera los conocimientos básicos del desarrollo web para los nuevos dispositivos, como los dispositivos móviles, y el desarrollo de capacidades para el empleo de técnicas avanzadas de interfaz gráfica de usuario.
VI - Contenidos
Unidad 1. Programación orientada a objetos en PHP.
Repaso de los conceptos de POO (Herencia - Polimorfismo). Creación de clases básicas. Métodos private, protected y public. Indicaciones de tipo. Clonado. Constructores y destructores. Constantes de clase. Métodos estáticos. Herencia de clase. Clases avanzadas. Clases y métodos abstractos. Interfaces. Clases y métodos finales. Métodos especiales. Métodos de obtención (getter) y de establecimiento (Setter). Método_call(), Método_toString(). Carga automática de clases. Serialización de objetos. Excepciones. Conocimiento de la pila de llamadas. La clase Exception. Arrojar y capturar excepciones. Iteradores.

Unidad 2: Framework de Desarrollo para la Web.
Introducción a los Frameworks de desarrollo para la Web. Conceptos básicos. El patrón MVC. Organización del código. Herramientas comunes. Ejecutar aplicaciones. Instalando el entorno de pruebas. Sesiones de Usuario. Seguridad de la Acción. Métodos de Validación y Manejo de Errores. Administración de bases de datos. Las clases del modelo. Acceso a los datos. Conexiones con la base de datos. Reescritura de URL. Helpers de enlaces. Configuración del sistema de enrutamiento. Helpers de formularios. Helpers de formularios para objetos. Validación de formularios. Validaciones complejas.

Unidad 3: Framework de Desarrollo: Integración con Ajax.
Helpers básicos de Javascript. Prototype. Helpers de Ajax. Parámetros para la ejecución. Creando efectos visuales. JSON. Interacciones complejas con Ajax.

Unidad 4: Programación de Dispositivos Móviles.
Programación de dispositivos móviles. Introducción. Dispositivos móviles. Modelos y arquitecturas software de desarrollo para móviles. Características y modelos más usuales de arquitecturas de los dispositivos móviles. Clasificación y aplicaciones de los dispositivos móviles. Ambientes de las aplicaciones. Protocolo de Interfaz entre aplicaciones. Programación de teléfonos móviles y PDA.

Unidad 5: Programación en Android.
Entorno de desarrollo Android. Estructura de un proyecto Android, Componentes dc una aplicación Android. Interfaz de Usuario: Layouts, Botones, Imágenes, etiquetas y cuadros de texto. Checkboxes y RadioButtons, Listas Desplegables, Listas, Optimización de listas, Grids, Pestañas. Controles personalizados: Extender controles, Controles personalizados: Combinar controles, Controles personalizados: Diseño completo. Widgets de Escritorio: Widgets básicos, Widgets avanzados. Menús: Menús y Submenús básicos, Menús Contextuales, Opciones avanzadas de Menú. Tratamiento de XML: Tratamiento de XML con SAX, Tratamiento de XML con SAX Simplificado, Tratamiento de XML con DOM, Tratamiento de XML con XmlPull. Base de Datos: Primeros pasos con SQLite, Insertar/Actualizar/Eliminar, Consultar/Recuperar registros. Preferencias: Preferencias Compartidas, Pantallas de Preferencias. Localización Geográfica: Localización Geográfica Básica, Profundizando en la Localización Geográfica. Mapas: Preparativos y ejemplo básico, Control MapView, Overlays (Capas). Archivos o Ficheros: Ficheros en Memoria Interna, Ficheros en Memoria Externa (Tarjeta SD). Content Providers: Construcción de Content Provideis, Utilización de Content Providers. Notificaciones: Notificaciones Toast, Notificaciones de la Barra de Estado, Cuadros de Diálogo. Depuración de Aplicaciones: Logging en Android.

Unidad 6: Tratamiento de Imágenes e Interfaces Gráficas.
Aplicaciones avanzadas de técnicas de interfaz gráfica de usuario: Animaciones en la Web. Tratamiento de Imágenes.

VII - Plan de Trabajos Prácticos
Práctico 1: Programación Orientada a Objetos en PHP.
Práctico 2: Frameworks de Desarrollo. Instalación y Aplicación.
Práctico 3: Programación para dispositivos móviles. Android – Introducción.
Práctico 4: Tratamiento de Imágenes e Interfaces Gráficas.
Laboratorio: Desarrollo de una aplicación para dispositivos móviles aplicando los conceptos dados en la materia.
VIII - Regimen de Aprobación
Condiciones de regularización:
- Presentación y aprobación de los proyectos de práctico de máquina.
- Aprobar dos exámenes parciales o sus respectivas recuperaciones, con nota mayor o igual que seis para su regularización y tener el 60% de asistencia a clases.
Se otorga, tal como lo expresa la reglamentación vigente, dos recuperaciones por cada parcial.

Condiciones de aprobación:
- Por promoción. El alumno debe contar con las condiciones de regularización, con una nota de exámenes parciales mayor o igual a 7 (siete) y tener el 80% de asistencia a clases; además deberá aprobar un examen global integrador con nota mayor o igual a 7 (siete) (13/03 CS - Art. 35.), ó,
- Por examen final. El examen puede ser de carácter Oral o Escrito.
Exámenes Libres: Según lo dispuesto por el Art. 27 de Ord. 13/03 CS.
IX - Bibliografía Básica
[1] Fundamentos Php 5. Mercer Dave W., Choi Wankyu, Kent Allan, Mercer David, Nowicki Steven D., Squier Dan. Editorial Anaya Multimedia.
[2] http://www.php.net/
[3] The Busy Coder's Guide to Android Development. Mark L. Murphy. ISBN: 978-0-9816780-0-9.
[4] PHP: Manual de referencia. Steven Holzner. McGRAW-HILL/INTERAMERICANA EDITORES, S.A. DE C.V. ISBN-13: 978-970-10-6757-4. ISBN: 970-10-6757-6.
[5] Symfony 2.4, el libro oficial. Fabien Potencier, Ryan Weaver. Licencia CC BY-SA 3.0 Creative Commons Atribución - Compartir igual 3.0.
[6] Material provisto por la cátedra.
[7] Android: programación de dispositivos móviles a través de ejemplos Amaro Soriano, José Enrique. Editorial: MARCOMBO, S.A. ISBN: 9788426717672. 1ª Edición: . EAN: 9788426717672.
X - Bibliografia Complementaria
[1] Manual de PHP. http://www.php.net/manual/es/index.php.
[2] Symfony. The Book. SesionLabs. https://sensiolabs.com/.
[3] CodeIgniter: Guía del Usuario en Español. http://weblatam.com/download/ci_guia_usuario.pdf.
XI - Resumen de Objetivos
Introducir al alumno en los conceptos avanzados de programación Web y el uso de Frameworks de desarrollo. Lograr que el alumno adquiera los conocimientos básicos del desarrollo web para los nuevos dispositivos, como los dispositivos Móviles, y el desarrollo de capacidades para el empleo de técnicas avanzadas de interfaz gráfica de usuario.
XII - Resumen del Programa
Unidad 1. Programación orientada a objetos en PHP.
Unidad 2: Framework de Desarrollo para la Web.
Unidad 3: Framework de Desarrollo: Integración con Ajax.
Unidad 4: Programación de Dispositivos Móviles.
Unidad 5: Programación en Android.
Unidad 6: Tratamiento de Imágenes e Interfaces Gráficas.
XIII - Imprevistos
 
XIV - Otros