Skip to main content

Advanced Programming and Algorithms

Credits
6
Types
Compulsory
Requirements
This subject has not requirements , but it has got previous capacities
Department
CS
Web
https://www.cs.upc.edu/~balqui/paa.html
The foundations of computing and techniques for the efficient design of algorithms are studied. Basic algorithmic techniques and their analysis are reviewed, and additional algorithm design techniques are explained. Next, the limits of computation are studied, as a result of the study of formal calculation models,
and an introduction to computational complexity is given.

Teachers

Person in charge

Others

Weekly hours

Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6

Competences

Transversals

  • CT4 [Avaluable] - Teamwork. Be able to work as a member of an interdisciplinary team, either as a member or conducting management tasks, with the aim of contributing to develop projects with pragmatism and a sense of responsibility, taking commitments taking into account available resources.
  • CT6 [Avaluable] - Autonomous Learning. Detect deficiencies in one's own knowledge and overcome them through critical reflection and the choice of the best action to extend this knowledge.
  • Basic

  • CB1 - That students have demonstrated to possess and understand knowledge in an area of ??study that starts from the base of general secondary education, and is usually found at a level that, although supported by advanced textbooks, also includes some aspects that imply Knowledge from the vanguard of their field of study.
  • CB2 - That the students know how to apply their knowledge to their work or vocation in a professional way and possess the skills that are usually demonstrated through the elaboration and defense of arguments and problem solving within their area of ??study.
  • Especifics

  • CE02 - To master the basic concepts of discrete mathematics, logic, algorithmic and computational complexity, and its application to the automatic processing of information through computer systems . To be able to apply all these for solving problems.
  • CE03 - To identify and apply the basic algorithmic procedures of computer technologies to design solutions to problems by analyzing the suitability and complexity of the proposed algorithms.
  • CE04 - To design and use efficiently the most appropriate data types and structures to solve a problem.
  • CE10 - To analyze, design, build and maintain applications in a robust, secure and efficient way, choosing the most appropriate paradigm and programming languages.
  • CE12 - To master the fundamental principles and models of computing and to know how to apply them in order to interpret, select, assess, model, and create new concepts, theories, uses and technological developments related to artificial intelligence.
  • CE13 - To evaluate the computational complexity of a problem, identify algorithmic strategies that can lead to its resolution and recommend, develop and implement the one that guarantees the best performance in accordance with the established requirements.
  • Generic

  • CG2 - To use the fundamental knowledge and solid work methodologies acquired during the studies to adapt to the new technological scenarios of the future.
  • CG4 - Reasoning, analyzing reality and designing algorithms and formulations that model it. To identify problems and construct valid algorithmic or mathematical solutions, eventually new, integrating the necessary multidisciplinary knowledge, evaluating different alternatives with a critical spirit, justifying the decisions taken, interpreting and synthesizing the results in the context of the application domain and establishing methodological generalizations based on specific applications.
  • CG8 - Perform an ethical exercise of the profession in all its facets, applying ethical criteria in the design of systems, algorithms, experiments, use of data, in accordance with the ethical systems recommended by national and international organizations, with special emphasis on security, robustness , privacy, transparency, traceability, prevention of bias (race, gender, religion, territory, etc.) and respect for human rights.
  • Objectives

    1. Learning to analyze algorithms and learning about asymptotic notations.
      Related competences: CE02, CE03, CE12, CG2, CG4,
    2. -
      Related competences: CT4, CB2, CT6, CE02, CE03, CE12, CE13, CG4, CG8,
    3. -
      Related competences: CE02, CE03, CE04, CE10, CE13, CG4, CB2, CT6,
    4. -
      Related competences: CB1, CB2, CT4, CE02, CE13, CG4,

    Contents

    1. -
      -
    2. -
      -
    3. -
      -
    4. -
      -

    Activities

    Activity Evaluation act


    -

    -
    Objectives: 1 3
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    4h

    -

    -
    Objectives: 3
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    2h
    Guided learning
    0h
    Autonomous learning
    8h

    -

    -
    Objectives: 3
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    4h
    Guided learning
    0h
    Autonomous learning
    8h

    -

    -
    Objectives: 4
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    6h

    -

    -
    Objectives: 4
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    4h
    Guided learning
    0h
    Autonomous learning
    8h

    -

    -
    Objectives: 1 3 4
    Week: 8
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    -

    -
    Objectives: 4
    Contents:
    Theory
    2h
    Problems
    0h
    Laboratory
    4h
    Guided learning
    0h
    Autonomous learning
    12h

    -

    -
    Objectives: 4
    Contents:
    Theory
    5h
    Problems
    0h
    Laboratory
    4h
    Guided learning
    0h
    Autonomous learning
    10h

    -

    -
    Objectives: 2 4
    Contents:
    Theory
    5h
    Problems
    0h
    Laboratory
    8h
    Guided learning
    0h
    Autonomous learning
    10h

    -

    -
    Objectives: 2 4
    Contents:
    Theory
    6h
    Problems
    0h
    Laboratory
    4h
    Guided learning
    0h
    Autonomous learning
    12h

    Teaching methodology

    -

    Evaluation methodology

    The assessment of part of the Algorithmic section of the course (beginning of the course) will require the development of a practical work of a modest size that will be presented at the beginning of the Dynamic Programming part and will be evaluated on its completion and delivery (grade P).

    In addition, there will be the grade for the partial (E) and the final exam (grade F). The course grade will be obtained using the following criterion:

    max(F*0.8, (E*0.3 + F*0.5)) + P*0.2

    Reassessment
    Only those who have previously taken the final exam and failed it may take the re-evaluation exam. The maximum re-evaluation grade is 7.

    Bibliography

    Basic

    Complementary

    Web links

    Previous capacities

    -