IDENTIFYING DATA 2023_24
Subject (*) PROGRAMMING METHODOLOGIES Code 17234116
Study programme
Bachelor's Degree in Computer engineering (2010)
Cycle 1st
Descriptors Credits Type Year Period
6 Compulsory Second 1Q
Language
Català
Department Computer Engineering and Mathematics
Coordinator
FERRÉ BERGADÀ, MARIA
E-mail maria.ferre@urv.cat
Lecturers
FERRÉ BERGADÀ, MARIA
Web http://https://campusvirtual.urv.cat
General description and relevant information <div><b>DESCRIPCIÓ GENERAL de l'ASSIGNATURA</b></div><div>Trobar l’algorisme que resolgui un problema de la forma més eficient possible és una tasca complexa. Això ens fa entreveure que és indispensable tenir una metodologia per a fer-ho. Una metodologia és un conjunt de mètodes, principis, regles que permeten enfrontar de forma sistemàtica el desenvolupament d’una solució a una problema plantejat. A l’assignatura treballarem tots els aspectes necessaris per aconseguir dissenyar aquesta solució algorítmica idònia al problema plantejat i saber validar-la.</div>

Competences
Type A Code Competences Specific
 CM6 Have knowledge of and apply the basic algorithmic procedures of IT to design solutions to problems, analysing the suitability and complexity of the algorithms proposed.
 CM7 Have knowledge of, design and efficiently use the most suitable data types and structures for solving a problem.
 CM8 Be able to analyse, design, build and maintain applications that are robust, secure and efficient, choosing the most suitable paradigm and programming languages.
Type B Code Competences Transversal
Type C Code Competences Nuclear

Learning outcomes
Type A Code Learning outcomes
 CM6 Know the theoretical fundamentals of programming, in order to demonstrate a code is correct and know how to estimate its algorithmic complexity.
Understand the concept and the recursive design of algorithms.
Link the concepts of mathematical induction proof to the logic problems of the execution of parameterised programs.
Know the classic algorithms based on recursive routes and/or parallelism.
Make practical use of these concepts in the design and the construction of programs.
 CM7 Know the theoretical fundamentals of programming, in order to demonstrate a code is correct and know how to estimate its algorithmic complexity.
Understand the concept and the recursive design of algorithms.
 CM8 Make practical use of these concepts in the design and the construction of programs.
Type B Code Learning outcomes
Type C Code Learning outcomes

Contents
Topic Sub-topic
Formalization and verification of algorithms
Abstract data types
Algorithmic schemes Divide and conquer
Introduction to greedy algorithms
Backtracking

Planning
Methodologies  ::  Tests
  Competences (*) Class hours
Hours outside the classroom
(**) Total hours
Introductory activities
1 0 1
Lecture
CM6
CM7
CM8
26 24 50
IT-based practicals in computer rooms
CM6
CM7
CM8
28 56 84
Personal attention
1 0 1
 
Extended-answer tests
CM6
CM7
CM8
4 10 14
 
(*) On e-learning, hours of virtual attendance of the teacher.
(**) The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies
  Description
Introductory activities Presentation of the teachers and the subject (content, methodologies, learning outcomes, skills, bibliographic material and general recommendations. Links with others).
Lecture Theoretical classes given by the teacher. The concepts are presented and their application is shown with examples.
IT-based practicals in computer rooms Practical classes in the laboratories, where students will have to individually solve some exercises on the computer using the Java language.
From these classes will emerge the practices to be carried out as the student's personal work.
Personal attention Consultations carried out in the teacher's office during pre-established hours or agreed hours.

Personalized attention
Description

The attention to the student can be provided by e-mail, through online meetings or in person at the agreed times.


Assessment
Methodologies Competences Description Weight        
IT-based practicals in computer rooms
CM6
CM7
CM8
Several practices will be asked to be solved individually or in teams. In order to pass the subject, you will need to hand in all the practicals and obtain a minimum average grade of 5. 40%
Extended-answer tests
CM6
CM7
CM8
There will be two tests in the first call during the course.
To pass the theory part in the first call, you must have taken both tests, obtain a minimum average grade of 5, with a minimum grade of 4 in each of the two tests.

The recovery of the theory part will be with a supplementary test in the second call of the part or parts not passed in the first.
60%
Others  
 
Other comments and second exam session

MINIMUM PASS REQUIREMENTS

Passing the subject requires passing independently the theoretical part and the laboratory practices, each of the parts with a minimum average grade of 5. Additionally, the theoretical part in the first call requires a minimum of 4 in both tests, while maintaining an average of 5

EVALUATION 2nd CALL

In the event that the student does not pass the assessment in the 1st call, mechanisms are available to recover the pending part(s):

The recovery of the theory test part will be through an exam, in a format similar to the 1st call, with a total weight equivalent to the theory portion in the 1st call. Only the theory part not passed in the 1st call can be recovered.

The recovery of practices is done with the delivery of the pending practices, with the possibility of adding additional requirements with respect to the 1st call, while maintaining the same weight of each practice.

No communication or data transmission devices may be used during the exams. Failure to comply with this point automatically means failure to pass the exam.


Sources of information

Basic Peña Marí R, Diseño de programas: formalismo y abstracción, última, Prentice Hall

Complementary Jesús Bisbal Riera, Manual de algorítmica: Recursividad, complejidad y diseño de algoritmos, última, Edicions UOC
Blasco, F, Programación orientada a objetos en Java, última, Bogotà
Harris S, Ross J., Beginning algorithms, última, Wiley

Recommendations

Subjects that continue the syllabus
DATA STRUCTURES/17234115

Subjects that are recommended to be taken simultaneously
PROGRAMMING/17234114

Subjects that it is recommended to have taken before
THE FUNDAMENTALS OF PROGRAMMING II/17234131
(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.