Identifying Data 2023/24
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 Nesta asignatura ensínase un enfoque baseado en enxeñería para o desenvolvemento de software, utilizando o proceso de deseño: unha serie común de pasos que empregan os enxeñeiros para crear software. Para iso, ensinarase aos estudantes como aplicar o proceso de deseño de enxeñería para deseñar, desenvolver, manter, probar e avaliar software.

Study programme competencies
Code Study programme competences
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
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 testin
- Integration tests
- Acceptance tests

Planning
Methodologies / tests Competencies Ordinary class hours 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 Description Qualification
Laboratory practice A2 A3 B2 B4 B5 B6 B7 B8 B9 C2 C3 C6 Both the individual and group 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, and they will make a group presentation of the work done.

Both in the documents (individual and group) and in the group presentation, 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.
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%

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.

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.

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

According to what is established in the Norma que regula o réxime de dedicación ao estudo e a permanencia e a progresión dos estudantes de grao e máster universitario na universidade da Coruña (aprobada polo consello social do 04/05/2017):

  1. You must bring it to the attention of the teacher in the first week of class, or, if this was not possible, within a period of no more than 7 days after the recognition was granted.
  2. They will have to carry out, individually, all the activities/work proposed throughout the course and hand them in on the dates established by the teacher. If the delivery is not completed by the specified date, it will be considered not submitted.
  3. The grade will be the weighted average of the marks for the activities and work carried out during the course and the mark of the test carried out on the date of the official exam calendar, taking into account the weighting collected in this guide, with the minimum score also being obtained in each of the parts collected in this practice to be able to pass the subject. In the event that one of the parts is not passed in the first opportunity, they must repeat the objective test in the second opportunity, the laboratory practices not being repeatable because they represent a comparative grievance for students without a dispensation.

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
Chris Riccomini, Dmitriy Ryaboy (2021). he Missing README: A Guide for the New Software Engineer. No Starch Press
Jeff Sutherland and Scrum, Inc. (2014). Scrum: The Art of Doing Twice the Work in Half the Time. Crown Business


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.