Nombre: APLICACIONES EN INTERNET
Código: 505104003
Carácter: Obligatoria
ECTS: 6
Unidad Temporal: Cuatrimestral
Despliegue Temporal: Curso 4º - Primer cuatrimestre
Menciones/Especialidades:
Lengua en la que se imparte: Castellano
Carácter: Presencial
Nombre y apellidos: EGEA LÓPEZ, ESTEBAN
Área de conocimiento: Ingeniería Telemática
Departamento: Tecnologías de la Información y las Comunicaciones
Teléfono: 968326553
Correo electrónico: esteban.egea@upct.es
Horario de atención y ubicación durante las tutorias:
martes - 10:00 / 13:00
ANTIGONES, planta 1, Despacho 22
jueves - 16:00 / 19:00
ANTIGONES, planta 1, Despacho 22
Titulaciones:
Doctor en Doctor en Telecomunicaciones en la Universidad Politécnica de Cartagena (ESPAÑA) - 2006
Máster en Master of Sciences in Electrical Engineering en la Universidades Extranjeras* (SUECIA) - 2001
Ingeniero en Ingeniero de Telecomunicación en la Universidad Politécnica de Valencia (ESPAÑA) - 2000
Categoría profesional: Profesor Titular de Universidad
Nº de quinquenios: 4
Nº de sexenios: 3 de investigación y 1 de transferencia
Curriculum Vitae: Perfil Completo
Nombre y apellidos: PINTADO SEDANO, ÁNGEL ANTONIO
Área de conocimiento: Ingeniería Telemática
Departamento: Tecnologías de la Información y las Comunicaciones
Teléfono: 968325397
Correo electrónico: angel.pintado@upct.es
Horario de atención y ubicación durante las tutorias:
Titulaciones:
Categoría profesional: Profesor Asociado
Nº de quinquenios: No procede por el tipo de figura docente
Nº de sexenios: No procede por el tipo de figura docente
Curriculum Vitae: Perfil Completo
Nombre y apellidos: GUZMÁN QUIRÓS, RAÚL
Área de conocimiento: Ingeniería Telemática
Departamento: Tecnologías de la Información y las Comunicaciones
Teléfono:
Correo electrónico: raul.guzman@upct.es
Horario de atención y ubicación durante las tutorias:
Titulaciones:
Categoría profesional: Profesor Asociado
Nº de quinquenios: No procede por el tipo de figura docente
Nº de sexenios: No procede por el tipo de figura docente
Curriculum Vitae: Perfil Completo
[CG3 ]. Conocimiento de materias básicas y tecnologías, que le capacite para el aprendizaje de nuevos métodos y tecnologías, así como que le dote de una gran versatilidad para adaptarse a nuevas situaciones.
[T1 ]. Capacidad de construir, explotar y gestionar las redes, servicios, procesos y aplicaciones de telecomunicaciones, entendidas éstas como sistemas de captación, transporte, representación, procesado, almacenamiento, gestión y presentación de información multimedia, desde el punto de vista de los servicios telemáticos
[T7 ]. Capacidad de programación de servicios y aplicaciones telemáticas, en red y distribuidas
Se recomienda haber cursado las asignaturas: Redes y servicios de telecomunicaciones, Fundamentos de programación, Sistemas y servicios distribuidos y Programación para Ingeniería Telemática.
[TR3 ]. Aprender de forma autónoma
[TR5 ]. Aplicar a la práctica los conocimientos adquiridos
Al finalizar el plan formativo, el estudiante debe ser capaz de:
Explicar el funcionamiento de la Web: tecnologías, protocolos y recursos.
Describir la evolución de los distintos componentes de la Web, las razones de su desarrollo inicial, las necesidades funcionales que cubren y sus limitaciones.
Distinguir las necesidades funcionales de una aplicación de la tecnología concreta con la que se cubre.
Desarrollar aplicaciones web, cuyo contenido se genera de manera dinámica, usando PHP, HTML, javascript y CSS.
Diseñar la arquitectura de una aplicación para la Web, sus componentes y funcionalidad asociada.
Conocer los fundamentos del aprendizaje de máquinas aplicados a servicios web.
Aplicar algoritmos de análisis de datos masivos (Big Data).
Adaptar, modificar y ajustar los algoritmos de procesamiento de datos masivo a las necesidades particulares de un sistema o aplicación.
Arquitecturas distribuidas. Aplicaciones web. Aplicaciones para dispositivos móviles. Aplicaciones basadas en el contexto. Paradigma "Internet de las cosas".
1. Introducción a la Web
1.1. Introducción: la Red Global (World Wide Web)
Al finalizar con éxito el tema el estudiante será capaz de:
o Explicar el funcionamiento de la Web: tecnologías, protocolos y recursos.
o Describir la evolución de los distintos componentes de la Web, las razones de su desarrollo inicial y las necesidades funcionales que cubren.
o Enumerar otros sistemas distribuidos que funcionan sobre Internet y describir sus diferencias respecto a la Web.
1.2. Funcionamiento de la Web estática.
Al finalizar con éxito el tema el estudiante será capaz de:
o Explicar el funcionamiento del protocolo HTTP y sus formas de uso para obtener recursos de la Web.
o Describir el formato, las partes de una URL, su utilidad y sus inconvenientes.
o Reconocer un recurso en la Web y describir diferentes representaciones de los recursos de la Web.
o Explicar el funcionamiento de un servidor HTTP.
o Describir el funcionamiento de un navegador.
1.3. Documentos estructurados y lenguajes de marcas
Al finalizar con éxito el tema el estudiante será capaz de:
o Reconocer la utilidad de los lenguajes de marcas y metalenguajes para estructurar la información/datos en el contexto de la Web.
o Explicar la necesidad y utilidad de las plantillas de diseño.
o Explicar la necesidad de una API neutral para el procesado de documentos estructurados.
o Desarrollar documentos HTML con múltiples elementos.
o Desarrollar y aplicar plantillas de diseño con CSS.
o Reconocer un documento HTML e indicar la función de los diferentes elementos (marcas).
2. La Web dinámica
2.1 Funcionamiento de la Web dinámica.
Al finalizar con éxito el tema el estudiante será capaz de:
o Generar documentos HTML con múltiples elementos y formularios.
o Desarrollar y aplicar plantillas de diseño con CSS.
o Reconocer en un documento HTML la función de los diferentes elementos (marcas).
o Identificar los métodos del protocolo HTTP para recibir información del usuario.
o Distinguir el servidor HTTP de la aplicación que procesa la información de usuario.
o Explicar la interacción entre servidor HTTP y aplicaciones externas y los procedimientos de comunicación entre ambas.
o Procesar información y generar contenido dinámico mediante el lenguaje PHP.
o Entender la necesidad de mantener información de estado para el desarrollo de aplicaciones.
o Aplicar mecanismos básicos para el mantenimiento de sesiones de usuario.
o Desarrollar aplicaciones que almacenan datos de manera persistente y gestionarlos de manera eficiente.
o Enumerar eventos del navegador.
o Desarrollar aplicaciones interactivas con el lenguaje javascript.
o Aplicar mecanismos de actualización asíncrona de un documento con AJAX.
3. Algoritmos
3.1 .Introducción a los algoritmos de aprendizaje de máquinas (machine learning)
Al finalizar con éxito el tema el estudiante será capaz de:
o Explicar los fundamentos del aprendizaje de máquinas (machine learning).
o Indicar las limitaciones de estos algoritmos.
o Reconocer el ámbito de aplicación de estos algoritmos en servicios web inteligentes y análisis masivo de datos en Internet.
3.2. Algoritmos de regresión lineal y polinçomica
Al finalizar con éxito el tema el estudiante será capaz de:
o Explicar la utilidad de un algoritmo de regresión.
o Aplicar los algoritmos básicos de regresión lineal y polinómica.
o Describir los fundamentos del aprendizaje supervisado.
o Reconocer la presencia de estos algoritmos en aplicaciones reales.
3.3. Algoritmos de recomendación.
Al finalizar con éxito el tema el estudiante será capaz de:
o Describir los elementos y requerimientos de un sistema de recomendación.
o Explicar el análisis basado en contenido.
o Aplicar el filtrado colaborativo.
o Reconocer la presencia de estos algoritmos en aplicaciones reales.
3.4. Algoritmos de agrupación.
Al finalizar con éxito el tema el estudiante será capaz de:
o Explicar la utilidad de un algoritmo de agrupación o clustering.
o Aplicar los algoritmos básicos de agrupación.
o Describir los fundamentos del aprendizaje no supervisado.
o Reconocer la presencia de estos algoritmos en aplicaciones reales.
3.5. Algoritmos de clasificación.
Al finalizar con éxito el tema el estudiante será capaz de:
o Explicar la utilidad de un algoritmo de clasificación.
o Aplicar los algoritmos básicos de clasificación.
o Entender los fundamentos del aprendizaje supervisado.
o Reconocer la presencia de estos algoritmos en aplicaciones reales.
La Web
Práctica 1.- Servidores HTTP Práctica 2.- HTML y CSS. Práctica 3.- Formularios HTML y PHP. Práctica 4.- Cookies y Bases de datos. Práctica 5.- Javascript.
Algoritmos
Práctica 6.- Regresión lineal y descenso del gradiente Práctica 7.- Sistemas de recomendación Práctica 8.- Clustering Práctica 9.- Clasificación
La Universidad Politécnica de Cartagena considera como uno de sus principios básicos y objetivos fundamentales la promoción de la mejora continua de las condiciones de trabajo y estudio de toda la Comunidad Universitaria. Este compromiso con la prevención y las responsabilidades que se derivan atañe a todos los niveles que integran la Universidad: órganos de gobierno, equipo de dirección, personal docente e investigador, personal de administración y servicios y estudiantes. El Servicio de Prevención de Riesgos Laborales de la UPCT ha elaborado un "Manual de acogida al estudiante en materia de prevención de riesgos" que puedes encontrar en el Aula Virtual, y en el que encontraras instrucciones y recomendaciones acerca de cómo actuar de forma correcta, desde el punto de vista de la prevención (seguridad, ergonomía, etc.), cuando desarrolles cualquier tipo de actividad en la Universidad. También encontrarás recomendaciones sobre cómo proceder en caso de emergencia o que se produzca algún incidente. En especial, cuando realices prácticas docentes en laboratorios, talleres o trabajo de campo, debes seguir todas las instrucciones del profesorado, que es la persona responsable de tu seguridad y salud durante su realización. Consúltale todas las dudas que te surjan y no pongas en riesgo tu seguridad ni la de tus compañeros.
1. Introduction to the Web
1.1. Introduction: Internet, the Global Network (World Wide Web)
Learning outcomes:
o Understanding the operation of the Web: its components, protocols and resources.
o Describing the evolution of the various components of the Web and its transformation from a system of distributed documents to an platform for applications and services.
1.2. Operation of the static Web.
Learning outcomes:
o Understanding HTTP protocol operation and its forms of use to get web resources.
o Knowing the parts of an URL, its usefulness and limitations.
o Knowing what a Web resource is and describing different representations of Web resources.
o Understanding the operation of a browser.
1.3. Structured languages
Learning outcomes:
o Understanding the utility of markup and meta languages for structuring and information/data in the context of the Web.
o Recognizing the need and usefulness of the design templates.
o Understanding the need for a neutral API for processing structured documents.
o Developing HTML documents with multiple elements.
o Developing and apply design templates with CSS.
o Understanding an HTML document and the role of different elements (marks).
2. The Dynamic Web
2.1. Operation of the dynamic Web.
Learning outcomes:
o Knowing the HTTP protocol operation for obtaining user information.
o Distinguishing the HTTP server from the application that processes user information.
o Understanding the need for interaction between HTTP server and external applications and communication procedures between the two.
o Knowing different ways to process the user information and generate dynamic content.
o Knowing the PHP language features.
o Understanding the need to maintain state information for the development of applications.
o Knowing basic mechanisms for maintaining user sessions.
o Knowing how to store data persistently and manage them efficiently.
o Use of basic SQL.
o Listing typical browser events.
o Knowing the javascript programming language features.
o Understanding the operation of the AJAX asynchronous update mechanisms for a document.
3. Algorithms
3.1. Introduction to machine learning algorithms
Learning outcomes:
o Understanding the basics of machine learning ("machine learning").
o Knowing the limitations of these algorithms.
o Recognizing the scope of these algorithms in intelligent web services and massive Internet data mining (Big Data).
3.2. Regression algorithms.
Learning outcomes:
o Explaining the utility of a linear or polynomic regression algorithm.
o Applying basic regression algorithms.
o Describing the fundamentals of supervised learning.
o Identifying the presence of these algorithms in real applications.
3.3. Recommendation algorithms.
Learning outcomes:
o Knowing the elements and requirements of a recommendation system.
o Understanding content-based analysis.
o Understanding collaborative filtering.
o Recognizing the presence of these algorithms in real applications.
3.4. Clustering algorithms.
Learning outcomes:
or determine the usefulness of a grouping or clustering algorithm.
o Knowing basic clustering algorithms.
o Understanding the fundamentals of unsupervised learning.
o Recognizing the presence of these algorithms in real applications.
3.5. Classification algorithms.
Learning outcomes:
o Determining the usefulness of a classification algorithm.
o Knowing basic algorithms of classification.
o Understanding the fundamentals of supervised learning.
o Recognizing the presence of these algorithms in real applications.
Labs
1.- HTTP Servers
2.- HTML and CSS.
3.- PHP.
4.- Databases.
5.- Javascript.
6.- Linear regression and gradient descent
7. Recommendation systems
8. Clustering.
9. Classification
Se recomienda haber cursado las asignaturas: Redes y servicios de telecomunicaciones, Fundamentos de programación, Sistemas y servicios distribuidos y Programación para Ingeniería Telemática.
Clase en aula convencional: teoría, problemas, casos prácticos, seminarios, etc
Clase magistral
Resolución de problemas en clase
28
100
Clase en laboratorio: prácticas
Desarrollo de una sesión de prácticas en el laboratorio mediante ordenadores personales del laboratorio o portátil del estudiante
28
100
Clase en campo o aula abierta (visitas técnicas, conferencias, etc.). En general, actividades que requieren de unos recursos o de una planificación especiales
Desarrollo de una sesión de prácticas en el laboratorio mediante ordenadores personales del laboratorio o portátil del estudiante
No se contempla este curso
Solo se presentará y explicará el trabajo si así lo requiere el profesor tras realizar una evaluación previa del mismo.
0
100
Clase en aula de informática: prácticas
Recogidas como prácticas en laboratorio.
0
100
Actividades de evaluación (sistema de evaluación continua)
Realización de examen
4
100
Actividades de evaluación (sistema de evaluación final)
Actividades de evaluación (sistema de evaluación final): pruebas escritas u orales, con carácter individual o de grupo, indicadoras de los conocimientos adquiridos. Se incluyen aquí actividades de evaluación sumativa
0
100
Tutorías
No se realizan en esta asignatura
0
50
Trabajo del estudiante: estudio o realización de trabajos individuales o en grupo
Se desarrollará una aplicación web siguiendo las especificaciones que se publicarán durante el primer mes de la asignatura. El trabajo se realizará individualmente o por parejas.
Estudio de los contenidos de la asignatura y realización de problemas.
120
0
Trabajo Final
Se desarrollará una aplicación web siguiendo las especificaciones que se publicarán durante el primer mes de la asignatura. El trabajo se realizará individualmente o por parejas. Calificación mínima para superar la asignatura: 4.
Resultados del aprendizaje que se evalúan:
Distinguir las necesidades funcionales de una aplicación de la tecnología concreta con la que se cubre.
Desarrollar aplicaciones web, cuyo contenido se genera de manera dinámica, usando PHP, HTML, javascript y CSS.
Diseñar la arquitectura de una aplicación para la Web, sus componentes y funcionalidad asociada.
Conocer los fundamentos del aprendizaje de máquinas aplicados a servicios web.
Aplicar algoritmos de análisis de datos masivos (Big Data).
Adaptar, modificar y ajustar los algoritmos de procesamiento de datos masivo a las necesidades particulares de un sistema o aplicación
Competencias: T7, TR5, TR3
30 %
Exámenes escritos y/u orales (evaluación de contenidos teóricos, aplicados y/o prácticas de laboratorio)
Se realizarán 2 exámenes parciales, con una ponderación del 30% cada uno. En ambos casos se requiere una calificación mínima de 4 para poder superar la asignatura. El primer examen cubrirá los contenidos de los bloques I y II. El segundo los contenidos del bloque III.
Resultados del aprendizaje que se evalúan:
Explicar el funcionamiento de la Web: tecnologías, protocolos y recursos.
Describir la evolución de los distintos componentes de la Web, las razones de su desarrollo inicial, las necesidades funcionales que cubren y sus limitaciones.
Distinguir las necesidades funcionales de una aplicación de la tecnología concreta con la que se cubre.
Desarrollar aplicaciones web, cuyo contenido se genera de manera dinámica, usando PHP, HTML, javascript y CSS.
Conocer los fundamentos del aprendizaje de máquinas aplicados a servicios web.
Aplicar algoritmos de análisis de datos masivos (Big Data).
60 %
Entregables de ejercicios y/o prácticas
Realización de cuestionarios de prácticas. No se reservarán sesiones de prácticas para recuperación. Los estudiantes que, por motivos justificados, no hayan asistido a alguna sesión podrán realizarlas de manera remota o en su ordenador personal y se habilitará una fecha de entrega del cuestionario correspondiente.
10 %
Trabajo Final
Se desarrollará una aplicación web siguiendo las especificaciones que se publicarán durante el primer mes de la asignatura. El trabajo se realizará individualmente o por parejas. Calificación mínima para superar la asignatura: 4.
Resultados del aprendizaje que se evalúan:
Distinguir las necesidades funcionales de una aplicación de la tecnología concreta con la que se cubre.
Desarrollar aplicaciones web, cuyo contenido se genera de manera dinámica, usando PHP, HTML, javascript y CSS.
Diseñar la arquitectura de una aplicación para la Web, sus componentes y funcionalidad asociada.
Conocer los fundamentos del aprendizaje de máquinas aplicados a servicios web.
Aplicar algoritmos de análisis de datos masivos (Big Data).
Adaptar, modificar y ajustar los algoritmos de procesamiento de datos masivo a las necesidades particulares de un sistema o aplicación
Competencias: T7, TR5, TR3
30 %
Exámenes escritos y/u orales (evaluación de contenidos teóricos, aplicados y/o prácticas de laboratorio)
Se realizarán 2 exámenes parciales, con una ponderación del 30% cada uno. En ambos casos se requiere una calificación mínima de 4 para poder superar la asignatura. El primer examen cubrirá los contenidos de los bloques I y II. El segundo los contenidos del bloque III.
Resultados del aprendizaje que se evalúan:
Explicar el funcionamiento de la Web: tecnologías, protocolos y recursos.
Describir la evolución de los distintos componentes de la Web, las razones de su desarrollo inicial, las necesidades funcionales que cubren y sus limitaciones.
Distinguir las necesidades funcionales de una aplicación de la tecnología concreta con la que se cubre.
Desarrollar aplicaciones web, cuyo contenido se genera de manera dinámica, usando PHP, HTML, javascript y CSS.
Conocer los fundamentos del aprendizaje de máquinas aplicados a servicios web.
Aplicar algoritmos de análisis de datos masivos (Big Data).
60 %
Entregables de ejercicios y/o prácticas
Realización de cuestionarios de prácticas. Los estudiantes que no hayan realizado los cuestionarios en las fechas establecidas podrán realizarlas de manera remota o en su ordenador personal y se habilitará una fecha de entrega de los cuestionarios correspondientes.
10 %
El peso en la evaluación de las pruebas escritas es de un 60%.
Es necesario obtener una nota mínima de 4 en cada una de las actividades de evaluación con peso igual o superior al 30%.
La superación de las prácticas durante un curso, exime de su asistencia y evaluación de nuevo en cursos siguientes.
La nota de trabajos y entregables se guardará durante el periodo que estipule la normativa vigente.
Si un estudiante que ha superado una actividad de evaluación en el sistema de evaluación continua, desea presentarse a esa misma actividad en el sistema de evaluación final, debe renunciar a la calificación obtenida en el sistema de evaluación continua.
Autor: David Gourley
Título: HTTP: The Definitive Guide (Definitive Guides)
Editorial: O'Reilly Media
Fecha Publicación:
ISBN: 978-1565925090
Autor: Gerón, Aurélien
Título: Hands-on machine learning with scikit-learn and TensorFlow: concepts, tools, and techniques to build intelligent systems
Editorial: O'Reilly Media
Fecha Publicación: 2019
ISBN: 9781492032649
Autor: Ceri, Stefano,
Título: Designing data-intensive Web applications /
Editorial: Morgan Kaufmann Publishers,
Fecha Publicación: 2003
ISBN: 0080503934
Autor: Kew, Nick
Título: Tha Apache modules book application development with Apache
Editorial: Prentice Hall
Fecha Publicación: 2007
ISBN: 0132409674
Autor: Fowler, Susan L.
Título: Web application design handbook: best practices for web-based software /
Editorial: Elsevier/Morgan Kaufmann,
Fecha Publicación: 2004
ISBN: 9780080481708|
Autor: Leskovec, Jurij
Título: Mining of massive datasets
Editorial: Cambridge University Press,
Fecha Publicación: 2014
ISBN: 9781107077232
Autor: Purvis, Michael
Título: Beginning Google maps applications with PHP and Ajax from novice to professional
Editorial: Apress
Fecha Publicación: 2006
ISBN: 9781590597071
Autor: Zhang, Yan-Qing.
Título: Computational Web intelligence
Editorial: World Scientific,
Fecha Publicación: 2004
ISBN: 9812388273
Autor: Vaswani, Vikram.
Título: How to do everything with PHP & MySQL
Editorial: McGraw-Hill/Osborne,
Fecha Publicación: 2005
ISBN: 0072257954
Autor: Taylor, Ian J.
Título: From P2P and grids to services on the web evolving distributed communities
Editorial: Springer,
Fecha Publicación: 2009
ISBN: 9781848001220
Autor: Steinmetz, William.
Título: Wicked cool PHP
Editorial: No Starch Press,
Fecha Publicación: 2008
ISBN: 1593271735
Apuntes de la asignatura en aula virtual
Boletines de problemas en aula virtual.
Conjunto de tutoriales y ejemplos básicos de las principals tecnologías y lenguajes: www.w3schools.com/
Librerías que se pueden combinar en apliciones web: www.programmableweb.com/
Documentación del lenguaje PHP: php.net
Intérprete PHP online: http://phpfiddle.org/
Plantillas CSS: www.oswd.org/
Especificaciones del W3C: www.w3c.org
Guías de desarrollo de Mozilla: https://developer.mozilla.org/en-US/docs/Web/Guide
La propia Web. Prácticamente todas las tecnologías y conceptos tratados en la asignatura se pueden experimentar libremente y de manera autónoma simplemente con un navegador como Firefox o Chrome.