General information

Subject type: Mandatory

Coordinator: Rosa Herrero Antón

Trimester: Third term

Credits: 4

Teaching staff: 

Joan Codina Filbà
Alfredo Rueda Unsain 

Teaching languages

  • English
  • Catalan

Practice and / or exam statements may be in English.


Basic skills
  • B2_That students know how to apply their knowledge to their job or vocation in a professional way and have the skills they demonstrate by developing and defending arguments and solving problems within their area of ​​study

  • B5_That students have developed those learning skills necessary to undertake further studies with a high degree of autonomy

Specific skills
  • EFB3_Ability to understand and master the basic concepts of discrete mathematics, logic, algorithms and computational complexity, and their application for solving engineering problems

  • EFB4_Basic knowledge of the use and programming of computers, operating systems, databases and computer programs with application in engineering

Transversal competences
  • T1_That students know a third language, which will be preferably English, with an adequate level of oral and written form, according to the needs of the graduates in each degree


This subject closes the block of the programming subjects of the first course. It is divided into four: the first part studies the use of the most frequent volatile data stores (in memory): queues and stacks, lists, sets, maps, ... while continuing the OO approach initiated in the subjects previews. The second part is a brief introduction to recursive programming techniques. The third part shows the use of files as a non-volatile storage tool. The last part is an introduction to algorithmic complexity. 

If, for reasons related to COVID-19, the subject should be taught in a non-contact mode or in a mode that represents a significant decrease in attendance, the methodology of the sessions will be adapted to these. of this adaptation will be the one to preserve to the maximum the achievement of the knowledges and of the competitions specified in this educational plan.


1.- Data collections

  • Sequential collections (stacks, queues, lists)
  • Sets
  • Associative collections (maps or dictionaries)

2.- Recursion

  • Recursive Algorithms Vs. iterative algorithms
  • Recursive sequence treatment. Strategies

3.- Permanent warehouses: archives

  • I / O to and from files. Channels
  • Text files
  • Data files (binary)

4.- Introduction to algorithmic complexity

Evaluation system

The final grade of the subject (QF) will be calculated as detailed below

pe1: qualification of the first written test

pe2: qualification of the second written test

Teo: qualification of theory

Pr_i: qualification of the i-th practice

Pr: internship qualification

QPT: weighted qualification theory + practices

QF: final grade of the subject


Teo = max ((Pe1 + Pe2) / 2, Pe2)

Pr = average (Pr_i)


QPT = Pr ·0.35 + Teo ·0.65


QF = Teo and Teo <4

QF = QPT if Teo >= 4


It is the student's responsibility to prevent plagiarism in all its forms. In the case of detecting a plagiarism, regardless of its scope, in any activity, it will correspond to have a note of 0. In addition, the professor will communicate to the Head of Studies the situation so that it takes applicable measures in the matter of regime. sanctioning. In the context of this subject, plagiarism also means using and / or adapting code that has not been developed entirely individually (or within the group in the case of group activities). Facilitating the code that leads to plagiarism is also a form of plagiarism and will be treated the same way. In summary, we can say that the evaluation activities must be solved in a strictly non-collaborative way (in the case of group activities, collaboration cannot transcend the heart of the group). 



The internship part of the subject (Pr grade) is NOT recoverable.

For students attending the resit exam their Teo grade will be that obtained in this test and their final grade will be calculated using the formulas detailed above and in no case will it exceed 5.




Sesa and Nogueras. EDA: class notes, examples and exercises. Internal publication of the TCM.

Oracle Java Collections Tutorial

Java 8 API Documentation.