Información general


Tipo de asignatura: obligatoria

Coordinador: Rafael Suárez Gómez

trimestre: Segundo trimestre

Créditos: 4

Profesorado: 

Catalina Juan Navidad
Luca-antonio Saavedra Todd 
Montserrat Rabassa Jou 

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

  • E4_Diseñar, planificar, editar, programar y comercializar aplicaciones multimedia interactivas

Descripción


La asignatura "Fundamentos de Programación" se enmarca dentro del área Multimedia del Grado en Medios Audiovisuales. En esta asignatura se introduce a los estudiantes 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 y en concreto la librería P5.js con el objetivo de facilitar la escritura de los programas. Se ven los fundamentos de programación para poder realizar 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.

Los distintos conceptos trabajados en la asignatura están pensados ​​para capacitar al estudiante en el aprendizaje y utilización de los conceptos básicos de la programación.

Esta asignatura dispone de recursos metodológicos y digitales para hacer posible su continuidad en modalidad no presencial en el caso de ser necesario por motivos relacionados con la Covidien-19. De esta forma se asegurará la consecución de los mismos conocimientos y competencias que se especifican en este plan docente.

Resultados de aprendizaje


A nivel general, esta asignatura contribuye al resultado de aprendizaje especificado para la materia a la que pertenece (Multimedia y Animación):

  • El estudiante debe ser capaz de crear pequeñas aplicaciones multimedia interactivas en la web: juegos, reproductores de medias, animaciones, etc.

A un nivel más concreto, al finalizar la asignatura el estudiante debe ser capaz de:

  • RAC1: Utilizar un entorno de programación para la construcción de programas interactivos y animados en la web
  • RAC2: Escribir programas con animaciones y con interactividad
  • RAC3: Comprender y aplicar los conceptos y elementos básicos de la programación
  • RAC4: Usar algunas de las librerías que incluye el lenguaje de programación

Metodología de trabajo


La asignatura tiene 3h / semana de teoría y 1h / semana de prácticas.

Todos los conceptos teóricos de la materia expondrán en clases de teoría (grupos grandes). En estas clases, ya discreción de los docentes impartidores, usarán ordenadores para resolver los ejercicios y problemas de carácter más práctico. Asimismo y siempre a discreción de los impartidores, se podrá pedir a los estudiantes que resuelvan, de manera individual o en grupo, problemas y / o ejercicios breves. Estas actividades, que por su naturaleza de optatividad y brevedad no aparecen reflejadas en la lista de actividades, servirán al estudiante como instrumento de autoevaluación de su adquisición de los contenidos de la materia y podrán ser utilizados por parte del docente para tomar decisiones sobre la calificación final del estudiante bueno y que nunca en detrimento de la calificación numérica calculada según el sistema de calificación indicado.

Los conceptos de carácter más práctico y todo lo que en esencia se pueda considerar la aplicación práctica de los conceptos teóricos serán trabajados en grupos pequeños (de laboratorio). En las sesiones que se programen al efecto se darán las herramientas adecuadas para resolver las actividades programadas bueno y que se espera que estas alarguen desde el punto de vista temporal, más allá de las horas de laboratorio y que, en consecuencia , los estudiantes deban finalizar durante el tiempo de aprendizaje autónomo.

Siempre que se considere oportuno se pondrá a disposición de los estudiantes actividades de tipo totalmente opcional que le ayuden a preparar ya prepararse para las de carácter obligatorio.

Contenidos


TEMA 1.- ALGORÍSMICA Y PROGRAMACIÓN. HERRAMIENTA DE TRABAJO

Este bloque docente tiene una doble finalidad, por un lado la familiarización del estudiante con la herramienta de trabajo que se usará para la producción de aplicaciones interactivas y por la otra la introducción de conceptos básicos para con la algorítmica y la programación.

En este contenido se trabaja:

1. Introducción a la algorítmica y la programación

2. ¿Qué es JavaScript? Librería p5.js

3. Herramienta de trabajo: CodePen

4. Proceso de Programación. Lenguajes interpretados hacia lenguajes compilados

5. Estructura de un programa

    5.1 La función setup()

    5.2. La función draw(). Animaciones

 

TEMA 2.- PROGRAMACIÓN CON P5JS. INTERACTIVIDAD 

Este blog docente tiene como finalidad escribir programas con P5.js que permitan incluir gráficos, animaciones e interactividad.

En este contenido se trabaja:

1. Concepto de variable. Variables de entorno

2. Interacción con el ratón

3. Interacción con el teclado

4. Concepto de evento. Funciones de eventos

5. Herramientas básicas de dibujo

 

TEMA 3.- PROGRAMACIÓN BÁSICA

Este blog docente tiene como finalidad escribir programas con una animación y/o interactividad conseguida haciendo uso de una programación básica.

En este contenido se trabaja:


1. Tipo de datos: números, cadenas y booleanos

2. Valores de los datos
  2.1. Variables: creación, acceso y modificación
  2.2. Constantes y literales: creación y acceso
  2.3. Ámbito de los datos: local y global

3. Expresiones y operadores
  3.1. Operadores aritméticos, lógicos y relacionales
  3.2. Evaluación de expresiones. Orden de las operaciones

4. Entradas y salida de datos

5. Estructuras de control de la ejecución
  5.1. Estructura secuencial.
  5.2. Estructura condicional
  5.3. Estructura iterativa

 

TEMA 4.- PROGRAMACIÓN AVANZADA

Este blog docente tiene como finalidad escribir programas con una animación y/o interactividad conseguida haciendo uso de estructuras de la programación más avanzadas.

En este contenido se trabaja:

1. Estructuración del programa en funciones
  1.1. Evitar la repetición de código
  1.2. Paso de parámetros y retorno de valores

2. Tablas de una dimensión

 

 

Actividades de aprendizaje


Se pone a disposición de los estudiantes una serie de actividades de carácter eminentemente práctico (ejercicios cortos, problemas ...) que son la base de las actividades de aprendizaje de la asignatura. Estas actividades los estudiantes / se las tendrán que resolver, a menudo de manera no presencial, siguiendo las indicaciones de los docentes y también serán trabajadas en clase, ya sea como ejemplos en las sesiones de teoría, ya sea en las sesiones de laboratorio. Si bien estas actividades tendrán carácter optativo (los docentes no verificarán de manera individualizada la realización por parte de los estudiantes), serán imprescindibles para alcanzar los conocimientos teórico-prácticos de la asignatura.

Con el objetivo de recoger evidencia de la consecución de los resultados de aprendizaje esperados se realizarán las siguientes actividades de carácter evaluativo. Ambas pruebas escritas son individuales. Será potestativo del impartidor decidir si las prácticas se realizan individualmente o en grupo de dos estudiantes.

 

Dos pruebas escritas (Utilizando, cuando proceda, una herramienta IDE)

La primera, PRUEBA ESCRITA I, versará sobre los tres primeros contenidos (interactividad y programación básica) y dará evidencia de los resultados de aprendizaje RAC2, RC3 y RC4.

Esta prueba pide a los estudiantes el correcto desarrollo de software. Esto tiene que ver con las siguientes competencias comunes y específicas (entre paréntesis los aspectos más relevantes de cada competencia a las que la asignatura contribuye):

  • E4 (programar aplicaciones multimedia interactivas)
  • E1 (programar interfaces gráficas de web de aplicaciones interactivas y videojuegos)

La segunda prueba, PRUEBA ESCRITA II, incluirá todos los contenidos y dará evidencia de todos los resultados de aprendizaje previstos. Esta prueba pide a los estudiantes el correcto desarrollo de software que incluye todos los contenidos de la asignatura. A nivel de competencias comunes y específicas serán relevantes todas las mencionadas para la primera prueba añadiendo:

  • G5 (desarrollar habilidades con un alto grado de autonomía)
  • G3 (interpretar datos y reflexionar sobre el uso de estructuras adecuadas en la programación) 

se realizarán cinco sesiones de prácticas usando el entorno CodePen. Las prácticas están pensadas para que el estudiante trabaje los conceptos explicados y trabajados en las sesiones de teoría. Durante la sesión el estudiante deberá resolver una lista de ejercicios propuestos por el profesor y del resultado de estas sesiones tendrán que entregarse tres prácticas. El enunciado de cada práctica tendrá como objetivo valorar el correcto uso de los contenidos objetivo de las sesiones.  

PRÁCTICA 1: Sesión 1 y Sesión 2

En la primera sesión de la primera práctica los estudiantes tienen un primer contacto con el entorno de desarrollo de programas que tendrán que utilizar en el resto de prácticas y actividades de la asignatura.

En la primera parte de la primera sesión el profesor es quien hace la presentación del entorno, mostrándoles aquellos elementos que les serán de mayor utilidad. En la segunda parte el estudiante se enfrenta a la resolución de varios enunciados que incorporarán interactividad, se utilizará el ratón y el teclado para interactuar con el usuario.

La segunda sesión de esta práctica está destinada a que los estudiantes practiquen la codificación de programas de naturaleza secuencial. Por la naturaleza de la asignatura, cada práctica usará todos los conceptos trabajados en las anteriores.

Con ello se podrá recoger evidencia de los resultados de aprendizaje RAC1, RAC2, RAC3 y RAC4.

PRÁCTICA 2: Sesión 3 y Sesión 4

Esta práctica está destinada a que los estudiantes practiquen la codificación de programas de naturaleza condicional en la primera sesión. La segunda sesión está destinada a que los estudiantes practiquen la codificación de programas de naturaleza iterativa.

Esta práctica incorporará el trabajo con los conceptos de las anteriores sesiones.

Con ello se podrá recoger evidencia de los resultados de aprendizaje RAC1, RAC2, RAC3 y RAC4.

PRÁCTICA 3: Sesión 5

Esta práctica está destinada a que los estudiantes practiquen la codificación de programas que usando las diferentes formas de ejecución incorporen el trabajo con tablas.

El objetivo es que los estudiantes usando todos los conceptos trabajados en la asignatura implementen un juego interactivo. En la producción de este juego el estudiante deberá usar todos los conceptos trabajados a lo largo del trimestre y su entrega será imprescindible para aprobar la asignatura.

Con ello se podrá recoger evidencia de los resultados de aprendizaje RAC1, RAC2, RAC3 y RAC4.

 

A nivel competencial las tres prácticas, que mayoritariamente se tendrán que desarrollar en tiempo no presencial, cubren todas las competencias básicas y específicas de la asignatura:

  • E4 (diseñar, editar y programar aplicaciones multimedia interactivas)
  • E1 (aplicar procesos, métodos y técnicas para desarrollar la creatividad y en la programación de videojuegos)
  • G5 (desarrollar habilidades de aprendizaje con un alto grado de autonomía)
  • G3 (interpretar datos y reflexionar sobre el uso de estructuras adecuadas en la programación) 

Para superar (aprobar) las actividades evaluativas, los estudiantes deberán demostrar:

Que han adquirido los conocimientos teóricos relativos a los contenidos de la asignatura y que su comprensión les permite llevarlos a la práctica [MECES-2 punto a, punto c]

Que pueden desarrollar soluciones a problemas que, si bien son similares a otros vistos anteriormente, presentan aspectos que son nuevos [MECES-2 punto f]

 

Normas de realización de las actividades

Para cada actividad, los docentes informarán de las normas y condiciones particulares que las rijan.

Las actividades unipersonales presuponen el compromiso del estudiante de realizarlas de forma individual. Se considerarán suspendidas todas aquellas actividades en las que el estudiante no se ajuste a este compromiso, independientemente de su papel (emisor o receptor). Igualmente, las actividades que deban realizarse en grupos presuponen el compromiso por parte de los estudiantes que lo integran de realizarlas en el seno del grupo. Se considerarán suspendidas todas aquellas actividades en las que el grupo no haya respetado este compromiso con independencia de su papel (emisor o receptor).

En las actividades realizadas en grupo el docente puede, en base a la información de que disponga, personalizar la calificación para cada integrante del grupo.

Cualquier actividad no entregada se considerará puntuada con cero puntos. No se aceptará ninguna entrega fuera de plazo.

Sistema de evaluación


La calificación final es la suma ponderada de las calificaciones de las siguientes actividades:

ACTIVIDAD PESO

PRUEBA ESCRITA Y 20%

PRUEBA ESCRITA II 50%

PRÁCTICA 1 6%

PRÁCTICA 2 6%

PRÁCTICA 3 18%

Con las ponderaciones anteriores, las actividades de laboratorio (prácticas) tienen un peso del 30% y las actividades de cariz teórico tienen un peso del 70%.

Consideraciones:

Para superar la asignatura es imprescindible que el estudiante tenga una calificación mínima de 4 en la actividad PRÁCTICA 3, si no es así la calificación

de la asignatura será la de esta actividad.

Si la nota final de la PRUEBA ESCRITA II no es superior a 4, la asignatura queda suspendida con la calificación de esta actividad.

La recuperación sólo posibilita recuperar la calificación de las actividades teóricas, PRUEBA ESCRITA I y II, y se aplicará la misma norma descrita

anteriormente.

Bibliografía


Básico

Lauren McCarthy, Casey Reas, Ben Fry. Introducción a p5.js. Marker Media. ISBN: 973-099881309

P5js Guía de referencia. https://p5js.org/es/reference/

Complementario

JavaScript Guide. MDL. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide

Mario Rubiales Gómez. Curso de Desarrollo Wev: HTML, CSS y Javascript. Grupo Anaya Publicaciones Generales, 2018. ISBN-10: 8441539391

 

API HTML, CSS y JavaScript en w3Schools. https://www.w3school.com