Última revisión realizada: 26/10/2020

Denominación de la asignatura: Computación en el Cliente Web
Postgrado al que pertenece: Máster Universitario en Ingeniería de Software y Sistemas Informáticos
Créditos ECTS: 3
Carácter de la asignatura: Obligatoria

Presentación

En esta asignatura vamos a presentar las características de la web y los elementos necesarios para que las aplicaciones web funcionen correctamente, con especial énfasis en el «lenguaje de computación» de las mismas: JavaScript. Además, introduciremos los conceptos más importantes para el desarrollo de aplicaciones web y veremos cómo crear contenido estático por medio del lenguaje HTML y CSS.

A continuación, profundizaremos en el funcionamiento de la web aprendiendo qué es el contenido dinámico y cómo se desarrolla. Para hacerlo, aprenderemos las características de los lenguajes que permiten introducir este contenido dinámico en una página web y, en particular, JavaScript. En esta línea, estudiaremos el modelo de objetos jerárquico de objetos (DOM) creados por el navegador para modelar una página HTML y cómo JavaScript puede acceder y modificar dichos objetos.

La cantidad y frecuencia de operaciones en la web con JavaScript ha crecido muy rápidamente, haciendo la programación algo tediosa en algunos casos. Para facilitar la labor de los programadores, han surgido ciertas bibliotecas o frameworks, que permiten realizar las mismas tareas que JavaScript de una manera más sencilla.

Para finalizar, aprenderemos las últimas tendencias en el desarrollo de aplicaciones web estudiando las novedades que incorpora HTML5 respecto a sus predecesores. También nos familiarizaremos con la tecnología AJAX, aprendiendo qué es y para qué se usa, así como su sintaxis y la manera en la que trabaja con el servidor web para ofrecer el contenido que se demanda desde la parte del cliente. Aunque la asignatura se centra en el navegador (el cliente), veremos otros tipos de tecnologías cliente que hacen uso de los estándares web que vamos a estudiar.

Competencias básicas

  • CB6: Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en el desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación.
  • CB7: Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
  • CB8: Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios.
  • CB9: Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades.
  • CB10: Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.

Competencias generales

  • CG5: Integrar los conocimientos adquiridos para formular juicios a partir de una información que, siendo incompleta o limitada, incluyan reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios al periodismo de investigación basado en datos y su visualización.

Competencias específicas

  • CE1: Capacidad para la puesta en marcha, dirección y gestión de procesos de diseño y desarrollo de sistemas informáticos, con garantía de la seguridad para las personas y bienes, la calidad final de los productos y su homologación.
  • CE3: Capacidad para analizar las necesidades de información que se plantean en un entorno y llevar a cabo en todas sus etapas el proceso de construcción de un sistema de información.
  • CE4: Capacidad para crear y diseñar sistemas software que resuelvan problemas del mundo real.
  • CE8: Capacidad para la creación y explotación de entornos web.
  • CE11. Capacidad para conceptualizar, diseñar, desarrollar y evaluar la interacción persona-ordenador de productos, sistemas, aplicaciones y servicios informáticos usables, accesibles y adaptables.
  • CE13: Capacidad para diseñar y desarrollar arquitecturas orientadas a servicios y servicios web.
  • CE14: Capacidad para diseñar, desarrollar e implantar sitios, servicios y sistemas basados en la Web con garantías de seguridad.
  • CE15: Conocer, comprender, seleccionar y utilizar los lenguajes, protocolos y tecnologías estándares así como las plataformas de desarrollo tanto comerciales como de dominio público.

Competencias transversales

  • CT1: Analizar de forma reflexiva y crítica las cuestiones más relevantes de la sociedad actual para una toma de decisiones coherente.
  • CT2: Identificar las nuevas tecnologías como herramientas didácticas para el intercambio comunicacional en el desarrollo de procesos de indagación y de aprendizaje grupal.
  • CT3: Aplicar los conocimientos y capacidades aportados por los estudios a casos reales y en un entorno de grupos de trabajo en empresas u organizaciones.
  • CT4: Adquirir la capacidad de trabajo independiente, impulsando la organización y favoreciendo el aprendizaje autónomo.

Tema 1. Introducción e historia de JavaScript

  • Introducción
  • Historia de JavaScript
  • Entorno de desarrollo que vamos a usar

Tema 2. Nociones básicas de programación web

  • Sintaxis básica de JavaScript
  • Tipos de datos primitivos y operadores
  • Variables y ámbitos
  • Cadenas de texto y template literals
  • Números y booleanos
  • Comparaciones

Tema 3. Estructuras complejas en JavaScript

  • Vectores o arrays y objetos
  • Conjuntos
  • Mapas
  • Disyuntivas
  • Bucles

Tema 4. Funciones y objetos

  • Definición e invocación de funciones
  • Argumentos
  • Funciones flecha
  • Funciones de retrollamada o callback
  • Funciones de orden superior
  • Objetos literales
  • El objeto this
  • Objetos como espacios de nombres: el objeto Math y el objeto Date

Tema 5. El DOM

  • ¿Qué es el DOM?
  • Un poco de historia
  • Navegación y obtención de elementos
  • Un DOM virtual con JSDOM
  • Selectores de consulta o query selectors
  • Navegación mediante propiedades
  • Asignación de atributos a los elementos
  • Creación y modificación de nodos
  • Actualización del estilo de los elementos del DOM

Tema 6. Desarrollo web moderno

  • Flujo basado en eventos y listeners
  • Toolkits web modernos y sistemas de alineamiento
  • Modo estricto de JavaScript
  • Algo más sobre funciones
  • Promesas y funciones asíncronas
  • Closures
  • Programación funcional
  • POO en JavaScript

Las actividades formativas de la asignatura se han elaborado con el objetivo de adaptar el proceso de aprendizaje a las diferentes capacidades, necesidades e intereses de los alumnos.

Las actividades formativas de esta asignatura son las siguientes:

  • Trabajos. En la programación semanal, puedes consultar cuándo hacerlos y en el Aula virtual encontrarás toda la información sobre cómo desarrollarlos y cómo y cuándo entregarlos.
  • Participación en eventos. Son eventos programados todas las semanas del cuatrimestre: sesiones presenciales virtuales...
Descargar programación

Estas actividades formativas prácticas se completan, por supuesto, con estas otras:

  • Estudio personal
  • Tutorías. Las tutorías se pueden articular a través de diversas herramientas y medios. Durante el desarrollo de la asignatura, el profesor programa tutorías en días concretos para la resolución de dudas de índole estrictamente académico a través de las denominadas “sesiones de consultas”. Como complemento de estas sesiones se dispone también del foro “Pregúntale al profesor de la asignatura” a través del cual se articulan algunas preguntas de alumnos y las correspondientes respuestas en el que se tratan aspectos generales de la asignatura. Por la propia naturaleza de los medios de comunicación empleados, no existen horarios a los que deba ajustarse el alumno.
  • Examen final presencial

Las horas de dedicación a cada actividad se detallan en la siguiente tabla:

ACTIVIDADES FORMATIVAS HORAS POR ASIGNATURA % PRESENCIAL
Sesiones presenciales virtuales 8 horas 100%
Recursos didácticos audiovisuales 3 horas 0
Estudio del material básico 26,25 horas 0
Lectura del material complementario 21 horas 0
Trabajos, casos prácticos 8,25 horas 0
Prácticas de laboratorio 8 horas 50%
Tutorías 8 horas 5%
Trabajo colaborativo 3,5 horas 0
Test de autoevaluación 2 horas 0
Examen final presencial 2 horas 100%
Total 90 horas -

Bibliografía básica

Recuerda que la bibliografía básica es imprescindible para el estudio de la asignatura. Cuando se indica que no está disponible en el aula virtual, tendrás que obtenerla por otros medios: librería, biblioteca...

Los textos necesarios para el estudio de la asignatura han sido elaborados para la asignartura y están disponibles en formato digital para consulta, descarga e impresión en el aula virtual.

Bibliografía complementaria

  • Aubry C. y Van Lancker L. (2017). HTML5 Y CSS3. Domine los estándares de la creación de sitios web (3ª ED.). Barcelona: ENI.
  • Berenguel J. L. (2016). Desarrollo de aplicaciones web distribuidas. Madrid: Ediciones Paraninfo S.A.
  • Crockford, D. (2008). Javascript: the Good Parts. (S. l.): O'Reilly Media.
  • Flanagan, d. (2006). JavaScript: The Definitive Guide. (S. l.): O'Reilly Media.
  • Lassoff M. y Stachowitz T. (2015). Mobile App Development with HTML5. LearToProgram.tv Inc.
  • McNavege, T. (2011). JavaScript. (S. l.): Anaya Multimedia.
  • Meloni, J. C. (2012). HTML5, CSS3 y JavaScript. Anaya Mutimedia. ISBN: 978-84-415-3692-0.
  • Mohedano, J., Saiz, J. M. y Salazar, P. (2012). Iniciación a JavaScript. Madrid: Ministerio de Educación, Cultura y Deporte.
  • Rubiales M. (2018). Curso de Desarrollo Web: HTML, CSS y JavaScript (Edición 2018). Madrid: Anaya Editorial.
  • Sauble D. (2015). Offline First Web Development. Birmingham: Packt Publishing.
  • Wellens P. (2018). Practical Web Development. Birmingham: Packt Publishing.

El sistema de calificación se basa en la siguiente escala numérica:

0 - 4, 9 Suspenso (SS)
5,0 - 6,9 Aprobado (AP)
7,0 - 8,9 Notable (NT)
9,0 - 10 Sobresaliente (SB)

La calificación se compone de dos partes principales:

El examen se realiza al final del cuatrimestre y es de carácter PRESENCIAL y OBLIGATORIO. Supone el 60% de la calificación final y para que la nota obtenida en este examen se sume a la nota final, es obligatorio APROBARLO.

La evaluación continua supone el 40% de la calificación final. Este 40% de la nota final se compone de las calificaciones obtenidas en las diferentes actividades formativas llevadas a cabo durante el cuatrimestre.

Ten en cuenta que la suma de las puntuaciones de las actividades de la evaluación continua permite que realices las que prefieras hasta conseguir el máximo puntuable mencionado en la programación semanal. En ella se detalla la calificación máxima de cada actividad o evento concreto puntuables.

Sistema de evaluación Ponderación min - max
Participación del estudiante 0% - 10%
Trabajos, proyectos, laboratorios/talleres y casos 20% - 30%
Test de autoevaluación 0% - 10%
Examen final presencial 60% - 60%

Ismael Sagredo

Formación académica: Doctor en Informática e Inteligencia Artificial por la Universidad Complutense de Madrid en 2017 tras cursar un curso en el Máster de Desarrollo de Videojuegos en la misma universidad en 2011 y trabajar dos años como programador de videojuegos en Pyro Studios S.L. Me formé como ingeniero informático en la Universidad Carlos III de Madrid.

Experiencia: Profesor del Máster de Inteligencia Artificial de la Universidad Internacional de La Rioja desde 2018 y también profesor en el Máster de Desarrollo de Videojuegos en la Universidad Complutense desde 2013. Me incorporé al mundo académico tras dos años como programador de videojuegos en Pyro Studios S.L. He trabajado en diversos proyectos de investigación durante el doctorado y posteriormente en la Universidad Complutense así como en Padaone Games y como desarrollador independiente.

Líneas de investigación: Investigador en el área de la inteligencia artificial aplicada a videojuego en especial en el soporte a diseñadores para la creación de comportamientos apoyado por inteligencia artificial. También he aplicado estas tecnologías en el campo de simulación de multitudes. He publicado en diversas revistas científicas como IEEE Transaction on Games o Decision Support Systems, así como en congresos internacionales. Colaboro con el grupo de investigación de GAIA en la Universidad Complutense.

Alberto Corbi

Formación académica: Licenciado en Ciencias Físicas, por la Universidad de Valencia (2002). DEA "Las transformaciones científicas y la calidad de la invetsigación universitaria en los comienzos del tercer milenio", Universidad Católica de Valencia (2008). Doctorando en CSIC.

Experiencia: Docente en el ciclo superior de Desarrollo de Aplicaciones en los módulos de programación y desarrollo de interfaces móviles y multiplataforma.

Líneas de investigación: Física Médica en el Instituto de Física Corpuscular (CSIC), Mobile Apps, Lenguajes de programación.

 

Obviamente, al tratarse de formación online puedes organizar tu tiempo de estudio como desees, siempre y cuando vayas cumpliendo las fechas de entrega de actividades, trabajos y exámenes. Nosotros, para ayudarte, te proponemos los siguientes pasos:

  1. Desde el Campus virtual podrás acceder al aula virtual de cada asignatura en la que estés matriculado y, además, al aula virtual de Lo que necesitas saber antes de empezar. Aquí podrás consultar la documentación disponible sobre cómo se utilizan las herramientas del aula virtual y sobre cómo se organiza una asignatura y también podrás organizar tu plan de trabajo personal con tu tutor personal.
  2. Observa la programación semanal. Allí te indicamos qué parte del temario debes trabajar cada semana.
  3. Ya sabes qué trabajo tienes que hacer durante la semana. Accede ahora a la sección Temas del aula virtual. Allí encontrarás el material teórico y práctico del tema correspondiente a esa semana.
  4. Comienza con las lecturas que se te indican en el tema. Esto te ayudará a hacerte una idea del contenido más importante del tema y de cuáles son los aspectos fundamentales. Consulta, además, las otras secciones del tema que contienen material complementario (A fondo).
  5. Dedica tiempo al trabajo práctico (sección Actividades). En la programación semanal te detallamos cuáles son las actividades correspondientes a cada semana.
  6. Te recomendamos que participes en los eventos del curso (foros de debate). Para conocer la fecha concreta de celebración de los eventos debes consultar las herramientas de comunicación del aula vitual. Tu profesor y tu tutor personal te informarán de las novedades de la asignatura.

En el aula virtual de Lo que necesitas saber antes de empezar encontrarás siempre disponible la documentación donde te explicamos cómo se estructuran los temas y qué podrás encontrar en cada una de sus secciones: Lecturas obligatorias, Lecturas recomendadas, Otros recursos y Actividades.

Recuerda que en el aula virtual de Lo que necesitas saber antes de empezar puedes consultar el funcionamiento de las distintas herramientas del Aula virtual: Correo, Foro, Envío de actividades, etc.

Ten en cuenta estos consejos...

  • Sea cual sea tu plan de estudio, accede periódicamente al aula Virtual, ya que de esta forma estarás al día de las novedades del curso y en contacto con tu profesor y con tu profesor tutor.
  • Recuerda que no estás solo: consulta todas tus dudas con tu tutor personal utilizando el correo electrónico. Además, siempre puedes consultar tus dudas sobre el temario en los foros que encontrarás en cada asignatura (Pregúntale al profesor).
  • ¡Participa! Siempre que te sea posible accede a los foros de debate. El intercambio de opiniones, materiales e ideas nos enriquece a todos.
  • Y ¡recuerda!, estás estudiando con metodología online: tu esfuerzo y constancia son imprescindibles para conseguir buenos resultados. ¡No dejes todo para el último día!