This document provides information about a Joint University Master's Degree in Computational and Mathematical Engineering offered by URV and UOC universities. It outlines the program details including courses, credits, enrollment dates, teaching methodology and more. Key courses include Simulation, Numerical Methods in Engineering, High-Performance Computing, Data Analysis in Big Data Environments, and Multivariate Data Analysis. The program aims to prepare students for R&D positions through interdisciplinary training in engineering and applied sciences fields.
General Principles of Intellectual Property: Concepts of Intellectual Proper...
Students guide mec mat_2021_2022
1. New Students Guide
Joint University Master's Degree in
Computational and Mathematical
Engineering (URV, UOC)
Next start date: October 2021
In collaboration with:
2. Contents
1. Presentation
2. Enrolment and teaching information
Admission and admission documents (URV)
Enrolment for the 2021/22 academic year (URV)
Teaching calendar for the 2020/21 academic year (UOC)
3. Programme of study
Courses by type
Courses by semester
Course information
4. Teaching and assessment methodology
5. Enrolment recommendations
6. Details regarding the final master's degree project
7. Teaching figures
8. Research
9. Relevant links
10.Student help services
In collaboration with:
3. 1. Presentation
The Joint University Master's Degree in Computational and Mathematical Engineering
(URV, UOC) is an official online master's degree offering interdisciplinary training in the fields
of engineering and applied sciences. The programme of study addresses many current topics,
including computer modelling and simulation, numerical methods, parallel and distributed
computing, networks and graphs, heuristic optimization, artificial intelligence, dynamic systems
and big data.
The Master's Degree in Computational and Mathematical Engineering is a distance-learning
programme co-organized by the Universitat Rovira i Virgili (URV) and the UOC. The URV is
the coordinating university, meaning it handles enrolment and other academic procedures,
while the UOC takes responsibility for teaching the online courses.
Its primary goal is to prepare students to take on RDI positions in industry or at a research
centre, university or any other type of training facility. The online master's degree targets
postgraduate students with a science or technology degree in Mathematics, Computer
Engineering, Telecommunications Engineering, Statistics, Physics, etc. Students must
complete a total of 60 ECTS credits, which are distributed as follows: 18 compulsory course
credits, 24 optional course credits and 18 credits for the final master's degree project. The
master's degree is designed so that students may complete it in one year (as full-time
students) or in two years (as part-time students). The professors who teach on the degree are
active researchers in their respective fields of study, which can encourage students to pursue
a research career in computational and mathematical engineering.
The vehicular language for teaching the master is English, although communication in the
classroom can be in Spanish, Catalan or English. Also, in communications with the teaching
team and evaluations, students can use the language of their choice among the three. On the
other hand, to take this master it is necessary to be able to read scientific-technical texts in
English, since some teaching materials (books, articles, etc.) are exclusively in this language.
In collaboration with:
4. 2. Enrolment and teaching information
Enrolment on the master's degree courses is carried out annually at the URV.
Teaching is done on the UOC's Virtual Campus over the course of one academic year, which
is split into two semesters:
➢ From October to February
➢ From February to July
a) Admission and admission documents (URV)
https://www.urv.cat/en/studies/master/courses/computational-engineering/admission/
b) Enrolment for the 2021/22 academic year (URV)
Pre-enrolment and enrolment calendar
New students:
Phase 1.
Pre-enrolment: from 1 February to 15 April 2021
Enrolment: from 12 to 20 July 2021 (with place booking) and from 26 to 28 July 2021
(without place booking)
Phase 2.
Pre-enrolment: from 16 April to 30 May 2021
Enrolment: from 12 to 20 July 2021 (with place booking) and from 26 to 28 July 2021
(without place booking)
Phase 3.
In collaboration with:
5. Pre-enrolment: from 31 May to 15 July 2021
Enrolment: from 26 to 28 July 2021 and from 8 to 30 September 2021
Phase 4.
Pre-enrolment: from 16 July to 31 August 2021
Enrolment: from 8 to 30 September 2021
Returning students (for whom pre-inscription is NOT necessary):
From 12 to 30 July and from 8 to 30 September 2021.
Pre-enrolment:
https://www.urv.cat/en/studies/master/admission/pas-a-pas-preinscripcio/
Enrolment:
https://www.urv.cat/en/studies/master/admission/registration/
Administrative procedures for master's degree students:
https://www.urv.cat/en/studies/master/administrative-procedures/
In collaboration with:
6. c) Teaching calendar for the 2021/22 academic year (UOC)
Semester 2021-1
→ Start date: October 2021
→ End date: February 2022
Semester 2021-2
→ Start date: February 2022
→ End date: July 2022
3. Programme of study
Courses and final master's
degree project
No. of credits
Compulsory 18
Optional 24
Final Master's Degree Project 18
Total 60
All courses are worth 6 ECTS credits, except the one for the final master's degree,
which is worth 18.
a) Courses by type
In collaboration with:
7. Compulsory courses Optional courses (students choose four)
- Simulation
- Numerical Methods in
Engineering
- High-Performance Computing
- Final Master's Degree Project
- Artificial Intelligence
- Large-Scale Distributed Systems
- Operations Research
- Template Matching
- Data and Algorithm Structures
- Metaheuristic Optimization
- Data Analysis in Big Data Environments
- Multivariate Data Analysis
- Graph Theory and its Applications
- Digital Codes
- Cryptography and Blockchain Technology
- Modelling through Differential Equations
- Finite Elements and Finite Differences:
Numerical Methods for PDEs
- Complex Networks
- Chaotic Dynamical Systems
b) Courses by semester
In collaboration with:
8. First semester courses Second semester courses
- Digital Codes (this semester is NOT
offered)
- Finite Elements and Finite Differences:
Numerical Methods for PDEs
- Data and Algorithm Structures
- Operations Research
- Numerical Methods in Engineering
- Modelling through Differential
Equations
- Metaheuristic Optimization
- Simulation
- Graph Theory and its Applications
- Data Analysis in Big Data
Environments
- Multivariate Data Analysis
- High-Performance Computing
- Cryptography and Blockchain
Technology
- Artificial Intelligence
- Template Matching
- Chaotic Dynamical Systems
- Large-Scale Distributed Systems
- Complex Networks
- Final Master's Degree Project
c) Course information
In collaboration with:
9. ● Simulation
Coordinating professor: Dr Javier Panadero
Type: Compulsory
Credits: 6 ECTS credits
Semester: First
Description: This course covers key concepts and equips students with the skills they need
to model and simulate systems, networks and processes using Monte Carlo simulation
(MCS) and discrete event simulation (DES) techniques. To this end, the course takes a
theoretical and practical learning approach, covering modelling methods for data associated
with random phenomena, pseudorandom number generation, simulation algorithm design,
experimental design, verification and validation, results analysis and alternative design
comparison. The course also provides training in specific modelling and simulation software
(e.g. Simio) and teaches students to use it to study and solve practical cases from different
fields of knowledge.
Requirements: Ability to read scientific texts in English. Basic knowledge of statistics (at an
official llicenciatura or enginyeria degree level).
Bibliography: Robinson, S. (2004). Simulation: The Practice of Model Development and
Use. Wiley.
Relevant software: Simio simulation software
Course plan
Links: Winter Simulation Conference (WSC) Archive
Related videos:
In collaboration with:
10. ● Numerical Methods in Engineering
Coordinating professor: Dr Carme Olivé Farré / Dr. Gerard Fortuny / Dr. Jordi Villadelprat
Type: Compulsory
Credits: 6 ECTS credits
Semester: First
Description: Numerical methods play a key role in modern science. For instance, an
aircraft's landing approach and the aerodynamic simulation of the behaviour of the air
around it require the use of numerical methods. Likewise, many computer animation
graphics are the result of applying these methods to render physical models. Interpolation,
for example, allows animators to predict the intermediate positions between a body's initial
and final state, and the movement of the clothing is rendered automatically as the numerical
solution of differential equations. Errors in the solutions can then be treated to differentiate
the error of the algorithm from the error caused by computers' finite accuracy. The course
covers basic numerical methods and their application in engineering and science, as well
as the analysis of the approximate solutions they provide.
Requirements: Ability to read technical and scientific documents in English. Basic
knowledge of mathematics and programming (at an official enginyeria degree level).
In collaboration with:
11. Bibliography: Apuntes y Yangy, W.Y. (2005). "Applied Numerical Methods Using MATLAB".
Relevant software: MATLAB, Octave or Scilab. The UOC provides a licence to use
MATLAB.
Course plan
● High-Performance Computing
Coordinating professor: Dr Josep Jorba
Type: Compulsory
Credits: 6 ECTS credits
Semester: Second
Description: This course covers key concepts and equips students with the skills they need
to design and develop high-performance computing-based computational solutions as
alternatives to traditional sequential systems. Students will learn about the process and
communication design techniques required to develop applications that tap into the
computational resources of current computing architectures. Finally, the course presents
everything from classic algorithms to new architecture-aware optimized algorithms that
enable higher computational performance.
Requirements: Basic knowledge of programming (C or Fortran) and user-level knowledge
of GNU/Linus environments.
Relevant software: GNU Compiler Collection (C/C++/Fortran compiler) and GNU/Linux,
Ubuntu and CentOS distributions.
Course plan
In collaboration with:
12. ● Data Analysis in Big Data Environments
Coordinating professor: Dr Albert Solé Ribalta
Type: Optional
Credits: 6 ECTS credits
Semester: First
Description: This course serves as an introduction into the world of big data systems and
technologies. It begins by taking an analytical look at the technology structures behind big
data projects, including key aspects such as storage and distributed calculating systems
and the management of cluster hardware resources. The course then moves on to the
three main distributed processing models: batch processing, real-time or stream
processing, and complex event processing. It also covers the main features and functions
of today's most-used frameworks, with special attention given to the industry's top two
standards: Apache Hadoop and Apache Spark. Finally, the course wraps up with a review
of the main data analysis libraries, while addressing such topics as machine learning, graph
analysis and big data visualization.
Requirements: Students are required to have prior programming experience (preferably in
Python), as well as knowledge of data analysis, machine learning and computer networks.
Moreover, as the course methodology expects students to resolve case studies and search
for information on their own, they should be comfortable looking for information sources,
analysing quantitative and qualitative data, synthesizing their findings, drawing conclusions
and communicating via the written word. Some of the additional materials and resources
are written in English, so students must also be able to read and understand this language.
Bibliography: Notes, books and scientific articles.
Course plan
In collaboration with:
13. ● Multivariate Data Analysis
Coordinating professor: Dr Agusti Solanas
Type: Optional
Credits: 6 ECTS credits
Semester: Second
Description: This course is designed to offer students an integrated, in-depth look at and
practical experience with multivariate data analysis. It aims to equip students with a set of
research tools that will increase their ability to analyse and make sense of experimental
data regarding systems, networks and processes, and to effectively lay out their results in
scientific articles. The topics covered include multiple regression, analysis of variance and
covariance (ANOVA and ANCOVA respectively), discriminant analysis, logistic regression,
principal component analysis, factor analysis, cluster analysis, neural networks and big data
analysis.
Requirements: Ability to read scientific texts in English. Basic knowledge of programming.
Bibliography: Notes, books and scientific articles.
Course plan
Related research group:
Name: Smart Technologies Research (formerly Smart Health)
Website: smarttechresearch.com
Description: Smart Technologies Research focuses on the use of information and
communication technologies to create and apply contextualized environments. Its main
areas of application and study include smart cities, smart health, smart transport, computer
security, the fight against cybercrime and privacy protection.
In collaboration with:
14. ● Digital Codes
Coordinating professor: Dr Maria Bras-Amorós
Type: Optional
Credits: 6 ECTS credits
Semester: First
Description: Error control coding is used to detect and correct potential data transmission
errors caused by unreliable or noisy channels that may distort the messages we send. The
errors produced by the atmosphere as the Meteosat satellite sends photos to earth, for
instance, as well as interference-based errors occurring during mobile phone
communication and errors in reading CDs or DVDs, may be detected and corrected by this
type of coding. For coding to work, the sender encodes the relevant message along with
redundant information, which gives the receiver enough data to piece the original message
back together. One simple method of this is to send two equal copies of every bit of
information. This way, if the original bit or one of its copies are distorted, the receiver can
correct it using the two undistorted versions. Adding redundant information is a
double-edged sword, however. While it does improve the quality of the received message, it
also ups the cost of transmission. To send two copies of every bit, the cost would actually
triple. Coding theory studies the design and use of codes with high error-correcting capacity
that keep the cost of sending encoded data to a minimum. It also covers the corrective
algorithms that allow the original message to be recovered successfully.
Requirements: Basic knowledge of mathematics (at an official llicenciatura or enginyeria
degree level).
Bibliography: Notes, books and scientific articles.
Course plan
Related videos:
In collaboration with:
15. ● Large-Scale Distributed Systems
Coordinating professor: Dr Joan Manuel Marquès
Type: Optional
Credits: 6 ECTS credits
Semester: Second
Description: This course aims to help students understand the challenges involved in
designing, building and analysing distributed computing systems, services and applications.
Specifically, the course addresses the issues inherent to the distributed computing and
storage of big data, while also honing in on large-scale distributed computing models such
as cloud and volunteer computing. Such systems comprise a high number of computers
and display less reliability and availability than dedicated solutions. This complicates the
layer responsible for managing the infrastructure, which is characteristically heterogeneous
and dynamic to a great degree. The course then segues into real-life cases of existing
systems and how they address issues of this nature.
Requirements: Ability to read scientific texts in English. Basic knowledge of programming in
Java.
Bibliography: Scientific articles on distributed computer systems.
Course plan
In collaboration with:
16. ● Cryptography and Blockchain Technology
Coordinating professor: Dr Oriol Farràs
Type: Optional
Credits: 6 ECTS credits
Semester: Second
Description: This course aims for students to gain a comprehensive understanding of
modern-day cryptography and its use in contemporary environments. The first half of the
course is dedicated to introducing students to the most important precedents in
cryptography, while also covering the related notions of security, the most relevant attacks
to date and the standardized diagrams used today. The remainder of the course addresses
the contemporary uses of cryptography and blockchain technology. Students learn about
advanced cryptographic protocols for secure computing, the use of cryptography in today's
apps, the cryptographic foundations of blockchain technology and cryptocurrencies, and the
main results of post-quantum cryptography.
Requirements: Basic knowledge of mathematics (at an official llicenciatura or enginyeria
degree level). Ability to read scientific texts in English.
Provisional bibliography: Notes, books and scientific articles.
Course plan
Related videos:
In collaboration with:
18. ● Data and Algorithm Structures
Coordinating professor: Dr. Marc Maceira
Type: Optional
Credits: 6 ECTS credits
Semester: First
Description: This course covers data and algorithm structures, introducing students to the
key concepts needed to undertake research in the field. Specifically, the course reviews the
underlying concepts of algorithmic complexity (i.e. spatial and temporal cost, algorithmic
cost calculations and usual orders of magnitude) as well as the basic concepts of data
structures (e.g. abstract data types and pointer and memory management). Once students
have gained a solid understanding of these key concepts, the course provides an in-depth
look at frequently used data structures (i.e. stacks, queues, lists, trees, heaps and hash
tables) and offers an introduction to graph algorithms (paths, shortest paths, spanning
trees, etc.).
Requirements: Ability to read scientific texts in English. Basic knowledge of programming
(preferably in Java).
Bibliography: Sedgewick, R.; Wayne, K. (2011). Algorithms. Addison-Wesley Professional.
Relevant software: Java.
Course plan
In collaboration with:
19. ● Graph Theory and its Applications
Coordinating professor: Dr Juan Alberto Rodríguez Velázquez
Type: Optional
Credits: 6 ECTS credits
Semester: First
Description: This course addresses a number of properties of network structure and
manipulation, both from a local and global perspective. Specifically, it covers the basics of
graph theory, including operations on graphs, distance, connectivity, planarity and
colouration, while also going into some fundamental concepts of spectral graph theory. The
course also visits a number of current issues, such as graph centrality and centralization
measures, topological indices, measures of network bipartivity and reliability measures in
weighted networks. The subjects covered in the course allow students to analyse complex
networks, including social media, food webs and protein-protein interaction networks.
Finally, students are offered a comprehensive introduction to current research in this field.
Requirements: Ability to read scientific texts in English. Basic knowledge of mathematics (at
an official llicenciatura or enginyeria degree level).
Bibliography: Gross, J.L.; Yellen, J. (2006). Graph Theory and Its Applications, 2d ed.
Chapman & Hall/CRC.
Other resources: Shirinivas, S.G.; Vetrivel, S.; Elango, N.M. (2010). "Applications of Graph
Theory in Computer Science: An Overview". International Journal of Engineering Science
and Technology, 2(9), 4610-4621.
Course plan
In collaboration with:
20. ● Artificial Intelligence
Coordinating professor: Dr Carles Ventura
Type: Optional
Credits: 6 ECTS credits
Semester: Second
Description: This course equips students with a set of advanced artificial intelligence
techniques aimed at solving high-frequency computational engineering problems.
Accordingly, the course has two main facets. Firstly, students are introduced to the theory
that allows engineers to model machine learning, which in turn enables machines to learn
and make decisions based on human input. Moreover, the course provides plenty of
practical experience. In this regard, students are encouraged to apply the theory to devise
solutions to different problems, including those involved in text and visual data
classification, content ranking and perception.
Requirements: Ability to read scientific texts in English. Basic knowledge of artificial
intelligence and statistics. It is highly recommendable for students to have previously
completed a course on machine learning, data mining or similar. Basic knowledge of
programming in Python.
Bibliography: UOC modules. Benítez, R.; Escudero, G.; Kanaan, S.; Masip Rodó, D.
"Inteligencia Artificial Avanzada". Editorial UOC. ISBN 978-84-9029-887-9.
Relevant software: Python
Other resources: UOC AI videos (in Spanish) and UOC AI videos (in Catalan)
Course plan
In collaboration with:
21. ● Operations Research
Coordinating professor: Dr Angel A. Juan
Type: Optional
Credits: 6 ECTS credits
Semester: First
Description: Operations research deals with the rendering of mathematical and
computational models and the development of algorithms to solve problems in any area or
field (business, industry, society, healthcare, service provision, etc.) through efficient
decision-making. This course provides students with the concepts of operations research
needed to create models and solve real-life problems by employing techniques such as
linear programming, integer programming and heuristic development. The course will also
focus on how the concepts and techniques involved in operations research can be applied
to overcome problems in the fields of logistics and transport, system and network
optimization, and process scheduling.
Requirements: Ability to read scientific texts in English. Basic knowledge of mathematics (at
an official llicenciatura or enginyeria degree level).
Bibliography: Albright, C.; Winston, W. (2012). Management Science Modeling.
South-Western. ISBN-10: 1111532451 (similar book to the following one from the same
authors: Practical Management Science).
Relevant software: Microsoft Excel / Open Office Calc Solvers, LINDO / LINGO software
In collaboration with:
23. ● Modelling through Differential Equations
Coordinating professors: Dr Dolors Puigjaner / Dr Jordi Villadelprat
Type: Optional
Credits: 6 ECTS credits
Semester: First
Description: In this course, students get a look at how differential equations can be used to
create mathematical models of issues arising in any field, such as engineering, physics and
biology. Once students have gained sufficient knowledge of the basics, they will work on
practical cases from such areas as mechanics, fluid dynamics, heat transfer, epidemic
spreading and population growth. The course focuses on three key processes: the
mathematical rendering of empirical models, the use of differential equation-based
analytical or numerical methods to solve mathematical problems, and results analysis and
interpretation.
Requirements: Ability to read scientific texts in English. Basic knowledge of mathematics (at
an official llicenciatura or enginyeria degree level).
Resources:
Reference book: Barnes, B.; Fulford, G.R. (2009). Mathematical Modelling with Case
Studies: A Differential Equations Approach Using MapleTM
and MATLAB®
. Editorial CRC
Press.
Relevant software: MATLAB and/or GNU Octave
Course plan
In collaboration with:
24. ● Metaheuristic Optimization
Coordinating professor: Dr Angel A. Juan
Type: Optional
Credits: 6 ECTS credits
Semester: First
Description: This course looks at solving problems in discrete domains that have a finite or
countably infinite set of solutions. When confronted with problems of this nature, the aim is
to find one or more cost solutions that are as close as possible to the optimal solution (if this
is not possible to find). Routing, scheduling and placement problems are good examples.
Due to the combinatorial explosion of possible solutions, an exhaustive search for the
optimal solution becomes infeasible, especially when it comes to medium and large
instances of the problem. Accordingly, either incomplete techniques are employed or the
model of the problem to be solved is simplified.
The course covers some of the most widely used techniques today, including genetic and
evolutionary algorithms, tabu searches, the greedy randomized adaptive search procedure
(GRASP) and ant colony optimization (ACO), which may be used individually or in tandem
to yield the best results. Finally, the course explores the concept of "simheuristics", a
portmanteau of "simulation" and "metaheuristics" referring to the combination of these two
approaches to solve combinatorial optimization problems with stochastic components.
Requirements: Ability to read scientific texts in English. Basic knowledge of mathematics
and programming (at an official llicenciatura or enginyeria degree level).
Course plan
Bibliography:
Talbi, E. (2009). Metaheuristics: From Design to Implementation. Wiley.
Luke, S. (2013). Essentials of Metaheuristics. Lulu.
In collaboration with:
25. Juan. A.; Faulin, J.; Grasman, S.; Rabe, M.; Figueira, G. (2015). "A review of simheuristics:
Extending metaheuristics to deal with stochastic combinatorial optimization problems".
Operations Research Perspectives, 2, 62-72.
Relevant software: a Java, C or C++ compiler
Link: INFORMS
Other resources: Scientific articles and Java code provided during the course.
Related video:
In collaboration with:
27. ● Template Matching
Coordinating professor: Dr Carles Ventura
Type: Optional
Credits: 6 ECTS credits
Semester: Second
Description: This course introduces
students to a number of techniques
that can be used to extract
information from data sets, focusing
specifically on template matching
techniques in computer vision.
Images are one of the main sources
of perceptual information used by the
human brain to make decisions.
Accordingly, template matching
techniques in computer vision are
highly valuable, especially given the
massive amount of visual data we
have today but are unable to analyse using rudimentary methods. Indeed, there are many
practical applications for template matching in machine vision; for example, in the fields of
security, medicine and automatic inspection, and for autodrive or autopilot systems. During
the course, students work to:
- Understand how images are formed.
- Become familiar with the main techniques for processing digital images.
- Comprehend colour perception and colour space representations.
In collaboration with:
28. - Become proficient in the main techniques of supervised and unsupervised
dimensionality reduction (feature selection and feature extraction), and to learn to
apply such techniques to real-life problems.
- Recognize the main machine learning techniques used in automated data
classification, and to learn to apply such techniques to real-life problems.
Requirements: Ability to read scientific texts in English. Basic knowledge of mathematics
and statistics.
Provisional bibliography: Forsyth, D.A.; Ponce, J. (2012). Computer Vision: A Modern
Approach. 2/E, Pearson Education.
Relevant software: ImageJ
Course plan
Other resources:
Complementary materials will be used to carry out the practical exercises: Image
Processing Learning Resources (HIPR2), the Image Recognition Laboratory, Web-enabled
image processing operators (Canny, Gabor), The Color Space Conversions Applet, etc.
In collaboration with:
29. ● Complex Networks
Coordinating professor: Dr Sergio Gómez
Type: Optional
Credits: 6 ECTS credits
Semester: Second
Description: This course covers the basic concepts and algorithms used to analyse
complex networks, as well as the models used to display the most relevant features of
these networks and the dynamics that take place within them. The course begins by
demonstrating the presence of complex networks in a wide range of fields (e.g. biology,
technology, ecology, social sciences, economics and linguistics). Likewise, it looks at these
networks' most prominent recurring features, such as scale-free degree distributions,
transitivity, small-world properties and assortativity. The course pays special attention to
complex networks' mesoscopic structures and reviews the main algorithms for mapping
such structures in communities. It also looks at the main models of random complex
networks, which allow us to understand the appearance of peculiar structural properties.
Lastly, the course describes some of the dynamics of complex networks, such as
synchronization and epidemic spreading.
Requirements: Ability to read scientific texts in English. Basic knowledge of mathematics
and, especially, graphing (at an official llicenciatura or enginyeria degree level). Ability to
programme using any programming language (e.g. MATLAB, Octave, R, C, C++, Java,
Python and Visual Basic).
Bibliography: Notes, scientific articles and the book Networks by Mark Newman.
Relevant software: The University provides a licence to use MATLAB. Other open access
software will be used for network visualization and analysis (e.g. NetworkX, Gephi, igraph,
Pajek, Radatools and LightGraphs).
Course plan
In collaboration with:
30. ● Finite Elements and Finite Differences: Numerical Methods for PDEs
Coordinating professor: Dr Carlos García Gómez
Type: Optional
Credits: 6 ECTS credits
Semester: First
Description: The problems that today's engineers are tasked with solving often contain a
certain degree of complexity. To overcome this hurdle, numerical techniques or methods
have been devised to allow the partial differential equations that govern most relevant
processes to be solved numerically. This course serves as a practical introduction to this
set of methods, focusing specifically on the more classical methods, or those based on
finite differences. This helps us to understand the limitation of such methods and the need
to introduce more flexible numerical ones. Modern methods are known under the generic
umbrella term of finite element methods and are widely used in all fields of engineering.
Requirements: Ability to read texts in English. Basic knowledge of mathematics and,
especially, graphing (at an official llicenciatura or enginyeria degree level). Understanding of
fundamental programming concepts.
Bibliography:
Books
Rao, S.S. (2011). The Finite Element Method in Engineering. Elsevier.
Larson, M.G.; Bengzon, F. (2013). The Finite Element Method: Theory, Implementation and
Applications. Springer.
Relevant software: MATLAB, qtOctave
Course plan
In collaboration with:
31. Links: https://en.wikipedia.org/wiki/Finite_element_method
● Chaotic Dynamical Systems
Coordinating professor: Dr Antonio Garijo Real
Type: Optional
Credits: 6 ECTS credits
Semester: Second
Description: This course introduces students to the basic
concepts of dynamical systems generated by iterated
functions. The study of such dynamical systems allows the
course to segue into the world of fractal sets, self-similar
sets, chaotic sets, Cantor sets, and Julia and Fatou sets.
The course also covers two fundamental examples in the
study of chaotic dynamical systems; namely, logistic
In collaboration with:
32. application and complex quadratic families. Moreover, the course combines both theoretical
and practical exercises.
Requirements: Ability to read scientific texts in English. Basic knowledge of mathematics (at
an official llicenciatura or enginyeria degree level).
Provisional bibliography: Devaney, R. (Ed.) (2003). An introduction to chaotic dynamical
systems. Westview Press.
Relevant software: The University provides a licence to use MATLAB.
Course plan
● Final Master's Degree Project
Coordinating professors: Dr Javier Panadero / Dr Dolors Puigjaner
Type: Compulsory
Credits: 18 ECTS credits
Semester: First and second (year-long course)
Description: The final master's degree project is a professional exercise which students
must carry out individually to synthesize the knowledge and skills they have acquired
throughout the master's degree. The project is completed under the supervision of a
professor, who serves as project supervisor. The final master's degree project can be
carried out in any one of a number of subject areas, which students must choose once they
have enrolled in the course.
Further information is provided in Section 6 below ("Details regarding the final master's
degree project").
In collaboration with:
33. 4. Teaching and assessment methodology
For each one of your courses, your professor will be there to guide you on your learning path
and clear up any queries you many have. The online classrooms have several communication
channels, which your professor will use to propose a range of tasks that will help you keep up
a solid work pace throughout the course. You and your classmates will also use these
channels to share your knowledge with each other.
The UOC also provides the learning resources you will need to carry out your course
activities. These could be teaching materials, information sources or even support tools, and
they will be accessible via the online classroom for each course.
For some of your courses, you will be assessed solely based on the continuous assessment
activities you must complete online. For others, there may also be a final test, which you will
have to take either online or at one of the UOC's on-site centres.
In continuous assessment models, students are required to complete a series of activities,
including practical exercises, debates, online presentations, questionnaires, essays and
projects.
5. Enrolment recommendations
General recommendation
The time spent by students on each course is determined by the credits allocated to it, with
each credit being equivalent to 25 hours' work. With that in mind, you are able to calculate the
weekly number of hours you will have to spend on your studies. The total number of credits
you enrol on should never exceed the amount of available time you have.
In collaboration with:
34. Course recommendations
You can find out about the prior knowledge required for each course in its corresponding
course plan, or you can read through the information provided in the "Course information"
section above.
Bear in mind that many courses require prior knowledge of mathematics and programming.
For full details on each course, return to the "Course information" section.
6. Details regarding the final master's degree project
Coordinating professors: Dr Javier Panadero / Dr Dolors Puigjaner
Type: Compulsory
Semester: First and second (year-long course)
Credits: 18 ECTS credits
The last step on your way to completing your master's degree is the final master's degree
project. The course is worth 18 ECTS credits, meaning it requires 450 hours of work.
The final master's degree project is a professional exercise which students must carry out
individually to synthesize the knowledge and skills they have acquired throughout the master's
degree.
The project is completed under the supervision of a professor, who serves as project
supervisor. The final master's degree project can be carried out in any one of a number of
subject areas. When you enrol on the course, you must choose one such area and reach out
to the professor you would like to supervise you. You will receive ample instructions on how to
go about doing this when the time comes.
You will be asked to submit the final draft of your project in the assessment section of the
online classroom. This will comprise three parts:
In collaboration with:
35. ■ A written report on the project you have undertaken.
■ A product, which may not in fact be necessary depending on the type of project
carried out (application, design, study, etc.).
■ A video presentation summarizing the project development and results. The project
defence is going to be synchronous, in virtual format, by means of a
videoconference tool. In the presentation, the student is going to be evaluated by a
three member tribunal, the president and two spokespersons. The presentation time
slot will be notified further on through the project tutor. Further information in
Procedures - Final projects in the campus virtual.
Requirements
■ Enrolment: To enrol on the Final Master's Degree Project course, students must
have already taken the remaining 42 credits of the master's degree, or be enrolled
on them in the same semester.
■ Knowledge: The specific prior knowledge required to complete the final project will
depend on the chosen subject area.
Selection and assignment of the final master's degree project area
Students must choose from among the UOC- or URV-coordinated final master's degree project
research lines laid out below. In order to select an area, you must send an email to the
corresponding contact person, who will provide you with further information and help you find a
professor interested in supervising your project. In order for you to be officially assigned an
area and supervisor, you must fill out and submit a form (you’ll be informed).
Final master's degree project areas coordinated by the UOC:
● High-Performance Computing (M0.520): This option gives students the chance to
complete their final master's degree project in an area devoted to studying, applying
and analysing high-performance computing solutions to solve scientific problems.
More specifically, students look into how to design, implement and analyse different
high-performance models of hardware, software and middleware to boost the
In collaboration with:
36. performance of parallel/multinuclei applications in different scientific fields of study.
In addition, two specific areas are offered within this area:
○ Title 1: Data Management: study and cost analysis of triplestores (RDF
stores).
○ Title 2: Performance and power consumption at Cloud Computing
Datacenters.
Further information: Dr Josep Jorba (jjorbae@uoc.edu).
·
● Artificial Intelligence (M0.521): As you saw in the course description of the
master's degree course in Artificial Intelligence, this field of study involves the use of
different techniques to solve a range of problems. Such techniques include genetic
algorithms, neural networks, fuzzy control systems and machine learning (support
vector machines, clustering, etc.). Below is a series of specific examples to illustrate
the general possibilities of this area. Students may also address topics that better
suit their interests, as long as the supervising professor is in agreement. Further
information: Dr Carles Ventura (cventuraroy@uoc.edu).
○ Implementation of hierarchical fuzzy systems: Creating a system that
interprets a set of fuzzy rules, and defining the fuzzy rules required for
specific applications.
○ Application of genetic algorithms to optimization problems: Solving
optimizations problems by finding the optimal parameters through genetic
algorithms, simulated annealing or ant colony optimization.
○ Classification algorithms: For example: (1) Experimenting with the different
classification algorithms presented in the advanced course on Artificial
Intelligence. (2) Comparing and contrasting different classification algorithms
(different classification algorithms render different clusters despite receiving
the same data input).
In collaboration with:
37. ○ Data mining to ensure privacy: For example: (1) Investigating data
protection algorithms. (2) Analysing how data protection algorithms sway
analysis results.
○ Computer vision and statistical template matching: This option gives
students the chance to base their final master's degree project on the design
and implementation of computer vision technologies to carry out object
recognition, scene understanding, and facial expression, gesture and
non-verbal cue detection.
● Simulation and System Optimization (M0.522): This option gives students the
chance to base their final master's degree project on the development of new
optimization and simulation algorithms (e.g. simheuristics). Optimization algorithms
of this nature produce practical solutions for different combinatorial optimization
problems and may be applied in the service and manufacturing industries (e.g.
logistics, transport, healthcare systems). These solutions are implemented using
Java or Python. Further information: Dr Javier Panadero (jpanaderom@uoc.edu).
● Distributed Systems and Applications (M0.524): This option gives students the
chance to carry out their final master's degree project in different areas of edge
computing and distributed community systems. Further information: Dr Joan Manuel
Marquès (jmarquesp@uoc.edu).
Final master's degree project areas coordinated by the URV (M0.525):
Note: Students choosing to carry out their final master's degree project in an area
coordinated by the URV have two options: (a) they may select one of the specific topics
proposed for the 2021/22 academic year; or (b) they may choose another topic that falls
within one of the areas listed below. In either case, students must contact the professor
responsible for the topic or area of their choice as soon as possible, in order to come to an
agreement regarding the project proposal.
In collaboration with:
38. ● Title: Simulation of springs
Abstract: Mechanics of springs and the relationship among the parameters that
define them (solid material and geometry) are well known. The goal of this project is
to simulate deformations of springs as solid objects under the effects of forces and
check the results against the known laws for springs of specific geometries. Other
non standard geometries might be checked afterwards. Simulations are to be
conducted using free packages Code-Aster, mFront and Salomé-Meca in a linux
environment.
Key Words: solid mechanics, spring, code-aster
Advisors: Dr. Josep M. López & Dr. Gerard Fortuny (josep.m.lopez@urv.cat,
gerard.fortuny@urv.cat)
● Title: Mechanical behavior of cancer cells vs. healthy cells
Abstract: Cancer can develop in any part of the body. It originates when cells grow
out of control and outnumber normal cells. This makes it difficult for the body to
function the way it should. Normal cells divide in an orderly fashion and die when
they have worn out or are damaged so that new cells take their place. In cancer,
cells reproduce uncontrollably and move to normal cells. This causes problems in
the area of
the body where the cancer (cancerous tumor) started. In clinical practice,
it has been observed that cancer cells actually have a different mechanical behavior
than non-cancer cells. The aim of this work will be to reproduce the mechanical
behavior of an isolated cancer cell, as well as to analyze how it affects the behavior
of several of these cells in a larger cell set. The work will be developed using open
source finite element software (Code Aster, Salome Mecca) and a cell model
developed by the research group will be used.
Keywords: FEM, numerical simulation, cancer, code-aster
Advisors: Dr. Gerard Fortuny & Dr. Josep M. López (gerard.fortuny@urv.cat ,
josep.m.lopez@urv.cat)
● Title: Study of the suture in major surgery
Abstract: Abdominal surgeries usually have a long recovery time and require
intensive care or several days in the hospital. The practice of these surgeries also
involves a risk of complications that is not less. One of the usual complications is the
mechanical behavior of the suture performed. In practice there is a real ignorance of
In collaboration with:
39. what technique should be used at the time of suturing and on numerous occasions,
the choice of technique depends on the experience of the surgeon. The aim of this
work is to study the effect of skin tissue subjected to stress as well as to analyze
how the variation of the properties of this tissue affects various sutures performed.
The work will be developed using open source finite element software (Code Aster,
Salome Mecca) and a skin suture model developed by the research group will be
used. In the work, the corresponding simulations must be made and the results
compared with the simulations already performed in the group, as well as with other
simulations found in the literature.
Keywords: numerical simulation, suturing, code-aster
Advisors: Dr. Gerard Fortuny & Dra. Dolors Puigjaner (gerard.fortuny@urv.cat,
dolors.puigjaner@urv.cat)
● Title: Intelligent Systems for the Analysis of the Functional Ability and Intrinsic
Capacity in Older Adults
Abstract: The growing interest in healthy ageing has fostered the definition and use
of proper measures to assess decline in older adults. The World Health
Organisation has defined the concepts of intrinsic capacity IC and functional ability
FA to address this issue. Automatically measuring all features involved in the
analysis of IC and FA is complex and deriving actionable knowledge from the
collected data is a daunting task.
Topics of interest under this research line
- Development of contextual-environments
- Ambient Assisted Living
- Sensors and contextual and behavioural factors modelling
Keywords: Multivariate Analysis, Artificial Intelligence, Big Data, Graph Theory,
Logic, Clustering
Advisor: Dr. Agustí Solanas (agusti.solanas@urv.cat)
● Title: Cognitive Cities and Cognitive Environments
Abstract: Cognitive cities (CC) are an evolution of smart cities equipped with artificial
intelligence techniques that allow the creation of artificial agents able to learn from
the environment and adapt accordingly in order to achieve a set of goals and obtain
knowledge. Other definitions of CC exist but, in essence, the main point is the
application of artificial learning strategies to context-aware environments to reach
some goals (including knowledge). Topics of interest under this research line:
In collaboration with:
40. - Security and Privacy in CC
- Multi-Agent Systems for the practical implementation of CCs
- Learning Models
- Resilience and adaptability
- Interaction between artificial agents and humans
Keywords: Multivariate Analysis, Artificial Intelligence, Big Data, Graph Theory,
Logic
Advisor: Dr. Agustí Solanas (agusti.solanas@urv.cat)
● Title: Cognitive Healthcare
Abstract: Cognitive healthcare is the provision of healthcare services by exploiting
the capabilities of cognitive cites and, more generally, cognitive environments. The
ultimate goal of Cognitive Healthcare systems is to derive healthcare-related
knowledge from multiple context and sources holistically by using learning strategies
inspired by connectivistic principles. Topics of interest under this research line:
- Conceptual and practical developments
- Healthcare data analysis
- Modelling and learning strategies
- Applications
Keywords: Multivariate Analysis, Artificial Intelligence, Big Data, Graph Theory,
Logic
Advisor: Dr. Agustí Solanas (agusti.solanas@urv.cat)
● Title: Phishing and Cybercrime
Abstract: In recent times, cybercrime has become a prevalent threat for countries,
companies, and the society as whole. Although the substantial progress made by
anti-phishing defence strategies in mitigating phishing attacks, they have focused
their efforts from a very technical perspective (i.e., filtering suspicious emails,
blocking websites, etc). Moreover, training and awareness campaigns have been
considered from a very generic perspective without observing the psychological
profile of each individual. In this line we are interested in analysing the human factor
in phishing (from its multiple facets). Also, we can pay attention to other kinds of
cybercrime (e.g., CSAE) and to the techniques that could help model and prevent
harming behaviours on the internet, as well as detecting potential offenders. Topics
of interest under this research line:
- Behavioural phishing patterns modelling
In collaboration with:
41. - Psychological and social correlation in phishing victimisation
- Grooming detection and Child Sexual Abuse and Exploitation Prevention
- Threat intelligence, clearing houses and early prevention of cyberattacks
Keywords: Multivariate Analysis, Artificial Intelligence, Big Data, Graph Theory,
Logic, Clus-
tering, Anomaly Detection
Advisor: Dr. Agustí Solanas (agusti.solanas@urv.cat)
● Title: The Chen-Chvátal conjecture and related problems
Abstract: In a metric space M=(X,d) a line induced by two distinct points x,x′∈X is
defined by L{x,x′}={z∈X:d(x,x′)=d(x,z)+d(z,x′) or d(x,x′)=|d(x,z)−d(z,x′)|}. A line
L{x,x′} is universal whenever L{x,x′}=X. The following conjecture was stated by
Chen and Chvátal [Discrete Appl. Math. 156 (2008), 2101-2108.] for the case of
finite metric spaces, where ℓ(M) denotes the number of distinct lines in M.
Conjecture (The Chen-Chvátal conjecture). Every finite metric space M=(X,d) with at
least two points either has a universal line or ℓ(M)≥|X|. The Chen-Chvátal conjecture
is an attempt to generalize the de Bruijn-Erdős theorem of Euclidean geometry
which asserts that every non-collinear set of n points in the plane determines at
least n distinct lines. The Chen-Chvátal conjecture remains open and, as time goes
by, the interest of the mathematicians to solve it is increasing. The goals of this work
are the following:
- Understand the Chen-Chvátal conjecture, and its related problems, both in
the general context of metric spaces and in the particular context of graph
theory.
- Prepare a State of the Art on the Chen-Chvátal conjecture and its related
problems.
- Contribute to the solution of the conjecture and/or to the solution of some of
its related problems.
Requirements: The master's thesis will be written in English, using latex, and
previous knowledge of graph theory is required.
Keywords: Chen-Chvátal conjecture, universal lines, metric spaces.
Advisor: Dr. Juan Alberto Rodríguez Velázquez, juanalberto.rodriguez@urv.cat
● Title: Secure Italian domination in product graphs.
Abstract: For a vertex v of a simple graph G, let f (v) be the number of entities
stationed at v. Depending on the problem we deal with, an entity could consist of a
In collaboration with:
42. robot, an observer, a guard, a legion, and so on. An entity at v can deal with a
problem at any vertex in its closed neighbourhood. There are several strategies, that
is, properties of such functions, under which the entire graph may be deemed
protected. Among the most studied properties, the following stand out: domination,
total domination, Roman domination, weak Roman domination, secure domination
and secure Italian domination. The corresponding parameters that give the
minimum number of entities required to protect the graph under the various
strategies have been extensively studied. The main goal of this project is to provide
theoretical results on the secure Italian domination number of strong product
graphs.
Requirements: The master's thesis will be written in English, using latex, and
previous knowledge of graph theory is required.
Keywords: Secure Italian domination; product graphs
Advisor: Dr. Juan Alberto Rodríguez Velázquez, juanalberto.rodriguez@urv.cat
● Title: Protection of strong product graphs
Abstract: For a vertex v of a simple graph G, let f (v) be the number of entities
stationed at v. Depending on the problem we deal with, an entity could consist of a
robot, an observer, a guard, a legion, and so on. An entity at v can deal with a
problem at any vertex in its closed neighbourhood. There are several strategies, that
is, properties of such functions, under which the entire graph may be deemed
protected. Among the most studied properties, the following stand out: domination,
total domination, Roman domination, weak Roman domination, and secure
domination. The corresponding parameters that give the minimum number of
entities required to protect the graph under the various strategies have been
extensively studied. The main goal of this project is to provide theoretical results on
the weak Roman domination number and the secure domination number of strong
product graphs.
Requirements: The master's thesis will be written in English, using latex, and
previous knowledge of graph theory is required.
Keywords: Strong product graphs; weak Roman domination number; secure
domination number.
Advisor: Dr. Juan Alberto Rodríguez Velázquez, juanalberto.rodriguez@urv.cat
● Title: Differentials in graphs
Abstract: Given a graph G=(V,E), the open neighbourhood of a vertex x∈V is
In collaboration with:
43. defined to be N(x)={y∈V: xy∈E}. The open neighbourhood of a set X⊆V is defined
by N(X)=⋃_{x∈X}N(x), while the external neighbourhood of X, or boundary of X, is
defined as Ne(X)=N(X)∖X. The differential of a subset X⊆V is defined as
∂(X)=|Ne(X)|−|X| and the differential of a graph G is defined as
∂(G)=max{∂(X):X⊆V}. These concepts were introduced by Hedetniemi about
twenty-five years ago in an unpublished paper, and the development of the topic
was subsequently continued by several authors. Currently, the study of differentials
in graphs and their variants is of great interest because it has been observed that
the study of different types of domination can be approached through a variant of
the differential which is related to them. Specifically, we are referring to domination
parameters that are necessarily defined using functions, such as Roman
domination, perfect Roman domination, Italian domination and unique response
Roman domination. In each case, the main result linking the domination parameter
to the corresponding differential is a Gallai-type theorem, which allows us to study
these domination parameters without the use of functions. For instance, the
differential is related to the Roman domination number, the perfect differential is
related to the perfect Roman domination number, the strong differential is related to
the Italian domination number and the 2-packing differential is related to the unique
response Roman domination number. The main goal of this project is to provide
theoretical results on some specific differential in the context of product graphs.
Keywords: Differentials in graphs; product graphs
Advisor: Dr. Juan Alberto Rodríguez Velázquez, juanalberto.rodriguez@urv.cat
● Title: Reliability of bimodal transportation networks
Abstract: Networks are ubiquitous in today's society, and assessing their reliability is
a problem of great concern. One of the methods to assess a network's reliability is
the so-called reliability polynomial, which expresses the probability that the network
remains functional after some of the links are disconnected. The reliability
polynomial combines concepts from graph theory, algebra, and probability. Its
computation is hard (more precisely, complete for the class #P), but many methods
have been devised to speed it up. In a previous thesis (Jiménez-Fesco, 2019), an
algorithm was implemented in MATLAB for the computation of the reliability
polynomial of an undirected network. The algorithm was applied to the computation
of the reliability polynomial of some metro networks. In this work we assumed that
all the links had the same failure probability. A later work dealt with a slight
generalization of the reliability polynomial, namely, when there were two types of
links, with different failure probabilities, resulting in a bivariate reliability polynomial
In collaboration with:
44. (Eguía-León, 2020). We now want to apply this bivariate reliability polynomial to the
analysis of some transportation networks. More precisely, we think that the bivariate
model is suitable for the analysis of road and rail networks, where there are two
types of links, such as highways, with low probability of failure, and secondary
roads, with a higher probability of failure. We want to implement an algorithm for the
exact calculation of the bivariate reliability polynomial, and apply it to the analysis of
some road and railroad networks. An important part of the work will be to collect
data from real transportation networks, such as road and train networks, and store
the data in a format that is suitable for its analysis and visualization. There exist
several computer systems that focus on the analysis and visualization of network
data, for instance, Gephi, Pajek and R.
References:
1. Jiménez-Fresco, Iago: Computation of a network's reliability polynomial. Master's
thesis, Universitat Rovira i Virgili, 2019.
2. Eguía-León, 2020: A simulation-interpolation approach for approximating the
univariate and bivariate reliability polynomial. Master's thesis, Universitat Rovira i
Virgili, 2020.
Keywords: network reliability, transportation networks, applications of graphs
Advisor: Dr. Hebert Pérez Rosés (hebert.perez@urv.cat)
● Title: Nonlinear Graph Edit Distance
Abstract: Graphs are abstract data structures used to model real problems with two
basic entities: nodes and edges. Each node or vertex represents a relevant point of
interest of a problem, and each edge represents the relationship between these
points. Nodes and edges could be attributed to increase the accuracy of the model,
which means that these attributes could vary from feature vectors to description
labels. Due to this versatility, many applications have been found in fields such as
computer vision, bio-medics, network analysis, and so on. During more than 30
years, researchers have been focused on how to represent objects through graphs
and how to compute the distance between them. The definition of an adequate
model for measure the dissimilarity between these representations is a key issue in
pattern recognition, which is usually called Error-Tolerant Graph Matching. One of
the most popular approaches in order to find a solution to this problem is the Graph
Edit Distance, which estimates the distance between a pair of graphs computing the
sum of costs of different edit operations that transform one graph into another. The
distance is represented by a linear equation that depends on the number of edit
operations and the cost of these operations. The aim of this master thesis is to
In collaboration with:
45. convert the graph edit distance to a nonlinear equation. We assume that the
non-linearity will make the distance to increase the ability to adapt to the problem at
hand, thus, having more capacity to proper represent the object or more precisely,
the distance between them.
References:
F. Serratosa, Redefining the Graph Edit Distance, S. N. Computer Science, 2:438,
2021. https://doi.org/10.1007/s42979-021-00792-5
F. Serratosa, Fast Computation of Bipartite Graph Matching, Pattern Recognition
Letters 45, pp: 244 – 250, 2014. http://dx.doi.org/10.1016/j.patrec.2014.04.015
Keywords: graph edit distance, graph matching, nonlinear equation
Advisor: Dr. Francesc Serratosa (SSAI: Sensorial Systems Applied to the Industry)
francesc.serratosa@urv.cat
http://deim.urv.cat/~francesc.serratosa/
● Title: Computation of Non Radial Forces and Torques of Spirals and Bars in
Disk Galaxies Using Finite Elements
Abstract: The disk of spiral galaxies are far from homogeneus. They show
spectacular structures in the form of spiral arms or central bars. These structures
can be seen as perturbations of the radial density distribution of mass. The stronger
these perturbations are, the stronger will be the perturbations on the radial forces
that drive the radial orbits of the disks. We propose the computation of the
non-radial forces due to these estructures in real galaxies, using the technique of
Finite Elements, which can be used to solve Poisson Equation to obtain accurately
the potential generated by the disk mass distribution.
Keywords: finite elements, disk galaxy
Advisor: Dr. Carlos Garcia Gómez (carlos.garciag@urv.cat)
● Title: Hardware Acceleration of Gaussian Elimination for Binary Matrices
Abstract: While quantum computers are rapidly becoming more powerful, the
current cryptographic infrastructure is imminently threatened. In a preventive
manner, the U.S. National Institute of Standards and Technology (NIST) has initiated
a process to evaluate quantum-resistant cryptosystems, to form the first
post-quantum (PQ) cryptographic standard. Classic McEliece, a code-based
cryptosystem, is one of the most prominent ones in NIST’s PQ cryptography
contest. However, its computational cost poses notable challenges to a big fraction
of existing computing devices. One of the most expensive operations of the key
In collaboration with:
46. generation algorithm is Gaussian elimination. This project is dedicated to the
hardware acceleration of Gaussian elimination for binary matrices in order to speed
up the execution of key generation algorithm.
Keywords: Classic McEliece, Gaussian Elimination, Post-quantum Cryptography
Advisor: Dr. Oriol Farràs (oriol.farras@urv.cat)
● Title: An Automated Reward Mechanism for Git
Abstract: Git is a software that is used to coordinate work among different
connected users working on the same project. The refund for contributions made to
the common project are hard to manage. Recent advances on blockchain
technology and consensus mechanisms create new opportunities for services using
distributed ledgers. In cases in which a git project involves the agreement and
collaboration of many parties, we could model it as a ledger. In this project we will
explore the possibility of using blockchain to implement a consensus mechanism
with rewards over git projects. It will include automated tests that will check
contributions of parties. If a contribution is valuable and is considered to be useful
for the project, it will be included to the blockchain, and the contributor will receive a
reward that is proportional to the value of the contribution.
Keywords: Blockchain, Git, Consensus Mechanism
Advisor: Dr. Oriol Farràs (oriol.farras@urv.cat)
● Title: Improving hologram generation/communication through software
systems
This is a project in collaboration with the Barcelona Mobile World Capital Foundation
(https://mobileworldcapital.com/en/)
Abstract: A hologram is made by superimposing a second wavefront on the
wavefront of interest, thereby generating an interference pattern which is recorded
on a physical medium. Holograms can be computer-generated by modelling the two
wavefronts and adding them together digitally. The resulting digital image is then
printed or projected onto a suitable film or mask and illuminated by a suitable source
to reconstruct the wavefront of interest. In the last few years holograms are routinely
generated (at a 4K level of quality) but it is necessary to improve the latency to
facilitate the communication person/hologram and hologram/hologram.
Keywords: Holography, Real time systems, Inteligent Networks
Advisor: Dr. Manel Sanromà (manuel.sanroma@urv.cat)
In collaboration with:
47. ● Title: Developing Interactive Museums Trough Stereoscopic Holograms
This is a project in collaboration with the Barcelona Mobile World Capital Foundation
(https://mobileworldcapital.com/en/)
Abstract: A hologram is made by superimposing a second wavefront on the
wavefront of interest, thereby generating an interference pattern which is recorded
on a physical medium. Holograms can be computer-generated by modelling the two
wavefronts and adding them together digitally. The resulting digital image is then
printed onto a suitable mask or film and illuminated by a suitable source to
reconstruct the wavefront of interest. This technology can improve Museums by
opening up new forms of real time interaction with the public, and new information
systems must be developed for that purpose.
Keywords: Holography, Real time systems, Inteligent Networks
Advisor: Dr. Manel Sanromà (manuel.sanroma@urv.cat)
● Title: Towards the Metaverse: interaction of Digital Twins
This is a project in collaboration with the Barcelona Mobile World Capital Foundation
(https://mobileworldcapital.com/en/)
Abstract: A digital twin is a virtual representation that serves as the real-time digital
counterpart of a physical object or process. There is a growing interest in all types of
industries to enable these systems to interact so to be able to replicate the real
world in a virtual environment where real time realistic experimentation is possible,
before implementing it in the real world. New information systems must be
developed to build this new virtual world, already known as the Metaverse
(https://youtu.be/EXhRIKHduC0)
Keywords: Digital Twins, Real Time Systems, Industry 4.0
Advisor: Dr. Manel Sanromà (manuel.sanroma@urv.cat)
● Title: Real Time Management of Urban Furniture
This is a project in collaboration with the Barcelona Mobile World Capital Foundation
(https://mobileworldcapital.com/en/)
Abstract: Modern cities face many challenges and one of them is the intelligent
management of Public Space. Urban Furniture (i.e. Benches, Streetlights,
Fountains, Litter Bins, Waste Receptacles, Public Sculptures…) along with Parks,
Streets and Public Areas in general constitute the Urban Landscape where life
unfolds in the City. The intelligent management of all these assets needs the
development of new hardware and software.
In collaboration with:
48. Keywords: 5G, Smart Cities, Real Time Systems
Advisor: Dr. Manel Sanromà (manuel.sanroma@urv.cat)
● Title: Remote Monitoring of Patients
This is a project in collaboration with the Barcelona Mobile World Capital Foundation
(https://mobileworldcapital.com/en/)
Abstract: Existing systems of patient remote monitoring need to be improved, both
in hardware and software, if precission monitoring is to attend a high level of both
care efficiency and simplicity so that real high usage levels are achieved.
Keywords: Telemedicine, Remote monitoring, Sensors
Advisor: Dr. Manel Sanromà (manuel.sanroma@urv.cat)
● Title: Pattern Identification in Industrial Environments
This is a project in collaboration with the Barcelona Mobile World Capital Foundation
(https://mobileworldcapital.com/en/)
Abstract: Mass identification of industrial material through pattern recognition and
high speed Bar/QR code lecture, has become a routine practice in high efficiency
industrial environments. Combining these techniques with Edge Computing can
improve even further the efficiency of multiple industrial processes and is already
producing interesting first applications.
Keywords: Pattern Recognition, Edge Computing, Industry 4.0
Advisor: Dr. Manel Sanromà (manuel.sanroma@urv.cat)
● Title: Culturomics with Big Data Libraries
Abstract: Culturomics is a form of computational lexicology that studies human
behavior through the quantitative analysis of digitized texts. We aim at applying it to
Big Data Libraries, like Google Books (tens of millions of scanned books), Google
Scholar (hundreds of millions of digitized academic papers) and others, in order to
be able to answer questions related to historical and cultural facts.
Keywords: Big Data, Computational lexicology, Digital Libraries
Advisor: Dr. Manel Sanromà (manuel.sanroma@urv.cat)
● Title: Transparent migration of Applications to the Cloud
Abstract: The fundamental goal is to simplify and optimize the development and
In collaboration with:
49. Deployment of Cloud/Edge applications. On the one hand, it is necessary to devise
next generation programming abstractions and environments that try to
transparently cope with code and data distribution, communication, fault-tolerance,
and security. When possible we will target transparent interception technologies like
software virtualization enabling automated transition of legacy applications. On the
other hand, it is necessary to transparently optimize the deployment and execution
of serverless Cloud/Edge Applications. Our middleware must optimize according to
different criteria like cost engineering, energy efficiency, latency, and even
user-driven privacy parameters or preferences. Finally, AI techniques may be
employed here to provide a cognitive layer or intelligent control plane for
applications. Potential collaboration with IBM researchers.
Tools: Python, Python multiprocessing, Lithops, redis, IBM Cloud
Advisor: Pedro Garcia Lopez (pedro.garcia@urv.cat)
References:
https://github.com/lithops-cloud/lithops
https://cloudbutton.eu
https://martinfowler.com/articles/serverless.html
https://dl.acm.org/doi/10.1145/2831347.2831354
● Title: Mobile acoustic pollution detection
Abstract: The goal of this project is to develop a Mobile app that captures sound
from Mobile microphone, and analyzes it using Machine learning to determine
sound decibels and noise source (traffic, train, people, music). The group has an
initial prototype but the sound meter detector and training model must be
considerably improved. The project will also generate noise maps aggregating data
from múltiple user devices. The project must develop a Cloud-edge architecture
ensuring the scalability of the solution for many users.
Tools: Kotlin, Java, Android
Advisor: Pedro Garcia Lopez (pedro.garcia@urv.cat)
References:
https://github.com/lithops-cloud/lithops
https://cloudbutton.eu
https://martinfowler.com/articles/serverless.html
https://dl.acm.org/doi/10.1145/2831347.2831354
● Tite: Serverless Data Driven Analytics Middleware
In collaboration with:
50. Abstract: The goal of this task is to devise novel data-driven serverless systems and
middleware that can cope with the increasing volume, speed, variety, complexity,
and diversity of data across edge/cloud architectures. We must avoid task-centric
approaches, and focus on automated data-driven systems that automatically
allocate serverless resources depending on the data volume and locating them
intelligently in the correct locations of the data path or IO stack. This project will aim
to provide computation close to the data and locality to data-driven applications. We
will study a variety of data management techniques including data preprocessing,
partitioning, transformation, and their serverless placement close to Cloud Object
Storage or in other extremes of the data path. We may leverage geospatial or
genòmic Big Data pipelines from the cloudbutton project.
Potential collaboration with IBM researchers.
Tools: Python, Lithops, Big data pipelines (Geospatial, genomic), Dask
Advisor: Pedro Garcia Lopez (pedro.garcia@urv.cat)
References:
https://github.com/lithops-cloud/lithops
https://cloudbutton.eu
https://martinfowler.com/articles/serverless.html
https://dl.acm.org/doi/10.1145/2831347.2831354
● Title: Edge-centric Computing Middleware
Abstract: The goal is to develop an Edge centric middleware for the development of
Web and Mobile Applications. The idea is to leverage the resources in the Edge
(Mobile phones, tablets, PCs, laptops) to minimize the use of resources in the Cloud
(and therefore its cost). The idea is to explore pure transparency for Web or Mobile
Applications, like for exemple Wordpress sites. We will also explore a minimal
Backend as a Service System for deploying Cloud-Edge Applications. We will use
Cloud services like Cloud Object Storage, VMs, and Serverless Functions.
Advisor: Pedro Garcia Lopez (pedro.garcia@urv.cat)
References:
https://github.com/lithops-cloud/lithops
https://cloudbutton.eu
https://martinfowler.com/articles/serverless.html
https://dl.acm.org/doi/10.1145/2831347.2831354
§
In collaboration with:
51. New final master's degree project ideas:
Any student wishing to do so may also propose a new final master's degree project idea (as
long as it bears a direct relationship with the content of the master's degree) and ask to
team up with a project supervisor from another institution. Whatever the case may be, we
must also find a professor from the master's degree who is willing to co-supervise the
project alongside the third-party supervisor. Students who would like to choose this route
must write up a one-page document containing a description of the topic, justification of
their interest in pursuing this line of research, the master's degree courses they have taken
(or are currently taking) that are related to the topic, and the contact information of the
third-party supervisor. To find a master's degree professor to co-supervise their project,
students will follow the same process as explained above, with the added requirement of
attaching the one-page document to the email in which they lay out their proposal.
Below is a list of links to master's degree final projects written by former students.
Related final master's degree projects in the UOC's institutional repository, O2:
In English:
■ An open-source development environment for self-driving vehicles
■ Impact evaluation of clustering-based k-anonymity for recommendations
■ Metaheuristic algorithms for solving the multi-depot arc routing problem
■ Simulation of the mechanical behaviour of a historical church
■ The center-focus and ciclicity problems: an implementation of the Lyapunov method
and the interpolation technique.
In collaboration with:
52. In Spanish:
■ Análisis de datos clínicos en una Unidad de Cuidados Intensivos
■ Aprendizaje supervisado en conjuntos de datos no balanceados con redes
neuronales artificiales
■ Jerarquías emergentes en redes complejas
■ Simulación de sistemas flexibles: el caso del aerogenerador
■ Solució d'alt rendiment per a química computacional
■ Tecnologías que mejoran la privacidad en los sistemas de recomendación
7. Teaching figures
Master's degree director
This person is responsible for the entire degree, which means coordinating the course
professors and ensuring that the master's degree and its content meet quality standards.
As this is a joint degree, there are two directors, one from each of the participating
universities:
In collaboration with:
53. Dr Dolors Puigjaner
Department of Computer Engineering and Mathematics (URV)
dolors.puigjaner@urv.cat - http://deim.urv.es/~dolors.puigjaner/
Dr Javier Panadero
Faculty of Computer Science, Multimedia and Telecommunications (UOC)
jpanaderom@uoc.edu - https://www.researchgate.net/profile/Javier_Panadero
Tutor
This is a student's go-to person when they have queries or doubts about their studies. The
tutor advises, guides and provides overall help to their students throughout the master's
degree. Students can get in touch with their assigned tutor at any time through the Virtual
Campus's tutoring classroom or by email.
Teaching team
Professors are responsible for organizing their courses, which includes organizing
resources and creating useful teaching opportunities. They also help guide their students'
on the path to learning and academic achievement. They serve as a guide and an
academic example for their students, ensuring bespoke training and fair continuous and
final assessment. For more information on all of the master's degree professors, visit
https://studies.uoc.edu/en/university-masters-degrees/computational-mathematical-enginee
ring/teaching-team.
In collaboration with:
54. 8. Research
UOC research groups related with the master's degree:
■ Distributed, Parallel, and Collaborative Systems (DPCS): DPCS specializes in
the development and optimization of distributed and parallel systems and
algorithms at different scales (small groups, clusters or internet). It focuses
primarily on decentralized systems composed of non-dedicated resources. The
group also undertakes research on the design of online collaboration systems and
their applications.
■ Internet Computing & Systems Optimization (ICSO): ICSO-HAROSA is an
official programme run by the UOC's Internet Interdisciplinary Institute
(http://in3.uoc.edu). The reach of this programme, coordinated by two IN3
research groups, DPCS and GRES-UOC, is decidedly international.
ICSO-HAROSA specializes in the development of hybrid algorithms and software
to solve optimization problems in the fields of logistics, transport, production and
internet systems. It involves researchers from different Spanish universities as well
as from other countries, including the UK, USA, France, Portugal, Germany,
Austria, Chile, Argentina and Colombia.
■ Scene Understanding and Artificial Intelligence Lab (SUNAI): SUNAI carries
out research related to computer vision, and within this field, it specializes in
high-level image interpreting. Its main research lines are facial expression
recognition and analysis, gesture and non-verbal language analysis (2D and 3D),
In collaboration with:
55. object recognition, and space and scene understanding.
■ Software Engineering Research Group (GRES-UOC): GRES-UOC carries out
research in software modelling and building in complex systems and problems.
Specifically, it studies the use of formal methods, knowledge representation and
constraint programming and their applications in different contexts, including
educational.
URV research groups related with the master's degree
■ Criptografía y Secreto Estadístico (CRISES): The goal of the CRISES research
group – UNESCO Chair in Data Privacy is to create and disseminate technologies
for reconciling privacy, security and functionality in the services provided by the
information society. The group is led by Prof. Josep Domingo-Ferrer and currently
has 26 members, including 13 doctoral degree holders. It has been funded
continuously as a consolidated group by the Government of Catalonia since 2002.
Among other research projects, the group takes part in the CONSOLIDER "ARES"
team (coordinated by Prof. Domingo-Ferrer), in the European 7th Framework
Programme's "Inter-Trust" and "Data Without Boundaries" projects, and in a number
of projects funded by the Catalan and Spanish governments. The group holds
several patents, most of which are being actively exploited, and has created the
spin-off known as STAITEC. The group's manager has received a number of
distinctions, including the Narcís Monturiol medal for scientific and technological
merit, awarded by the Government of Catalonia.
■ Bioinformatics and Environmental Engineering & Chemistry (BIOCENIT):
BIOCENIT is a research group specialized in the study, characterization and
modelling of complex systems. The group's activity is structured around three main
research lines: (i) computational modelling and environmental engineering; (ii)
operations research and biostatistics; and (iii) city science. The group is a former
and present participant in several national and international research projects (NSF,
EU FP6 and FP7) and is an active member of several transnational networks and
In collaboration with:
56. organizations (NanoSafety Cluster, InnaTox, City Protocol Society).
■ Codes, Privacy, and Algebraic Combinatorics (COPRICA1): This research group
specializes in the applications of discrete mathematics in code theory, privacy,
cryptography and other areas. It also works on more theoretical topics such as
algebraic geometry, finite geometry or algebraic and enumerative combinatorics.
■ Research Group on Artificial Intelligence (Banzai): Banzai specializes in
studying and developing smart systems for medicine. It uses techniques such as
data mining, machine learning, engineering and knowledge representation to solve
different medical problems. These include modelling care procedures, integrating
treatments for patients with several diseases, studying treatment compliance and
costs, or analysing the data generated by care information systems. Each year, the
group organizes the international workshop Knowledge Representation for Health
Care (KR4HC) and, with the publishing company Springer, publishes the
homonymous book collection, within the Lecture Notes in Artificial Intelligence
series.
■ Intelligent Technologies for Advanced Knowledge Acquisition (ITAKA): ITAKA
was founded in January 2007 by Dr Antonio Moreno and Dr Aida Valls, following in
the footsteps of the successful Working Group on Multi-Agent Systems (GruSMA),
which operated from 2000 to 2006. Its main research lines are distributed systems
and data aggregation. The two lines' results are being applied mainly in medicine,
tourism and the environment.
■ Discrete and Continuous Dynamical Systems (DCDYNSYS): This research
group works in different branches of what is known generically as dynamical
systems, encompassing both the discrete and the continuous variants. In its work, it
studies both the theoretical aspects and the applications of dynamical systems in
different areas of knowledge (e.g. medicine, biology and chemistry).
■ Discrete Mathematics (MATDISC): This group specializes in the study of discrete
mathematical structures, with particular emphasis on the problems related with
In collaboration with:
57. graph theory and hypergraphics.
■ Algorithms Embedded in Physical Systems (Alephsys): The Alephsys research
group specializes in the analysis of complex systems, with particular emphasis on
complex networks. Complex networks are ubiquitous: in biology, there are
ecological and biochemical networks; in economics, there are transaction networks;
in technology, we have internet, telephone communications and transport networks;
in sociology, there are the social and collaborative networks, to name just a few
examples. Today, computers and technology in general are continuously generating
all sorts of data (known as big data). However, it is not easy to extract information
from this data. Complex network analysis techniques do just this, however,
analysing their structure, identifying key components and understanding the
relationships between structure and dynamics. Among the most interesting
dynamics are the spread of epidemics, the creation of fail-safe networks and the
appearance of emerging phenomena, which are all studied within Alephsys.
■ RIVI (Robotics and Intelligent Vision): this research group is composed of both
professors of the Department of Computer Engineering and Mathematics and the
Department of Electrical, Electronic and Automatic Engineering. The RIVI group is
dedicated to the development of innovative solutions in various areas of robotics
and artificial vision through the application of advanced computing techniques. Its
research lines include image analysis and processing, pattern recognition, 3D
modelling, mobile robotics, multi robot exploration, etc.
■ CloudLab: This group combines a multidisciplinary team focused on the study of
distributed systems and telematic services. The group's research focuses on the
creation of new distributed services and middleware infrastructures for the storage,
sharing and distribution of information in different work environments (collaborative,
educational, medical, etc.). In particular, the group has important contributions to
large-scale distributed systems (Cloud, P2P) and adaptive and regional middleware.
One of its main lines of research focuses on the development of adaptive systems
and network storage.
In collaboration with:
58. ■ Smart Technologies Research: The Smart Technologies research group focuses
on the application of ICT to the creation of contextual environments and their
applications. The main areas of application and study are: smart cities, smart health,
smart transportation, computer security, the fight against cybercrime and privacy
protection.
PhD grants
Both the URV and the UOC offer PhD grants for students who have finished their
master's degrees and want to complete a doctoral programme. Some related links are
included below:
■ URV PhD grants
■ UOC doctoral degree grants
Other grant and funding opportunities in Europe can be found at:
■ Euraxess portal
In collaboration with:
59. 9. Relevant links
Information about the master's degree on the URV website:
https://www.urv.cat/en/studies/master/courses/computational-engineering/
Information about the master's degree on the UOC website:
http://cv.uoc.edu/estudiant/mes-uoc/en/universitat/plans/MS87/index.html#seccio-5
10. Student help services
Please send us any queries or issues you may have in relation to the master's degree through
the Help Service option located on the top menu on the UOC's Virtual Campus. Bear in mind,
however, that the URV is the coordinating university, which means it takes care of most of the
procedural aspects of the degree:
● enrolment modifications, validations, certificate requests, requests to move up or
push back the final project presentation, etc.:
https://www.urv.cat/en/studies/master/administrative-procedures/
● Secretary's Office (enrolled students): matricula.scs@urv.cat
In collaboration with: