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 2022)
I - Oferta Académica
Materia Carrera Plan Año Periodo
() TOPICOS AVANZADOS DE TECNOLOGIA WEB ING. EN COMPUT. 28/12 2022 2° cuatrimestre
() TOPICOS AVANZADOS DE TECNOLOGIA WEB ING. INFORM. 026/12- 08/15 2022 2° cuatrimestre
() TOPICOS AVANZADOS DE TECNOLOGIA WEB LIC.CS.COMP. 18/11 2022 2° cuatrimestre
() TOPICOS AVANZADOS DE TECNOLOGIA WEB LIC.CS.COMP. 32/12 2022 2° 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
3 Hs. 2 Hs.  Hs.  Hs. 5 Hs. 2º Cuatrimestre 08/08/2022 18/11/2022 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ú. Actividades. Comunicacion entre actividades: Intents. 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.

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.
Laboratorio: Desarrollo de una aplicación web utilizando un frameworrk de desarrollo aplicando los conceptos dados en la materia.
Práctico 3: Programación para dispositivos móviles. Android – Introducción.
Laboratorio: Desarrollo de una aplicación para dispositivos móviles aplicando los conceptos dados en la materia.
VIII - Regimen de Aprobación
Condiciones para regularizar la materia:

- Aprobar el/los práctico/s de máquina con toda su documentación entregada en tiempo y forma. Un práctico de máquina se evalúa como aprobado o desaprobado, únicamente. Los prácticos se podrán realizar en grupos de hasta tres integrantes.

- Desarrollar de proyectos integradores consistentes en el desarrollo de aplicaciones utilizando cada tecnología dada en la materia. Cada proyecto será evaluado con nota entre 1 y 10 y deberá ser aprobado con una nota mayor a 6 (seis)
- El estudiante deberá tener el 60% de asistencia a clases teóricas y prácticas.
Condiciones de aprobación de la materia:

- Por Promoción:
· Regularizar la materia con las siguientes condiciones:
· Aprobar los proyectos desarrollados o sus recuperaciones con nota mayor o igual que 7 (siete).
· Además, deberán aprobar una Evaluación Global Integradora (Ord 13/03).
- El estudiante deberá tener el 80% de asistencia a clases teóricas y prácticas.

- Examen Final: En caso de regularizar la materia, el alumno deberá rendir un examen final, el cual podrá ser oral o escrito.

- Exámenes libres: Según lo dispuesto por 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
Contacto: mperalta@unsl.edu.ar - mperalta@email.unsl.edu.ar
XIV - Otros