Competencies and objectives

 

Course context for academic year 2024-25

Software Engineering plays a crucial role in the field of artificial intelligence (AI) by providing the methodologies, tools and best practices necessary for the development, implementation and maintenance of robust and efficient AI systems. As AI systems become more complex, Software Engineering ensures that these systems are scalable, reliable, and sustainable over time. This includes managing the software lifecycle, from planning and design to implementation, testing and monitoring, ensuring that AI models are properly integrated into practical applications and kept up-to-date in the face of new needs and emerging technologies.

The subject addresses key concepts such as object-oriented design and programming, refactoring, agile methodologies, test-driven development and the main architectures for the deployment of AI systems. These insights enable students to develop modular and reusable AI models, ensure accuracy and reliability through rigorous testing, structure efficient systems, and create intuitive interfaces for end users.

 

 

Course content (verified by ANECA in official undergraduate and Master’s degrees) for academic year 2024-25

Transversal Competences

  • 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.

 

General Competences

  • 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.
  • CG5 : Comunicar de manera clara y precisa conocimientos, metodologías, ideas, problemas y soluciones en el ámbito de la inteligencia artificial
  • CG6 : Concebir, desarrollar y aplicar sistemas de inteligencia artificial para mejorar los sectores productivos y la sociedad actual, determinando su idoneidad y ámbito de aplicación
  • 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

 

Specific Competences

  • CE21 : Analizar, diseñar, construir, probar y mantener soluciones de inteligencia artificial de forma robusta, segura y eficiente siguiendo las metodologías y principios de la ingeniería del software

 

Basic Competences

  • 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
  • CB4 : Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado

 

 

 

Learning outcomes (Training objectives)

1. Desarrollar un conjunto de buenas prácticas para documentar adecuadamente los programas.

2. Integrar un sistema de control de versiones para el código tanto en su desarrollo a nivel individual como en grupo.

3. Diseñar la arquitectura de un sistema respetando los requerimientos y explotandolos patrones de software en el contexto de la IA.

4. Escribir e integrar en el desarrollo de una aplicación los diferentes tipos de pruebas del software (de caja blanca o caja negra, unitarias o de interfaz, etc.).

5. Escribir programas y refactorizarlos para obtener código limpio, mantenible, extensible y legible.

6. Valorar la conveniencia de usar metodologías eficientes de trabajo a la hora de desarrollar sistemas y aplicaciones.

7. Integrar prácticas de integración, despliegue y monitorización continuos en el despliegue de soluciones basadas en IA.

 

 

 

Specific objectives stated by the academic staff for academic year 2024-25

  • Understanding the life cycle of AI projects and the different roles that engineers play from planning to production.
  • Knowing the most appropriate development methodologies for AI systems.
  • Being able to guarantee the quality of developed software through the use of automated testing.
  • Knowing and using design techniques to obtain extensible and maintainable code, as well as to facilitate the understanding of code written by other people.
  • Knowing the most appropriate architectural patterns for AI systems.

 

 

General

Code: 33666
Lecturer responsible:
PEREZ SANCHO, CARLOS
Credits ECTS: 6,00
Theoretical credits: 1,20
Practical credits: 1,20
Distance-base hours: 3,60

Departments involved

  • Dept: LANGUAGES AND COMPUTING SYSTEMS
    Area: LANGUAGES AND COMPUTING SYSTEMS
    Theoretical credits: 1,2
    Practical credits: 1,2
    This Dept. is responsible for the course.
    This Dept. is responsible for the final mark record.

Study programmes where this course is taught