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 Architecture and Technology
Center Higher Technical Engineering School
Call: Second Semester
Teaching: With teaching
Enrolment: Enrollable
The main objective of this subject is to acquire the necessary knowledge to develop codes that make optimal use of the available hardware. For this purpose, the interrelation between the operating system software and the hardware on which it runs will be studied. We will also study different models of parallel systems using concurrent, shared and distributed memory, as well as the use of hardware accelerators. Finally, we will work on the understanding of the mechanisms available to analyze the performance of this type of codes in order to optimize their efficiency.
The course will be divided into the following topics:
Topic 1: Introduction to computing paradigms.
Topic 2: Fundamentals of concurrent computing.
Topic 3: Programming of shared and distributed memory parallel systems.
Topic 4: Introduction to hardware accelerators.
Topic 5: Performance analysis and optimization.
Basic bibliography:
- Zaccone, G. (2019). Python parallel programming cookbook. Packt Publishing Ltd.
- Lanaro, G., Nguyen, Q., & Kasampalis, S. (2019). Advanced Python Programming: Packt Publishing Ltd.
Complementary bibliography:
- Georg Hager, Gerhard Wellein. Introduction to High Performance Computing for Scientists and Engineers, 1st edition, 2011.
- Zaccone, G. (2015). Python parallel programming cookbook. Packt Publishing Ltd.
- John L. Hennessy, David A. Patterson. Computer Architecture. A Quantitative Approach, 6th edition, Morgan Kaufmann, 2017.
- Tanenbaum, Andrew S. (2009) Sistemas operativos modernos. Pearson Educación.
- T.G. Mattson, B.A. Sanders and B.L. Massingill, Patterns for Parallel Programming, Addison-Wesley, 2005.
- Kirk, D. B., & Wen-mei, W. H. (2013). Programming massively parallel processors: a hands-on approach. Morgan Kaufmann Publishers.
- PATTERSON, David A., HENNESSY John L. Computer Organization and Design. The Hardware/Software Interface, 5ª edición. Morgan Kaufmann, 2014, ISBN-13: 978-0124077263.
- P. Pacheco, "An Introduction to Parallel Programming", Morgan Kaufmann Publishers, 2011.
Students will acquire the basic concepts and mechanisms necessary for efficient programming in shared and distributed memory systems of Artificial Intelligence oriented applications.
The specific competences to be acquired during the study of this subject, which can be consulted in the memory of the Degree in Artificial Intelligence of the USC, are detailed below:
5.5.1.5.5.1 BASIC AND GENERAL
CG2 - Ability to solve problems with initiative, decision-making, autonomy and creativity.
CG5 - Ability to conceive new computational systems and/or evaluate the performance of existing systems, which integrate artificial intelligence models and techniques.
CB2 - That students know how 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 defense of arguments and problem solving within their area of study.
CB5 - That students have developed those learning skills necessary to undertake further studies with a high degree of autonomy.
5.5.1.5.2 TRANSVERSAL SKILLS
TR3 - Ability to create new models and solutions autonomously and creatively, adapting to new situations. Initiative and entrepreneurial spirit.
5.5.5.1.5.3 SPECIFIC
CE5 - Understand and apply the basic principles and techniques of parallel and distributed programming for the development and efficient execution of artificial intelligence techniques.
CE6 - Ability to perform the analysis, design and implementation of applications that require working with large volumes of data and in the cloud in an efficient way.
CE4 - Knowledge of the structure, organization, operation and interconnection of computer systems (computer, operating systems and computer networks).
The course has a theoretical/practical approach through a combination of lectures, where theoretical concepts will be introduced mainly, and interactive sesions, focused on the realization of activities of eminently practical character to settle the concepts presented in the lectures.
During the lectures, the teaching staff will be supported by the use of blackboard and multimedia systems to develop the fundamental contents of each one of the subjects of the course. Sufficient content will be introduced to be able to face the assignments and to pass the exam required to pass the subject. In these sessions the competences CG5, CB2, CE5 and CE4 will be worked especially.
The interactive sessions will be developed individually or in small groups and will be focused on the active work of the students in the practices or projects proposed to overcome the continuous evaluation part of the subject. In these sessions, the teaching staff will guide the students' learning and will solve the doubts raised by them. These sessions will serve to acquire the competences CG2, CB2, TR3, CE5 and CE6.
The virtual classroom will be used to facilitate the material used during the course, as well as support or complementary material. The virtual classroom will also be the only valid means of delivery for the proposed activities that require deliverables in electronic format for their evaluation.
The evaluation of the course will be divided into two parts, continuous evaluation and final exam, which weight will be 50% of the final grade each. To pass the course a passing grade must be obtained in each of these parts.
Continuous evaluation
50% of the final grade will be obtained through the participation/delivery of the continuous evaluation activities proposed during the course. Each of the proposed activities will have a specific completion date after which it will be considered as not completed.
Attendance to the laboratory classes in the assigned timetable will be mandatory when an activity is planned to be evaluated during the course of the session. These sessions will be scheduled and notified well in advance.
The activities of continuous evaluation may include, among others, the realization of exercises in small groups, presentation of reports of activities carried out or evaluation by means of follow-up tests. It is an essential condition for passing the course to achieve the minimum grade in this part, which may not be replaced by the completion of a final practical exam.
In this part of the evaluation, the competencies CG2, CB2, TR3, CE5 and CE6 will be assessed mainly.
For cases of fraudulent performance of exercises or tests, the provisions of the "Regulations for the evaluation of students' academic performance and review of qualifications" will apply.
Ordinary opportunity
There will be a theoretical and/or problem-solving exam, on the date officially designated for this purpose, in which the CG5, CB2, CE5 and CE4 competencies will be fundamentally evaluated. In order to pass the course it will be necessary to achieve a passing grade in this exam.
Extraordinary opportunity of recovery
A theoretical and/or problem-solving exam will be held under the same conditions as in the ordinary opportunity. The grade obtained in the ordinary opportunity will be maintained for the continuous evaluation grade.
No-show condition
The No-show grade will be assigned to the person who does not take the theoretical exam in any of the opportunities and has not submitted more than one of the continuous evaluation activities.
Repeating students
Repeating students will be evaluated under the same conditions as first year students.
The estimated distribution of hours of the course is divided into 20 hours of classroom activity dedicated to lectures and 30 hours of laboratory for the interactive sessions. It is also considered 1 hour of individual tutoring of the students.
In addition, it is estimated an autonomous work effort of 99 hours, dedicated to the bibliographical revision, autonomous study and development of the activities programmed in the course.
As it is established in the memory of the degree, it is a recommended requirement for the completion of this subject to have previously studied the subjects Introduction to Computers, Programming I and Programming II.
It is also recommended to attend the lecture and interactive classes as well as the continuous study of the course, making an active effort in the search for materials, performing exercises and solving the proposed practices or projects.
The USC virtual campus will be used for all teaching, publication of material, practice scripts and assignment deliveries.
The preferred language for teaching expository and interactive classes is Spanish. Some of the material and bibliography used in the subject may be in English.
Javier Lopez Fandiño
Coordinador/a- Department
- Electronics and Computing
- Area
- Computer Architecture and Technology
- Phone
- 881815504
- javier.lopez.fandino [at] usc.es
- Category
- Professor: LOU (Organic Law for Universities) PhD Assistant Professor
Wednesday | |||
---|---|---|---|
15:30-16:30 | Grupo /CLE_01 | Spanish | IA.11 |
17:30-20:00 | Grupo /CLIL_01 | Spanish | IA.11 |
Friday | |||
15:30-18:00 | Grupo /CLIL_03 | Spanish | IA.11 |
05.20.2025 09:00-14:00 | Grupo /CLIL_03 | IA.01 |
05.20.2025 09:00-14:00 | Grupo /CLIL_01 | IA.01 |
05.20.2025 09:00-14:00 | Grupo /CLE_01 | IA.01 |
05.20.2025 09:00-14:00 | Grupo /CLIL_02 | IA.01 |
05.20.2025 09:00-14:00 | Grupo /CLIL_03 | IA.11 |
05.20.2025 09:00-14:00 | Grupo /CLIL_01 | IA.11 |
05.20.2025 09:00-14:00 | Grupo /CLE_01 | IA.11 |
05.20.2025 09:00-14:00 | Grupo /CLIL_02 | IA.11 |
05.20.2025 09:00-14:00 | Grupo /CLIL_03 | IA.12 |
05.20.2025 09:00-14:00 | Grupo /CLE_01 | IA.12 |
05.20.2025 09:00-14:00 | Grupo /CLIL_01 | IA.12 |
05.20.2025 09:00-14:00 | Grupo /CLIL_02 | IA.12 |
06.27.2025 16:00-20:00 | Grupo /CLIL_02 | IA.11 |
06.27.2025 16:00-20:00 | Grupo /CLIL_03 | IA.11 |
06.27.2025 16:00-20:00 | Grupo /CLE_01 | IA.11 |
06.27.2025 16:00-20:00 | Grupo /CLIL_01 | IA.11 |