Competencias y objetivos

 

Contexto de la asignatura para el curso 2024-25

La asignatura Programación Avanzada y Estructuras de Datos se cursa durante el primer cuatrimestre del segundo curso del Grado en Ingeniería en Inteligencia Artificial. En esta asignatura se introduce C++ como representante de los lenguajes de nivel medio, por lo que se recomienda haber superado la asignatura Programación II y manejar con soltura la programación orientada a objetos en Python.

Esta asignatura se cursa en paralelo con Algoritmia y Optimización, con la que comparte contenidos sobre complejidad espacial y temporal de los algoritmos.

 

 

Competencias de la asignatura (verificadas por ANECA en grados y másteres oficiales) para el curso 2024-25

Competencias Transversales

  • CT01 : Utilizar de forma habitual las herramientas informáticas, así como las tecnologías de la información y las comunicaciones, en todo su desempeño profesional.
  • CT02 : Comunicar de forma oral y escrita transmitiendo información, ideas, problemas y soluciones a un público tanto especializado como no especializado.

 

Competencias Generales

  • CG2 : Conocer, seleccionar y aplicar métodos de los diferentes campos de la inteligencia artificial para la resolución de problemas de ingeniería.
  • CG3 : Analizar fuentes documentales y adquirir conocimientos del ámbito de la inteligencia artificial para seguir los últimos avances en esta área, determinar su aplicabilidad para la resolución de problemas y adaptarse a nuevos escenarios futuros.
  • CG4 : Obtener soluciones eficientes, óptimas y/o probables aplicando los principios propios de la ingeniería y el método científico, describiendo de forma adecuada el problema y realizando una evaluación sólida de la propuesta.
  • CG7 : Resolver problemas de inteligencia artificial novedosos o multidisciplinares, mostrando iniciativa y originalidad en el desarrollo, después de analizar y entender las especificaciones planteadas
  • CG8 : Concebir, desarrollar e implantar sistemas de inteligencia artificial teniendo en cuenta aspectos de calidad y seguridad, dentro del marco normativo, además de atender a criterios medioambientales y de uso racional, ético y eficiente de recursos e información

 

Competencias Específicas

  • CE3 : Seleccionar e implementar de forma eficiente los tipos y estructuras de datos más adecuados para la resolución de problemas de inteligencia artificial
  • CE4 : Escribir programas robustos mediante lenguajes de programación de alto y medio nivel que utilicen eficientemente la memoria aplicando los tipos de datos y los métodos de gestión de memoria adecuados.

 

Competencias Básicas

  • CB1 : Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a un nivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio
  • CB2 : Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio
  • CB5 : Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía

 

 

 

Resultados de aprendizaje (Objetivos formativos)

 

1. Implementar estructuras de datos básicas como listas, árboles y grafos, especialmente con lenguajes de programación de nivel medio. 2. Distinguir
entre las representaciones alternativas de una abstracción de datos y razonar sobre la solución escogida en cuanto a coste computacional se refiere.
3. Organizar un determinado volumen de datos de la forma más racional posible en función de los requerimientos del problema a resolver. 4. Aplicar
los tipos abstractos de datos básicos aprendidos a problemas prácticos reales en el contexto de soluciones con rendimiento crítico en la inteligencia artificial.
5. Evaluar cada representación de un tipo abstracto de datos en función de su consumo de recursos determinado mediante la eficiencia espacial
y la eficiencia temporal. 6. Conectar los elementos fundamentales del paradigma orientado a objetos con los detalles de diseño e implementación
de las estructuras de datos.

1. Implementar estructuras de datos básicas como listas, árboles y grafos, especialmente con lenguajes de programación de nivel medio.

2. Distinguir entre las representaciones alternativas de una abstracción de datos y razonar sobre la solución escogida en cuanto a coste computacional se refiere.

3. Organizar un determinado volumen de datos de la forma más racional posible en función de los requerimientos del problema a resolver.

4. Aplicar los tipos abstractos de datos básicos aprendidos a problemas prácticos reales en el contexto de soluciones con rendimiento crítico en la inteligencia artificial.

5. Evaluar cada representación de un tipo abstracto de datos en función de su consumo de recursos determinado mediante la eficiencia espacial y la eficiencia temporal.

6. Conectar los elementos fundamentales del paradigma orientado a objetos con los detalles de diseño e implementación de las estructuras de datos.

 

 

 

Objetivos específicos indicados por el profesorado para el curso 2024-25

1. Comprender el concepto de tipo abstracto de datos y la separación entre especificación e implementación

2. Emplear los mecanismos de abstracción presentes en la programación orientada a objetos que posibilitan dicha separación

3. Estudiar la complejidad espacial y temporal de diferentes representaciones e implementaciones de un tipo abstracto de datos, y ser capaz de elegir la más adecuada en un contexto determinado

4. Conocer las propiedades e implementaciones de diferentes tipos abstractos de datos: tipos lineales, conjuntos, árboles, grafos, etc.

5. Saber seleccionar la mejor estructura de datos para resolver un problema determinado

6. Conocer el funcionamiento de la gestión de la memoria (tipado, punteros, heap, pila, etc.) en lenguajes de programación de nivel medio (C++)

7. Implementar diferentes tipos abstractos de datos con lenguajes de programación de nivel medio (C++)

 

 

Datos generales

Código: 33661
Profesor/a responsable:
Sánchez Cartagena, Víctor Manuel
Crdts. ECTS: 6,00
Créditos teóricos: 1,20
Créditos prácticos: 1,20
Carga no presencial: 3,60

Departamentos con docencia

  • Dep.: LENGUAJES Y SISTEMAS INFORMATICOS
    Área: LENGUAJES Y SISTEMAS INFORMATICOS
    Créditos teóricos: 1,2
    Créditos prácticos: 1,2
    Este dep. es responsable de la asignatura.
    Este dep. es responsable del acta.

Estudios en los que se imparte