Información general


Tipo de asignatura: obligatoria

Coordinador: Maddalena Fedele

trimestre: Segundo trimestre

Créditos: 4

Profesorado: 

Joan Jou Majó

Competencias


Competencias específicas
  • E1_Diseñar y programar las interíficas gráficas de portales web estáticos o dinámicos, de aplicaciones interactivas y de videojuegos, siguiendo criterios de usabilidad y accesibilidad

Descripción


La asignatura "Fundamentos de Programación" se enmarca dentro del área Multimedia del Grado en Medios Audiovisuales. En esta asignatura se introduce al alumno en el aprendizaje de un lenguaje de programación que le permitirá escribir aplicaciones web multimedia con una interacción del usuario aumentada.

Esta asignatura es la continuación natural de la precedente "Sistemas Multimedia" cursada en el primer trimestre.

El lenguaje de programación que se utiliza es el javascript, lenguaje estándar en la web. Se ven los fundamentos de programación para poder hacer pequeños cálculos, leer y guardar información que ha aportado el usuario y crear transiciones y animaciones con los objetos de la interfaz gráfica de usuario. Se trabaja la programación en respuesta a eventos que ha provocado el usuario con el teclado y el ratón.

Resultados de aprendizaje


A nivel general, esta asignatura contribuye a siguientes resultados de aprendizaje (RA) especificados para la materia a la que pertenece (Multimedia):

  • (RA1) Crear pequeños programas en javascript que recojan y validen los datos del usuario y, posteriormente, hagan unos cálculos con estos datos y se presenten los resultados al usuario de forma adecuada.
  • (RA2) Escribir programas en javascript que utilizan objetos para almacenar la información.
  • (RA3) Utilizar el lenguaje javascript y la librería jQuery para dotar a las páginas web de animación e interactividad utilizando el paradigma de programación en respuesta a eventos 
  • (RA4) Crear pequeñas aplicaciones multimedia interactivas en la web. La mayor interacción será el cambio de la posición de algunos elementos de la interfaz gráfica de usuario.

Metodología de trabajo


Las horas de aprendizaje dirigido consisten:

  • clases teóricas (grupo grande) en las que el profesorado propone y resuelto un problema de programación en la web y realiza una exposición para introducir los contenidos teóricos necesarios para su resolución (learning by example). Convenientemente intercalado y sin previo aviso, se realizan actividades de seguimiento individuales o en grupos dentro de la clase. Estas actividades suelen ser pequeños problemas o ejercicios de comprensión de los contenidos que se están presentando. Se aconseja que el alumno lleve su ordenador personal portátil a clase. El alumno dispone y utiliza como material de soporte, los apuntes de la asignatura que el profesorado pone a su disposición desde el primer día, tanto en formato impreso como en el campus virtual. Esto permitirá al alumno ir a clase habiendo realizado una lectura previa de los temas y, en clase, concentrarse en las explicaciones del profesor, tomando las notas que crea oportunas para un estudio posterior.
  • prácticas (grupo pequeño), en laboratorios que disponen de los equipamientos necesarios para la realización de la misma, básicamente ordenadores. Los alumnos se agrupan de dos en dos y comparten el equipamiento y la nota de la práctica.

Adicionalmente, están contempladas actividades dirigidas que consisten en explicaciones, más o menos personalizadas, de las correcciones de las diferentes actividades realizadas por los estudiantes, básicamente los exámenes parciales y las prácticas.

Dentro de las horas de aprendizaje autónomo se consideran las horas que el alumno dedica a realizar una lectura previa de los apuntes para la clase teórica correspondiente, realización de ejercicios y trabajos propuestos fuera del aula, estudio de manuales necesarios para poder realizar las prácticas, redacción de los informes de las prácticas y trabajos, resolución de cuestionarios de autoaprendizaje, estudio y preparación de los exámenes parciales, etc.

 

 

Contenidos


Título contenido 1: Programación básica en javascript.

Descripción:

En este contenido se trabaja:

1.1. ¿Qué es un programa ?.
1.2. Estructura de un programa javascript. Concepto de función.
1.3. Entrada y salida de datos.
  1.3.1. E / S con ventanas: prompt, confirm / alert
  1.3.2. E / S con formularios.
1.4. Tipo de datos: números, strings y booleanos.
1.5. Valores de los datos.
  1.5.1. Variables: creación, acceso y modificación.
  1.5.2. Constantes y literales: creación y acceso.
  1.5.3. Ámbito de los datos: local y global.
1.6. Expresiones y operadores.
  1.6.1. Operadores aritméticos, lógicos y relacionales.
  1.6.2. Evaluación de expresiones. Orden de las operaciones.
  1.6.3. objeto Math
1.7. Estructuras de control de la ejecución.
  1.7.1. Estructura secuencial.
  1.7.2. Estructura condicional: if ..., if ... else ..., if ... else if ...
  1.7.3. Estructura iterativa: for
1.8. Estructuración del programa en funciones.
  1.8.1. Evitar la repetición de código.
  1.8.2. Paso de parámetros y retorno de valores.
1.9. Ejercicios.

actividades vinculadas:

actividad 1: Entorno de desarrollo web.
actividad 2: Aplicación con E / S textual.
actividad 5: Examen parcial.
actividad 6: Examen final.

 

Título contenido 2: Colecciones de datos: los objetos.

Descripción:

En este contenido se trabaja:

2.1. Objetos.
  2.1.1. Propiedades y métodos
  2.1.2. Creación de objetos.
  2.1.3. Acceso a las propiedades y métodos
2.3. objeto String
2.4. objeto Date
2.5. ejercicios

Actividades vinculadas:

actividad 3: Test de autoevaluación.
actividad 4: Juego interactivo.
actividad 5: Examen parcial.
actividad 6: Examen final.

 

Título contenido 3: HTML Dinámico (DHTML).

Descripción:

En este contenido se trabaja:

3.1. Modelo de Objetos del Documento (DOM).
3.2. Introducción a la librería jQuery.
3.3. Acceso y modificación del DOM con jQuery.
  3.3.1. Selectores: básicos, avanzados y filtros.
  3.3.2. Añadir, cambiar y borrar elementos HTML.
  3.3.3. Leer y cambiar propiedades CSS
  3.3.4. Efectos jQuery: mostrar / ocultar, animaciones.
3.4. Programación en respuesta a eventos del usuario.
  3.4.1. Modelo de eventos básico.
  3.4.2. Obtención de información del evento (objeto Event)
  3.4.3. Modelo de eventos de jQuery.
3.5. Audio y video interactivo.
3.6. Juegos interactivos.
3.7. Duración: setInterval () y setTimeout ()
3.8. Colisiones.
3.9. Ejercicios.

Actividades vinculadas:

actividad 4: Juego interactivo.
actividad 6: Examen final.

Actividades de aprendizaje


Con el objetivo de recoger evidencias de la consecución de los resultados de aprendizaje esperados se realizarán las siguientes actividades con carácter de evaluación:

Título de la actividad 1: Entorno de desarrollo web.

Descripción general:

Práctica de laboratorio.

En esta actividad se presenta el entorno de desarrollo web que se usará en la asignatura. El alumno se familiarizará en la edición del programa así como la prueba y depuración del mismo. Se utilizarán las herramientas de desarrollo consola (para ver los errores de programación), depurador (para ejecutar paso a paso el programa) y el inspector de variables (para ver la traza del programa).

Esta actividad es una evidencia de los resultados de aprendizaje: RA1 y RA2.

Material de apoyo:

Enunciado de la práctica con el código fuente del programa que hay que escribir, probar y depurar.

El software necesario es: Adobe Dreamweaver o JetBrains WebStorm.

Entregas y vínculos con la evaluación:

El alumno entrega a través de la intranet la página web con el programa implementado para que se pueda probar en el navegador.

El resultado de la actividad tendrá una ponderación de 1/5 del 25% correspondiente a la calificación final asignada al conjunto de las 4 actividades prácticas programadas.

Objetivos específicos:

Al finalizar la actividad el estudiante debe ser capaz de:

  • usar el entorno de desarrollo para escribir, probar y depurar un programa web escrito en javascript.

 

Título de la actividad 2: Aplicación con E / S textual.

Descripción general:

Práctica de laboratorio.

Hay que desarrollar un programa web en el que el usuario aporta información (texto y números) de forma textual y la aplicación hará unos cálculos e informará al usuario de los resultados obtenidos.

Esta actividad es una evidencia de los resultados de aprendizaje: RA1 y RA2.

Material de apoyo:

Enunciado de la práctica.

El software necesario es: Adobe Dreamweaver o JetBrains WebStorm.

Entregas y vínculos con la evaluación:

El alumno entrega a través de la intranet la página web con el programa implementado para que se pueda probar en el navegador.

El resultado de la actividad tendrá una ponderación de 1/5 del 25% correspondiente a la calificación final asignada al conjunto de las 4 actividades prácticas programadas.

Objetivos específicos:

Al finalizar la actividad el estudiante debe ser capaz de:

  • Desarrollar un programa web en javascript que recoja información aportada por el usuario y haga una serie de cálculos informando al usuario de sus resultados. La aplicación gestionará la información que muestra al usuario en todo momento.

 

Título de la actividad 3: Test de autoevaluación.

Descripción general:

Práctica de laboratorio.

Es necesario desarrollar un programa web que facilite al usuario un test de autoevaluación. Se dispondrán de 10 preguntas con 4 posibles respuestas (sólo una buena) que el usuario deberá responder una a una. Se dará la posibilidad de cambiar las respuestas hasta dar por terminado el test. Una vez que el usuario da por terminado el test, el programa informa de los resultados correctos e incorrectos así como la nota alcanzada. Una pregunta respuesta mal, resta 1/3 de punto.

La interfaz gráfica del usuario será a través de un formulario que habrá que validar.

Esta actividad es una evidencia de los resultados de aprendizaje: RA2 y RA3.

Material de apoyo:

Enunciado de la práctica.

El software necesario es: Adobe Dreamweaver o JetBrains WebStorm.

Entregas y vínculos con la evaluación:

El alumno entrega a través de la intranet la página web con el programa implementado para que se pueda probar en el navegador.

El resultado de la actividad tendrá una ponderación de 1/5 del 25% correspondiente a la calificación final asignada al conjunto de las 4 actividades prácticas programadas.

Objetivos específicos:

Al finalizar la actividad el estudiante debe ser capaz de:

  • Desarrollar un programa web en javascript que gestione colecciones de datos en objetos (preguntas y respuestas del test de autoevaluación), pida información al usuario a través de formularios, valide los datos aportados por el usuario y haga una serie de cálculos informando al usuario de sus resultados.

 

Título de la actividad 4: Juego interactivo.

Descripción general:

Práctica de laboratorio.

Habrá que completar el código de un programa javascript (+ jQuery) que permita implementar un juego interactivo. La interacción de los usuarios será a través del teclado o ratón. Al inicio del juego, el programa presentará un menú de configuración del juego. La interfaz debe adaptarse a estos valores de configuración que ha entrado el usuario.

Esta actividad es una evidencia de los resultados de aprendizaje: RA2, RA3 y RA4.

Material de apoyo:

Enunciado de la práctica. Código del esqueleto del programa y HTML + CSS de la interfaz gráfica de usuario.

El software necesario es: Adobe Dreamweaver o JetBrains WebStorm.

Entregas y vínculos con la evaluación:

El alumno entrega a través de la intranet la página web con el programa implementado para que se pueda probar en el navegador.

El resultado de la actividad tendrá una ponderación de 2/5 del 25% correspondiente a la calificación final asignada al conjunto de las 4 actividades prácticas programadas.

Objetivos específicos:

Al finalizar la actividad el estudiante debe ser capaz de:

  • Desarrollar un programa web en javascript que interaccione con el usuario a través del teclado o ratón, pida información al usuario a través de formularios y adapte la interfaz gráfica de usuario de acuerdo con los datos aportados por el usuario.

 

Título de la actividad 5: Examen parcial.

Descripción general:

Examen parcial individual.

Se realiza un examen donde se evalúa los conocimientos de los contenidos 1 y 2. Esta prueba consta de una parte de cuestiones sobre conceptos asociados a los objetivos de aprendizaje de la asignatura en cuanto al conocimiento y comprensión, y de un conjunto de ejercicios de aplicación. El estudiante dispone de 2 horas para la realización de la prueba dentro de su horario habitual de clase. Una vez realizado el examen, el profesor explicará la resolución al grupo.

Esta actividad es una evidencia de los resultados de aprendizaje: RA1 y RA2.

Material de apoyo:

Enunciado de la prueba.

Entregas y vínculos con la evaluación:

Resultado de la prueba.

El resultado de la actividad se incorporará en la evaluación de la asignatura con un valor del 30% de la nota de teoría, es decir, un 22,5% de la nota final.


 

Título de la actividad 6: Examen final.

 

Descripción general:

Examen final.

Se realiza un único examen final donde se evalúa los conocimientos de los contenidos 1, 2 y 3. Esta prueba consta de una parte de cuestiones sobre conceptos asociados a los objetivos de aprendizaje de la asignatura en lo que se refiere al conocimiento y comprensión, y de un conjunto de ejercicios de aplicación. El estudiante o la estudiante dispone de 3 horas para la realización de la prueba en el período de exámenes finales establecido por el Jefe de estudios. Una vez realizado el examen, el profesor publicará la resolución.

Esta actividad es una evidencia de los resultados de aprendizaje: RA1, RA2, RA3 y RA4.

Material de apoyo:

Enunciado de la prueba.

Entregas y vínculos con la evaluación:

Resultado de la prueba.

El resultado de la actividad se incorporará en la evaluación de la asignatura con un valor del 70% de la nota teoría, es decir, un 52,5% de la nota final.

 

 

 

 

Sistema de evaluación


La calificación final se obtiene de la siguiente ponderación de las calificaciones parciales:

NFinal = 0.75 NTeoría + 0.25 NPrácticas

NPrácticas se obtiene mediante la media aritmética de las cuatro actividades de carácter práctico realizadas durante el curso. La actividad 4 pondera el doble que las demás actividades prácticas.

La NTeoría se obtiene con la realización de dos exámenes,

                  NTeoría = 0.3 NParcial + 0.7 NExamen_Final

En el examen NParcial se evalúa los conocimientos de los contenidos 1 y 2. Esta prueba tiene una duración de 1,5h y se realiza dentro del horario de clase, a mitad de trimestre (semana 5, aproximadamente).

El examen NExamen_Final es un único examen en el que se evalúa todos los conocimientos de los contenidos de la asignatura. Tendrá una duración de 3 h, dentro del período de exámenes finales que establece el Jefe de Estudios.

Si finalmente, el alumno no ha obtenido una NFinal superior o igual a 5.0, el alumno podrá presentarse a un único examen de recuperación de NTeoria, dentro del período de exámenes de recuperación que establece el Jefe de Estudios. Los alumnos que tengan una calificación final de "No Presentado" en la primera convocatoria, no se podrán presentar en el examen de recuperación.

 

Normas de realización de las actividades

Las actividades "práctica de laboratorio" se realizarán en grupos de dos personas.

Si no se realiza alguna de las actividades de prácticas, se considerará no puntuada.

Obtendrá una calificación de No presentado en NPrácticas si existe alguna actividad de prácticas no puntuadas.

La realización de las actividades prácticas es obligatoria. Es decir, una calificación de No presentado a NPrácticas, no permitirá aplicar la ponderación con la NTeoria y, por tanto, la calificación final de la asignatura será de “No Presentado”.

Bibliografía


Básico

David Sawyer McFarland. JavaScript & jQuery. The missing manual. (2nd edition). O'Reilly Media. ISBN: 978-1-4493-9902-3

Complementario

Natalie Maclear. jQuery for designers. Packt Publishing. ISBN: 978-1-84951-670-9