Identifying Data 2024/25
Subject (*) Software Engineering Code 614G03009
Study programme
Grao en Intelixencia Artificial
Descriptors Cycle Period Year Type Credits
Graduate 1st four-month period
Second Obligatory 6
Language
Spanish
Galician
Teaching method Face-to-face
Prerequisites
Department Ciencias da Computación e Tecnoloxías da Información
Coordinador
Alvarellos González, Alberto José
E-mail
alberto.alvarellos@udc.es
Lecturers
Alvarellos González, Alberto José
Rodríguez Castiñeira, Hadriana
Rodriguez Yañez, Santiago
E-mail
alberto.alvarellos@udc.es
hadriana.rodriguez@udc.es
santiago.rodriguez@udc.es
Web
General description Na materia de Enxeñaría do Software apréndese a aplicar principios, metodoloxías e ferramentas para o deseño, desenvolvemento, proba e mantemento de sistemas de software de alta calidade. Os estudantes adquiren habilidades en análise de requisitos, modelado de software, xestión de proxectos e técnicas avanzadas de programación. Ademais, destaca a importancia da colaboración en equipo, a documentación adecuada e as mellores prácticas do sector para garantir que os proxectos de software sexan eficientes, escalables e sostibles.

Competencies / Study results
Code Study programme competences / results
A2 Capacidad para resolver problemas de inteligencia artificial que precisen algoritmos, aplicando correctamente metodologías de desarrollo software y diseño centrado en usuario/a.
A3 Capacidad para comprender y dominar los conceptos básicos de lógica, gramáticas y lenguajes formales para analizar y mejorar las soluciones basadas en inteligencia artificial.
B2 Que el alumnado sepa aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posea 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.
B4 Que el alumnado pueda transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado.
B5 Que el alumnado haya desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía.
B6 Capacidad para concebir, redactar, organizar, planificar, y desarrollar modelos, aplicaciones y servicios en el ámbito de la inteligencia artificial, identificando objetivos, prioridades, plazos recursos y riesgos, y controlando los procesos establecidos.
B7 Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad.
B8 Capacidad para diseñar y crear modelos y soluciones de calidad basadas en Inteligencia Artificial que sean eficientes, robustas, transparentes y responsables.
B9 Capacidad para seleccionar y justificar los métodos y técnicas adecuadas para resolver un problema concreto, o para desarrollar y proponer nuevos métodos basados en inteligencia artificial.
C2 Capacidad de trabajo en equipo, en entornos interdisciplinares y gestionando conflictos.
C3 Capacidad para crear nuevos modelos y soluciones de forma autónoma y creativa, adaptándose a nuevas situaciones. Iniciativa y espíritu emprendedor.
C6 Capacidad para integrar aspectos jurídicos, sociales, ambientales y económicos inherentes a la inteligencia artificial, analizando sus impactos, y comprometiéndose con la búsqueda de soluciones compatibles con un desarrollo sostenible.

Learning aims
Learning outcomes Study programme competences / results
Carry out the process that allows, from the abstraction, to implement high quality code A2
A3
B2
B6
B7
B8
B9
C2
C3
C6
Acquire skills to solve problems in a methodological and practical way A2
A3
B5
B6
B7
B8
B9
C3
C6
Establish clearly and unambiguously the client's needs and constraints when developing requirements for a software project B4
B7
C2
C6
Analyze the alternatives to deal with and identify which aspects can be addressed with AI and which cannot B2
B4
B7
B9
C3
C6
Understand the principles needed to build complete, scalable, and robust, user-centered solutions where AI components fit together as part of a whole A2
B8
B9
C6
Be able to identify and understand models and designs of architectures and components to enable effective communication between software and data engineers B4
C2
Handle testing techniques and tools to ensure the quality of the results A3
B8
B9
C6

Contents
Topic Sub-topic
Introduction to the principles of Software Engineering - Introduction: basic concepts
Software life cycle - Introduction: concepts and terminology
- Life cycle types
- Phases of life cycles
Agile approaches - Introduction: agile approaches
- Scrum
Requirements gathering, analysis techniques - Introduction: software requirements
- Specification of requirements
Architecture and component modeling - Introduction: software models
- Modeling techniques
- Architecture models
- Component models
Software development - Introduction: software and tools
- Software management
- Good practices
Principles, processes and activities of software testing - Introduction: principles of software testing
- Unit testing
- Integration tests
- Acceptance tests

Planning
Methodologies / tests Competencies / Results Teaching hours (in-person & virtual) Student’s personal work hours Total hours
Guest lecture / keynote speech A2 A3 B2 B6 B8 B9 C3 C6 30 30 60
Laboratory practice A2 A3 B2 B4 B5 B6 B7 B8 B9 C2 C3 C6 30 48 78
Objective test A2 A3 B2 B6 B8 B9 C6 2 10 12
 
Personalized attention 0 0 0
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies Description
Guest lecture / keynote speech In the lectures, the professor will present the theoretical knowledge related to the different subjects of the subject
Laboratory practice The practical classes will be dedicated to carrying out individual and groupal works related to the subject presented in the lectures, through the use of computer tools
Objective test In the objective test, the theoretical and practical knowledge acquired in the subject will be evaluated

Personalized attention
Methodologies
Laboratory practice
Description
In the laboratory practices, both independent work and group work will be carried out, where the students will put into practice the knowledge acquired in the subject. During the completion of these tasks, the teacher will advise the students both individually and in groups to resolve any doubts or problems that the students encounter in the application of the concepts learned.

In general, student participation will be encouraged, both in practical classes and in lectures, so that the concepts presented are understood by the students.

Students with partial enrollment and/or with academic dispensation will carry out the work and tasks individually, with deliveries on the dates set by the teacher, and will have personalized attention during the tutoring hours, to clarify doubts about the work and also about the theoretical framework and practical subject.

Assessment
Methodologies Competencies / Results Description Qualification
Laboratory practice A2 A3 B2 B4 B5 B6 B7 B8 B9 C2 C3 C6 Both the group and individual work of the students will be assessed in the practices.

To demonstrate the work done, the students will present documentary evidence both individually and as a group. Both in the documents (individual and group), the following aspects will be assessed:

- Technical level.
- Completeness, clarity and justifications of the work.
- Mastery of acquired knowledge.
- Spelling and writing.

At an individual level, active participation will also be valued.
The group work could require doing a presentation of the work done.
50
Objective test A2 A3 B2 B6 B8 B9 C6 In this test, mastery of the theoretical and practical knowledge of the subject will be evaluated through an individual exam. 50
 
Assessment comments

Grading

Each student's final grade will be obtained as follows:

  • Individual written exam: 50%
  • Laboratory practice: 50%, which will be distributed as follows:
    • Individual grading: 20%.
    • Group grading: 30%

During the course the student will have the possibility of taking several optional quizzes that provide 0.5 additional points.

To pass the course it is necessary to obtain a minimum overall score of 5 out of 10 and to meet the following restrictions:

  • It is necessary to have a minimum of 4.5 out of 10 in the practice, both in the individual part and in the group independently.
  • It is necessary to have a minimum of 4.5 out of 10 in the objective test.

In the event that any of the above minimums are not met and the final grade calculated as indicated exceeds 4.0, the grade that will appear for the subject will be 4.0.

The group work may require collaborating with students from foreign universities under the COIL: Collaborative Online International Learning program, which will be reflected in the score of the practical part.

Second chance

Students who do not pass the subject may take the objective test in the call for a second chance.

Given the nature of the continuous evaluation of the practice, this part cannot be recovered.

Early opportunity

Students who have passed the practical part in the previous year could take the theoretical exam in the "early opportunity" to pass the subject.

Academic Fraud

The fraudulent completion of tests or assessment activities, once verified, will directly involve the qualification of failure in the call in which it is committed: the student will be qualified with failure (numerical grade 0) in the corresponding call of the academic year, whether the commission of the foul occurs in the first opportunity as in the second. For this, your qualification will be modified in the first opportunity report, if necessary.

Student with recognition of academic dispensation

All aspects related to "academic exemption", "dedication to study", "permanence" and "academic fraud" will be governed in accordance with the current academic regulations of the UDC.

Other considerations

  • As stated in the different regulations for university teaching, the gender perspective must be incorporated in this subject: non-sexist language will be used, bibliography by authors of both sexes will be used as much as possible, and students will be encouraged to participate in class. ..
  • Work will be done to identify and modify prejudices and sexist attitudes and influence the environment to modify them and promote values of respect and equality.
  • Situations of discrimination based on gender must be detected and actions and measures will be proposed to correct them.

Sources of information
Basic Eduardo Antonio Moraleda Gil ; Sebastián Rubén Gómez Palomo (2019 (2ª ed)). Aproximación a la Ingeniería del Software. Cerasa
Roger S. Pressman (2010 (7ª ed)). Ingeniería del Software: un enfoque práctico. McGraw-Hill
Hein Smith (2018). Scrum: The Ultimate Beginner's Guide To Learn And Master Scrum Agile Framework. CreateSpace Independent Publishing Platform

Complementary Robert C. Martin (2008). Clean Code: A Handbook of Agile Software Craftsmanship. Pearson
Henrik Kniberg (2007). Scrum and XP from the Trenches . C4Media Inc
Jeff Sutherland and Scrum, Inc. (2014). Scrum: The Art of Doing Twice the Work in Half the Time. Crown Business
Chris Riccomini, Dmitriy Ryaboy (2021). The Missing README: A Guide for the New Software Engineer. No Starch Press


Recommendations
Subjects that it is recommended to have taken before
Programming I/614G03006
Programming II/614G03007

Subjects that are recommended to be taken simultaneously

Subjects that continue the syllabus

Other comments


(*)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.