Algoritmia y Programación I

Usted está aquí

Créditos
7.5
Tipos
Obligatoria
Requisitos
Esta asignatura no tiene requisitos, pero tiene capacidades previas
Departamento
CS
El curso presenta los elementos de un lenguaje de programación de computadores y los fundamentos básicos de algoritmia para trabajar con datos escalares y estructurados. Durante el curso se adquirirán los conocimientos para tratar problemas de cálculo de pequeña y mediana complejidad.

Profesores

Responsable

  • Jordi Petit Silvestre ( )

Otros

  • Jordi Cortadella Fortuny ( )

Horas semanales

Teoría
3
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0.5
Aprendizaje autónomo
7

Competencias

Competencias Técnicas

Competencias técnicas

  • CE2 - Ser capaz de programar soluciones a problemas de ingeniería: Diseñar soluciones algorítmicas eficientes a un problema computacional dado, implementarlas en forma de Programa robusto, estructurado y mantenible, y comprobar la validez de la solución.

Competencias Transversales

Transversales

  • CT5 - Uso solvente de los recursos de información. Gestionar la adquisición, la estructuración, el análisis y la visualización de datos e información en el ámbito de especialidad y valorar de forma crítica los resultados de dicha gestión.
  • CT6 - Aprendizaje autónomo. Detectar deficiencias en el propio conocimiento y superarlas mediante la reflexión crítica y la elección de la mejor actuación para ampliar dicho conocimiento.
  • CT7 - Tercera lengua. Conocer una tercera lengua, preferentemente el inglés, con un nivel adecuado oral y escrito y en consonancia con las necesidades que tendrán los titulados y tituladas.

Básicas

  • CB5 - Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía

Competencias Técnicas Genéricas

Genéricas

  • CG1 - Concebir sistemas computacionales que integren datos de procedencias y formas muy diversas, creen con ellos modelos matemáticos, razonen sobre dichos modelos y actúen en consecuencia, aprendiendo de la experiencia.
  • CG2 - Elegir y aplicar los métodos y técnicas más adecuados a un problema definido por datos que representen un reto por su volumen, velocidad, variedad o heterogeneidad, incluidos métodos informáticos, matemáticos, estadísticos y de procesado de la señal.
  • CG5 - Poder recurrir a conocimientos fundamentales y metodologías de trabajo sólidas adquiridos durante los estudios para adaptarse a los nuevos escenarios tecnológicos del futuro.

Objetivos

  1. Ser capaç de resoldre problemes de càlcul de petita i mitjana complexitat utilitzant tècniques algorísmiques i de programació.
    Competencias relacionadas: CB5, CT5, CT6, CT7, CE2, CG1, CG2, CG5,

Contenidos

  1. Conceptes bàsics de programació.
    Introducció a conceptes bàsics de programació: algorisme, programa, variables, expressions, assignacions. Instruccions condicionals (if) i iteratives (while, for). Resolució de problemes amb dades escalars: màxim de dos nombres, nombres primers, màxim comú divisor.
  2. Funcions i recursivitat.
    Funcions: disseny i pas de paràmetres. Exemples de disseny de funcions. Disseny recursiu. Exemples de recursivitat simple (factorial, escriure la representació d'un nombre en binari). Exemples de recursivitat múltiple (Fibonacci, Hanoi).
  3. Vectors.
    Representació d'estructures de dades amb vectors. Algorismes de recorregut i cerca. Algorismes d'ordenació de vectors: inserció, sel.lecció i fusió. Anàlisi de la seva complexitat.
  4. Invariants i anàlisi de complexitat.
    Disseny i raonament de bucles amb invariants. Anàlisi de complexitat d'algorismes. Notació O Gran. Exemples d'anàlisi de complexitat amb iteracions i recursivitat.
  5. Matrius i tuples.
    Algorismes bàsics sobre matrius (suma, simètrica, transposada, multiplicació). Cerca en matrius. Tuples, disseny d'estructures de dades i exemples d'utilització.
  6. Càlculs amb nombres reals.
    Representació de nombres reals. Algorismes amb nombres reals: suma de sèries, mètode de Newton-Raphson, aproximació d'integrals definides. Polinomis: representació i operacions bàsiques.
  7. Algorismes bàsics de càlcul.
    Algorismes amb complexitat logarítmica (potència, Fibonacci). Algorismes geomètrics: puntes, rectes i poligons. Sistemes d'equacions: eliminació Gaussiana.
  8. Algorismes combinatoris.
    Generació de permutacions. Cicles en permutacions. Subseqüències que sumin una constant. Camins en una graella. Resolució d'un sudoku.

Actividades

Actividad Acto evaluativo


Aprenentatge sobre conceptes bàsics de programació.

L'alumne assistirà a classe per adquirir els coneixements teòrics. Addicionalement haurà de consolidar aquests conceptes amb el seu estudi personal i amb la resolució dels problemes proposats a classes de laboratori.
Objetivos: 1
Teoría
6h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

Aprenentage sobre funcions i recursivitat.

L'alumne assistirà a classe per adquirir els coneixements teòrics. Addicionalement haurà de consolidar aquests conceptes amb el seu estudi personal i amb la resolució dels problemes proposats a classes de laboratori.
Objetivos: 1
Teoría
6h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

Aprenentatge sobre vectors.

L'alumne assistirà a classe per adquirir els coneixements teòrics. Addicionalement haurà de consolidar aquests conceptes amb el seu estudi personal i amb la resolució dels problemes proposats a classes de laboratori.
Objetivos: 1
Teoría
6h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

Aprenentatge sobre invariants i anàlisi de complexitat.

L'alumne assistirà a classe per adquirir els coneixements teòrics. Addicionalement haurà de consolidar aquests conceptes amb el seu estudi personal i amb la resolució dels problemes proposats a classes de laboratori.
Objetivos: 1
Teoría
3h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Matrius i tuples.

L'alumne assistirà a classe per adquirir els coneixements teòrics. Addicionalement haurà de consolidar aquests conceptes amb el seu estudi personal i amb la resolució dels problemes proposats a classes de laboratori.
Objetivos: 1
Teoría
6h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

Càlculs amb nombres reals.

L'alumne assistirà a classe per adquirir els coneixements teòrics. Addicionalement haurà de consolidar aquests conceptes amb el seu estudi personal i amb la resolució dels problemes proposats a classes de laboratori.
Objetivos: 1
Teoría
6h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

Aprenentatge sobre algorismes bàsics de càlcul.

L'alumne assistirà a classe per adquirir els coneixements teòrics. Addicionalement haurà de consolidar aquests conceptes amb el seu estudi personal i amb la resolució dels problemes proposats a classes de laboratori.
Objetivos: 1
Teoría
6h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

Aprenentatge sobre algorismes combinatoris.

L'alumne assistirà a classe per adquirir els coneixements teòrics. Addicionalement haurà de consolidar aquests conceptes amb el seu estudi personal i amb la resolució dels problemes proposats a classes de laboratori.
Objetivos: 1
Teoría
6h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

Prova de laboratori



Semana: 7 (Fuera de horario lectivo)
Tipo: examen de laboratorio
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
2h
Aprendizaje autónomo
3h

Prova de laboratori



Semana: 15 (Fuera de horario lectivo)
Tipo: examen final
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
2h
Aprendizaje autónomo
2h

Prova de teoria



Semana: 15 (Fuera de horario lectivo)
Tipo: examen final
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
2h
Aprendizaje autónomo
10h

Metodología docente

Els continguts teòrics de l'assignatura s'imparteixen a les classes de teoria. Aquestes classes es complementen amb exemples pràctics i problemes que els estudiants han de resoldre en les hores d'Aprenentatge Autònom.

En les sessions de laboratori es consoliden els coneixements adquirits a les classes de teoria mitjançant la resolució de problemes de programació relacionats amb els continguts teòrics. Durant les classes de laboratori, el professor anirà introduint noves tècniques i deixarà una part important de la classe per tal que els estudiants treballin en els exercicis proposats.

Método de evaluación

Hi ha dues proves que es fan al laboratori: una parcial (PL) i una final (FL). També hi ha un examen final escrit (FT).

La nota FINAL es calcula d'acord amb la fórmula:

0,6 max{0,3 PL + 0,7 FL, FL} + 0,4 FT.


La nota de REAVALUACIÓ es calcula d'acord amb la fórmula:

0,6 RL + 0,4 RT

on RL és la nota de de l'examen de laboratori a la reavaluació i RT és la nota de l'examen de teoria a la reavaluació.

Bibliografía

Básica:

Capacidades previas

Cal que l'estudiant tingui els coneixements sobre matemàtiques i raonament computacional adquirits a nivell de Batxillerat.

Adenda

Contenidos

NO HI HA CANVIS RESPECTE LA INFORMACIÓ PUBLICADA A LA GUIA DOCENT

Metodología docente

NO HI HA CANVIS RESPECTE LA INFORMACIÓ PUBLICADA A LA GUIA DOCENT

Método de evaluación

NO HI HA CANVIS RESPECTE LA INFORMACIÓ PUBLICADA A LA GUIA DOCENT

Plan de contingencia

En cas de suspensió de l'activitat docent presencial, les classes presencials es faran de forma no presencial síncrona utilitzant streaming i videoconferència.