General information


Subject type: Mandatory

Coordinator: Jorge Oter Gonzalez

Trimester: Second term

Credits: 4

Teaching staff: 

Marco Antonio Rodríguez Fernández
Luca-antonio Saavedra Todd 

Teaching languages


  • Catalan

Les classes de l'assignatura es faran principalment en català, tot i que la bibliografia i el material de suport podran ser en altres llengües (castellà i anglès)

 

Skills


Specific skills
  • E4_Design, plan, edit, program and market interactive multimedia applications

  • E10_Apply processes, methods and techniques to develop creativity and innovation in audiovisual production, multimedia development and video game programming

Description


When arriving at this subject, students have worked on the concepts of basic algorithms and data structuring using markup languages ​​in previous subjects. Taking this knowledge as a basis, this subject widens the spectrum of possibilities to train the student in the production of interactive applications that use different audiovisual media to generate reactive multimedia results that can be included in different media. The aim is for the student to be able to design interactive applications that include audiovisual components (audio, video and images). This involves both the technical aspect of developing the necessary code, as well as planning the production of the audiovisual content needed for a project with an interactive non-linear narrative.

The classroom (physical or virtual) is a safe space, free of sexist, racist, homophobic, transphobic and discriminatory attitudes, either towards students or towards teachers. We trust that together we can create a safe space where we can make mistakes and learn without having to suffer prejudice from others.  

Contents


1.- Basic algorithm

1.1.- Peculiarities of the graphic library (p5js)

1.2.- Basic drawing tools

1.3.- Variables, conditional and sequentiality

1.4.- Interaction

1.4.1.- Mouse interaction

1.4.2.- Calculation of collisions

1.4.3.- Interaction with the keyboard

1.4.- Loops

2.- Images and video

2.1.- Preloading multimedia files

2.2.- Video playback

2.3.- Filters

2.4.- Pixel manipulation

2.5.- Video streaming management

2.6.- Audio

2.6.1.- Playback of audio files

2.6.2.- Oscillators and filters

2.6.3.- Audio streaming

2.6.4.- Audio analysis

3.- Animations

3.1.- Framerate, speed and acceleration

3.2.- Anchorage points and transformations

3.3.- Push and pop

4.- Other utility functions

4.1.- Relative positions

4.2.-The function map

4.3.- Linear interpolation

4.4.- Oscillations with sines and cosines

4.5.- Noise, random and Perlin

Evaluation system


The final grade is the weighted sum of the grades for the following activities:

A1: Final exam (35%)

A2: Laboratory practice 1 (10%)

A3: Laboratory practice 2 (10%)

A4: Laboratory practice 3 (20%)

A5: Class 1 activity (5%)

A6: Class 2 activity (5%)

A7: Class 3 activity (5%)

A8: Class 4 activity (5%)

A9: Class 5 activity (5%)

A1 0.35+A2 0.10+A3 0.10+A4 0.20+ A5 0.05+ A6 0.05+ A7 0.05+ A8 0.05+ A9 0.05

Considerations:

• To pass the course it is essential that the theory mark is 5 or higher.

• The retake exam only retrieves the theory note.

• Identification of plagiarism is considered a serious circumstance that may lead to a failing grade for an activity. In case of detection of plagiarism, the coordination of the degree will be informed so that the corresponding disciplinary measures can be taken. 

• Attendance at internships is mandatory.

REFERENCES


Basic

McCarthy Lauren, Reas Casey, & Fry Ben (2015). Getting started with P5. js: Making interactive graphics in JavaScript and processing. Maker Media, Inc.

Shiffman Daniel (2023). The coding train. https://thecodingtrain.com/tracks/code-programming-with-p5-js

Arslan Engin (2018). Learn JavaScript with P5. js: Coding for Visual Learners. hurry up

Bohnacker Hartmut, Gross Benedikt, Laub Julia, Lazzeroni Claudius (2018). Generative design: visualize, program, and create with JavaScript in p5.js

Complementary

Shiffman Daniel (2012). The Nature of Code: Simulating Natural Systems with Processing.