ECTS credits ECTS credits: 6
ECTS Hours Rules/Memories Hours of tutorials: 1 Expository Class: 30 Interactive Classroom: 20 Total: 51
Use languages Spanish, Galician
Type: Ordinary Degree Subject RD 1393/2007 - 822/2021
Departments: Electronics and Computing
Areas: Computer Science and Artificial Intelligence
Center Higher Technical Engineering School
Call: First Semester
Teaching: With teaching
Enrolment: Enrollable
The aim of this subject is to introduce students to the approach of more complex programming problems, through a series of basic algorithmic strategies for solving these problems. The cost in computational resources of the different alternatives will be analysed and, as paradigmatic cases, the main search and sorting algorithms and some of their applications will be described and characterised. Finally, training in non-linear data structures will be completed by considering the formalisation and resolution of problems using graphs.
Learning outcomes:
- Know how to solve problems of different types, understanding the complexity and suitability of the proposed solutions.
- Know the basic algorithmic strategies for the design of efficient algorithms.
- Know how to apply efficient algorithms to classical problems, such as sorting and searching.
- Know how to determine the spatial and temporal complexity of the different algorithms.
- Understand and master graph-like data structures and learn to design and apply algorithms on them to solve basic AI problems.
- Learn to design and apply algorithms on graphs to solve basic AI problems.
Item 1. Algorithm analysis
Item 2. Nonlinear data structures: graphs
Item 3. Algorithmic strategies and techniques
Item 4. Search and sort algorithms
Basic Bibliography:
M.T. Goodrich, R. Tamassia, M.H. Goldwasser (2013). Data Structures and Algorithms in Python. John Wiley & Sons. ISBN: 978-1118290279.
K.A. Lambert (2014). Fundamentals of Python: Data Structures. Cengage Learning PTR. ISBN: 978-1285752006.
B.N. Miller, D.L. Ranum. (2011). Problem Solving with Algorithms and Data Structures using Python. Franklin, Beedle & Associates; 2nd edition ISBN: 978-1590282571.
Complementary Bibliography:
B. Agarwal, B. Baka (2018). Hands-On Data Structures and Algorithms with Python: Write complex and powerful code using the latest features of Python 3.7, 2nd Edition. Packt Publishing. ISBN: 978-1788995573.
B. Baka (2017). Python Data Structures and Algorithms: Improve application performance with graphs, stacks, and queues. Packt Publishing. ISBN: 978-1786467355
G. Brassard, P. Bratley. Fundamentos de algoritmia. 1ª edición. Madrid, Prentice Hall, 2002. ISBN: 84-89660-00-X (Biblioteca ETSE: A320 10 D)
The subject contributes to the development of the basic, general, and specific competences listed in the corresponding tables in the degree report:
* Basic Skills:
[BS2] Students should be able to apply their knowledge to their work or vocation in a professional manner and possess the skills that are usually demonstrated through the development and defence of arguments and problem solving within their field of study.
[BS4] Students should be able to convey information, ideas, problems and solutions to both specialist and non-specialist audiences.
[BS5] Students should have developed the learning skills necessary to undertake further studies with a high degree of autonomy.
* General Skills:
[GS1] Ability to conceive, write, organise, plan, and develop models, applications, and services in the field of artificial intelligence, identifying objectives, priorities, deadlines, resources, and risks, and controlling the established processes.
[GS2] Ability to solve problems with initiative, decision-making, autonomy, and creativity.
[GS3] Ability to design and create quality models and solutions based on artificial intelligence that are efficient, robust, transparent, and responsible.
[GS4] Ability to select and justify the appropriate methods and techniques to solve a specific problem, or to develop and propose new methods based on artificial intelligence.
* Specific skills:
[SS1] Ability to use the mathematical concepts and methods that may arise in the modelling, approach, and resolution of artificial intelligence problems.
[SS3] Ability to solve artificial intelligence problems requiring algorithms, from their design and implementation to their evaluation.
* Cross-curricular skills:
[CS2] Ability to work in a team, in interdisciplinary environments and managing conflicts.
[CS3] Ability to create new models and solutions autonomously and creatively, adapting to new situations. Initiative and entrepreneurial spirit.
[CS6] Ability to integrate legal, social, environmental, and economic aspects inherent to artificial intelligence, analysing its impacts and committing to the search for solutions compatible with sustainable development.
The methodology makes use of the Virtual Campus of USC. In the virtual classroom of the subject the students will have all the information (theory material, class presentations, practice scripts, libraries, etc.).
Theoretical lectures (20hours) will be given in 1-hour sessions throughout the course. There will be a weekly session of two and a half hours of practical work (problem solving, programming).
Students will be able to always follow their progress, as they will have the marks of the exercises and projects, they must hand in at all times in order to follow the continuous assessment model.
The skills BS2, BS4, BS5, GS1, GS2, GS3, GS4, SS1 and SS3 have associated contents in the theoretical-practical part of the subject and are explicitly assessed in the tests carried out throughout the course.
Skill CS2 is worked on fundamentally in the aspect of organisational and planning skills, decision making and problem solving, in the deliveries they have to make in classes in practical classes.
Skill CS3 is worked on mainly by encouraging creativity, critical thinking, evaluating the different possibilities of solving problems, both in theory and in practice, proposing problems to develop these skills, with changing situations, and are evaluated in the qualification of the problem to be delivered.
Skill CS6 is assessed through the inclusion of legal, social, environmental, and economic aspects in the solutions proposed to the different exercises, as well as in the explanation of exercises during the development of the expository classes.
The assessment consists of two separate individual parts, theory, and practice, and both parts must be passed independently. In addition, it is necessary to pass all the practical modules and all the theory tests and exams independently.
The practical part of the subject will be assessed through a process of CONTINUOUS ASSESSMENT:
-30% of the overall mark: delivery of practical projects during the term, with timelines and delivery/correction rules prefixed by the teaching staff.
It is used to assess the skills BS2, GS2, GS3, SS3, CS2 and CS3 by means of the periodical delivery of the practical projects proposed during the semester.
The theoretical part (70% of the overall mark) will be assessed in two parts:
-10% of the mark: Completion of tests throughout the semester.
-60% of the mark: Global exam at the end of the term.
It is used to evaluate the skills BS4, BS5, GS1, GS4, SS1 and CS6 using different questions in the theory exam and the evaluation of the exercises that are handed in during the term.
The delivery of any work (project or exercise) after the 1st of November will be associated with the consideration of PRESENTED in the grade of the subject, regardless of the attendance or not to the final exam.
RECOVERY (2nd OPPORTUNITY)
This exam may be taken by students who did not pass any of the parts in the continuous assessment, or by those who opt directly for this option.
- Theory (70% of the final mark): repetition of tests not passed and final written exam.
- Practical (30% of the final mark): completion of practical exercises not passed by proposing programming exercises to be handed in before the final exam.
In the event of fraudulent performance of exercises or tests, the provisions of the will apply
In application of the ETSE regulations on plagiarism (approved by Xunta de Escola on 01/03/2012), the total or partial copying of any practical or theory exercise will result in failure in both opportunities of the course, with a grade of 0.0 in both cases.
This subject has 6 ECTS credits, corresponding to a total workload of 150 hours. This time can be broken down into the following sections:
ON-SITE WORK (IN THE CLASSROOM):
* Lectures: 20 hours
* Problem- or case-based learning in small groups: 30 hours
* Tuition: 1 hour
Total classroom time: 51 hours
STUDENT'S PERSONAL WORK:
* Autonomous study: 39 hours
* Writing exercises, papers, etc.: 15 hours
* Programming / testing in computer: 30 hours
* Evaluation of work, projects, exams: 15 hours
Total personal work time: 99 hours
Sufficient knowledge of Python programming language and the fundamentals of linear data structures, trees and graphs is assumed. These topics are dealt with in the subjects Programming I and II, and Discrete Mathematics, all of them corresponding to the first year.
It is recommended to follow the continuous assessment model, requiring that the student attends and follows the theoretical classes and the practical classes regularly, which does the subject more bearable.
It is also earnestly recommended that the student uses the tutorial hours to clarify any doubt that could arise in the development of the subject.
The USC Virtual Campus will be used for all the teaching, publishing of the material, practice scripts and delivery of works.
The subject will be taught mainly in Spanish.
Maria Jose Carreira Nouche
Coordinador/a- Department
- Electronics and Computing
- Area
- Computer Science and Artificial Intelligence
- Phone
- 881816431
- mariajose.carreira [at] usc.es
- Category
- Professor: University Lecturer
Victor Jose Gallego Fontenla
- Department
- Electronics and Computing
- Area
- Computer Science and Artificial Intelligence
- victorjose.gallego [at] usc.es
- Category
- Professor: Intern Assistant LOSU
Monday | |||
---|---|---|---|
16:30-17:30 | Grupo /CLE_01 | Spanish | IA.11 |
Tuesday | |||
16:00-17:00 | Grupo /CLE_01 | Spanish | IA.11 |
17:00-19:30 | Grupo /CLIL_01 | Galician | IA.13 |
Wednesday | |||
17:30-20:00 | Grupo /CLIL_02 | Galician | IA.14 |
Thursday | |||
17:00-19:30 | Grupo /CLIL_03 | Galician | IA.14 |
01.13.2025 09:00-14:00 | Grupo /CLIL_02 | IA.01 |
01.13.2025 09:00-14:00 | Grupo /CLIL_03 | IA.01 |
01.13.2025 09:00-14:00 | Grupo /CLE_01 | IA.01 |
01.13.2025 09:00-14:00 | Grupo /CLIL_01 | IA.01 |
01.13.2025 09:00-14:00 | Grupo /CLIL_01 | IA.11 |
01.13.2025 09:00-14:00 | Grupo /CLE_01 | IA.11 |
01.13.2025 09:00-14:00 | Grupo /CLIL_02 | IA.11 |
01.13.2025 09:00-14:00 | Grupo /CLIL_03 | IA.11 |
01.13.2025 09:00-14:00 | Grupo /CLIL_02 | IA.12 |
01.13.2025 09:00-14:00 | Grupo /CLE_01 | IA.12 |
01.13.2025 09:00-14:00 | Grupo /CLIL_03 | IA.12 |
01.13.2025 09:00-14:00 | Grupo /CLIL_01 | IA.12 |
06.26.2025 09:00-14:00 | Grupo /CLE_01 | IA.11 |
06.26.2025 09:00-14:00 | Grupo /CLIL_03 | IA.11 |
06.26.2025 09:00-14:00 | Grupo /CLIL_01 | IA.11 |
06.26.2025 09:00-14:00 | Grupo /CLIL_02 | IA.11 |