Double Qualification in Engineering Studies in Audio-visual Systems and Multimedia

Double Degree in Engineering Studies in Audio-visual Systems and Multimedia

La Salle Campus Barcelona offers 5 double degrees in the ICT Engineering and the Business Management field. With the double degrees, you can finish the university studies in 5 academic years with two official degree qualifications

Interactive television

Description
The interactive television subject is developed around two projects: the development of an Android multimedia application and the development of a multimedia app on iOS. In both projects, students will work in groups of maximum 3 people that they themselves will decide. For the development of the projects, key concepts will be explained, resources will be provided and demonstrations can be developed in class.
Type Subject
Tercer - Obligatoria
Semester
First
Course
3
Credits
3.00
Previous Knowledge

Object-oriented design and programming.
Digital Television: Recommended, but not essential.
Databases: Recommended, but not essential.

Objectives

The subject has two very different objectives:

1. Guide students in learning two of the most used multimedia programming technologies: iOS + Android

2. The acquisition by the students of sufficient autonomy to develop a robust and stable system to be able to be put into production.

Contents

The course will progress gradually, centered around the development of practical projects. The complete execution of these projects is planned over fourteen sessions, during which students, guided by the instructor, will acquire the technical and methodological knowledge necessary to complete a functional application for both Android (React Native) and iOS (SwiftUI).

Session 1 : Course introduction and Android environment setup
The first session serves to introduce the course, present its general objectives, and explain the project-based learning methodology. Students set up the necessary Android development environment by installing Android Studio and verifying that the emulator functions correctly. A first contact is made with the base project and its internal structure.

Session 2 : Introduction to the basic elements of React Native
This session covers the fundamental concepts of React Native: components, styling, element hierarchy, and basic state management. Students create their first test screens and learn how to structure a project following best practices. The understanding of data flow and code modularization is reinforced.

Session 3 : Hooks
This session delves into React Hooks, such as useState, useEffect, and other utilities for managing state and component lifecycle. Students apply these concepts to their projects to improve data management and interface responsiveness.

Session 4 : Communication with APIs and video visualization
Students are introduced to techniques for communicating with external APIs using fetch or specific libraries. The session focuses on downloading data and displaying it within the application. Additionally, video playback functionality is enabled, distinguishing between progressive download and real-time streaming. This session consolidates integration between the data and presentation layers.

Session 5 : Testing and project work
This session combines an introduction to basic testing techniques with a hands-on component dedicated to project development. Students learn how to verify component functionality and detect errors in their applications. Work also begins on implementing a remote database and establishing interaction between devices.

Session 6 : Project work
A fully practical session focused on the development and consolidation of the Android project. Students continue implementing new features, refining the interface, and preparing a preliminary version of the application for presentation. Team collaboration and issue management are encouraged throughout.

Session 7 : Android application presentation
Each group presents its Android application to the class, explaining the development process, implemented functionalities, and key technical decisions. Evaluation focuses on usability, visual design, and product stability. This session marks the end of the React Native and Android development block.

Session 8 : Introduction to Xcode and Swift fundamentals
The iOS development block begins. The new project is presented along with the evaluation criteria. Students install and configure Xcode, explore its interface and available resources, and are introduced to the fundamentals of the Swift language. Guided practical exercises help them become familiar with Swift?s syntax and basic structures.

Session 9 : SwiftUI (I), Basic structures and visual components
The first session dedicated to SwiftUI focuses on the foundations of the declarative framework used for creating interfaces: basic structures, view declarations, modifiers, and visual composition. Practical examples are demonstrated, and students recreate simple interfaces to understand the relationship between code and visual output.

Session 10 : SwiftUI (II), MVVM, Lists, and screen navigation
The second SwiftUI session deepens understanding of the framework. The MVVM architectural pattern is introduced to separate logic from the interface. Students learn how to use Lists and implement navigation flows between screens. Hands-on activities help them consolidate their knowledge and prepare the foundational structure of their iOS project.

Session 11 : Connecting to APIs and project work
This session explains how to retrieve external data using APIs, analyzing how to make HTTP requests and decode information from JSON format. Students implement these functionalities in their iOS projects, integrating real data with the user interface. The session concludes with practical work aimed at consolidating communication with web services.

Session 12 : Error handling and project work
The focus of this session is error handling in Swift and SwiftUI. Concepts such as do-catch blocks, exception throwing, and network error management are covered. Students apply these techniques in their projects while continuing to implement custom features.

Session 13 : Project work
A practical session dedicated to polishing the final version of the application and preparing it for presentation. Students review usability, correct issues, and ensure consistency across screens and functionalities. Possible improvements arising from user testing are also evaluated.

Session 14 : iOS application presentation
The final session of the course is dedicated to the presentation of the iOS applications developed by each group. Teams showcase their solutions, discuss the challenges they encountered, and highlight the unique features they implemented. Evaluation focuses on technical quality, originality, and the ability to explain the complete development and testing process.

Methodology

The course combines various active learning strategies with the aim of promoting autonomy, participation, and the practical application of knowledge. The following are the main learning dynamics that will be used throughout the semester:

D1. Theoretical classes
Theoretical sessions are intended to consolidate and deepen the concepts that students will have previously explored through the Flipped Classroom methodology. During these sessions, the instructor will reinforce key ideas, clarify doubts, and establish connections between different topics, fostering participation and critical reflection.

D2. Problem-solving and exercise sessions
Throughout the course, individual exercises will be assigned so that students can practically apply the knowledge acquired. These exercises help identify potential comprehension difficulties and deepen understanding of the technical concepts discussed in class.

D3. Flipped Classroom
Some of the course content will be learned independently by students, following the guidelines and resources provided by the instructor. This methodology encourages personal responsibility and preparation before in-person sessions, which will then be devoted mainly to resolving doubts, validating understanding, and expanding knowledge through practical examples.

D4. Peer Instruction
To foster a deeper understanding of the material and promote collaborative learning, students will explain the studied concepts to one another, sharing their interpretations and comparing them with those of their peers. This dynamic helps identify conceptual misunderstandings, strengthens reasoning skills, and consolidates knowledge through active engagement.

D5. Project-Based Learning (PBL)
As the central axis of the course, students will develop a practical project that allows them to apply all learned concepts and discover new ones through practice. The project will be carried out in phases, following a progression guided by the instructor, and will culminate with the presentation of a functional application. This methodology integrates theory with practice and strengthens key competencies such as teamwork, problem-solving, and creativity.

Evaluation

The assessment system is based on continuous evaluation, focused on practical development and the demonstration of technical and methodological competencies. Students must successfully complete the different learning activities and final projects to pass the course.

SA1. Final project

The course consists of two final projects, one for each part of the program:
1.-Android project, developed using React Native.
2.-iOS project, developed using Swift and SwiftUI.

Submission of both projects is mandatory in order to pass the course.Each project must demonstrate mastery of the covered content, practical application skills, and the integration of the required functionalities.

SA2. Validation interviews and presentations

There will be two in-person validation sessions, one for each final project (Android and iOS), where students will present and explain their work to the teaching staff.These sessions will assess the student?s overall understanding of the project, justification of technical decisions, and communication skills.Additionally, individual interviews may be scheduled depending on team dynamics or in extraordinary cases, to verify authorship and level of participation in the project.

SA3. Individual exercises

Throughout the course, students will complete several individual exercises and in-class activities designed to reinforce and apply theoretical and practical concepts.These exercises will contribute to continuous assessment and serve to measure students? progress and understanding of the material.

Final grade calculation
Ordinary call: Final grade = 50% Android part grade + 50% iOS part grade

Important: To pass the course, students must obtain a minimum grade of 5 in both the Android and iOS parts.
If either part does not reach this minimum, the student must take the extraordinary call for the failed part.

Android / iOS part grade = 60% Project + 40% Continuous assessment

Continuous assessment = 90% Individual exercises and classwork + 10% Attendance

Extraordinary call: Final grade = 50% Android part grade + 50% iOS part grade

Android / iOS part grade (maximum 5) = 100% Project submission

In the extraordinary call, the maximum possible grade for each part is 5, and only the new project submission will be evaluated.

Evaluation Criteria

- Correct use of Office automation tools.
- Correct use of programming APIs, both of high and low level.
- Use of agile methods for project management.
- they have been acquire the minimum knowledge about interactive television concepts and technologies studied during the theoretical classes.
- The student knows how to work in group.
- The student knows how to make presentations in public.
- The student knows how to apply theoretical concepts in the practical development of an interactive television app.

Basic Bibliography

Introducción a Android studio : https://developer.android.com/studio/intro?hl=es-419

React documentation : https://react.dev/learn

React native documentation : https://reactnative.dev/

Swift documentation : www.swift.org

SwiftUI documentation: https://developer.apple.com/documentation/SwiftUI

Apple developers documentation : https://developer.apple.com/

Additional Material