General information


Subject type: Mandatory

Coordinator: Ana Beatriz Pérez Zapata

Trimester: First term

Credits: 4

Teaching staff: 

Catherine Juan Nadal
Rosa Herrero Antón 

Teaching languages


  • Catalan

Skills


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

     

  • T2_That students have the ability to work as members of an interdisciplinary team either as one more member, or performing management tasks in order to contribute to developing projects with pragmatism and a sense of responsibility, making commitments taking into account the available resources

     

Description


The subject of Advanced Programming belongs to the subject of Programming. The topics covered in the course are designed to train students to learn, on the one hand in the use of different algorithm design techniques and on the other to make a dynamic management of memory and apply -la in the implementation of tree data structures.

To take this subject it is essential to have passed the subjects of the first year programming area: Fundamentals of Programming (FP), Object Oriented Programming (OOP) and Data Structures and Algorithms (EDA). 

Contents


  1.- DYNAMIC VARIABLE

  • Dynamic variable
  • Dynamic memory management
  • Linked sequences

2.- DATA STRUCTURES. THE TREES

  • Unstructured data types
  • Binary trees
  • Tree paths: unordered, preordered, postordered and wide
  • The TAD Binary Search Tree (CBA)

3.- ALGORISM DESIGN TECHNIQUES

  • Introduction to algorithmic schemes
  • Divide and conquer technique
  • Dynamic programming technique
  • Voracious technique
  • Backtracking technique

Evaluation system


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

WEIGHT ACTIVITY

EXAM 1 40%

EXAM 2 30%

PRACTICE 1 6%

PRACTICE 2 6%

PRACTICE 3 6%

PRACTICE 4 6%

PRACTICE 5 6%

With the above weights, laboratory (practical) activities have a weight of 30%, theoretical activities have a weight of 70%.

To pass the course it is necessary that the student:

  • have completed at least one of the first two internships, and that the grade be greater than or equal to 4
  • have completed at least two of the last three internships, and that the grade for each is higher than or equal to 4

If these premises are not given, the subject will be suspended and in this case without the possibility of recovering it.

The previously indicated weighting only applies if the grade of both exams is greater than or equal to 4. If not applied, the final grade will be the lowest grade of the two exams. The student must compulsorily recover the part/s with a qualification lower than the minimum mark indicated.

La recovery it only makes it possible to recover the grade of the theoretical activities, EXAM 1 and/or 2, and as long as this new grade is not lower than 4, the weighting described above will be applied limiting the maximum final grade of the subject to 7 (Notable).

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

REFERENCES


Basic

Juan Nadal, Lina. Programming: Class notes and exercises. Internal publication of TCM 2020,

Complementary

Martí Narciso, Yolanda Ortega, Alberto Verdejo. Data structures and algorithmic methods. Solved exercises. Ed. Ibergaceta Publications, SL Edition 2.

 

Lewis John, Chase Joseph. Data structures with Java. Design of structures and algorithms. Ed. Pearson EDUCATION,

Barnes David, Kölling Michael. Object-oriented programming with Java. Ed. Pearson EDUCATION,

Allen Weiss, Mark. Data structures in Java. Ed. Addison Wesley,