Degree | Type | Year |
---|---|---|
2503758 Data Engineering | OB | 2 |
You can view this information at the end of this document.
It is highly recommended to have studied and passed the subjects of Fundamentals of Computer Science, Fundamentals of Programming and Advanced Programming
1. Evaluate and analyze the performance of the execution of a program.
2. Understand the conversion from the source language (Python / C) to the assembler, identifying the transformations in the code.
3. Determine the data dependencies in the execution loops of the programs and use strategies to increase the parallelism at the level of instructions and data.
4. Understand the functioning of the memory hierarchy and use strategies to increase the locality of data accesses.
1. Performance Evaluation: tools to monitor and instrument the execution of a program.
2. Performance Analysis: computational complexity, factors determined by the processor architecture, and performance metrics.
3. Parallelism in the execution of Instructions: Pipeline and Vectorization.
4. Analysis of data dependencies in the execution loops.
5. Memory Hierarchy and Locality of data accesses: effect on performance.
6. Algorithmic optimization strategies: increase the parallelism and the locality of data accesses.
Title | Hours | ECTS | Learning Outcomes |
---|---|---|---|
Type: Directed | |||
Resolution of practical problems in the laboratory | 26 | 1.04 | 1, 2, 3, 4, 5 |
Theory classes | 26 | 1.04 | 6, 7 |
Type: Supervised | |||
Performance Optimization of code snippets | 26 | 1.04 | 1, 2, 3, 4, 5, 6 |
Type: Autonomous | |||
Autonomous study | 30 | 1.2 | 5, 6 |
Previous preparation and documentation of work in the laboratory | 40 | 1.6 | 1, 4, 5, 6, 7 |
Theory classes: the knowledge of the subject will be explained. The basic concepts will be described and illustrated with practical examples. The most important learning problems will be highlighted and will show how to complete and deepen the contents. Practical cases will be discussed and the teacher will detect the most common comprehension and reasoning problems and solve them for all students.
Classes of Problems in Laboratory: cooperative activities of resolution of problems and of simple practical cases will be made, that will serve as support to the theory. After a previous individual work, the students will make a group sharing and solve their doubts. The teacher will detect the most common comprehension and reasoning problems and solve them in groups or for all students. The student's analysis and synthesis capacity, critical reasoning and problem-solving ability are promoted. During the session, the students should inform the teacher about their progress and the problems that may be encountered, and they will deliver a final document with the results and reflections on their activities.
Optimization Problems: throughout the course, exercises will be proposed to transform small pieces of code so that they run in less time. Students should apply the knowledge, methodologies and strategies learned and present the result by arguing the reasons for performance improvements. Students are expected to be proactive and dynamic, and to autonomously search for the necessary knowledge.
Annotation: Within the schedule set by the centre or degree programme, 15 minutes of one class will be reserved for students to evaluate their lecturers and their courses or modules through questionnaires.
Title | Weighting | Hours | ECTS | Learning Outcomes |
---|---|---|---|---|
Group work for solving practical problems in the laboratory + Answers + Reports | 50% | 0 | 0 | 1, 2, 3, 5, 6, 7 |
Individual report on the resolution of practical problems in the laboratory | 15% | 0 | 0 | 1, 4, 6, 7 |
Individual written examination of theory and problems | 35% | 2 | 0.08 | 1, 4, 7 |
The dates for continuous evaluation and submission of works will be published on the Moodle platform of the UAB (Virtual Campus) and may be subject to programming changes for reasons of adaptation to possible incidents. Always be informed on the Moodle platform about these changes, as it is understood that it is the usual platform for exchanging information between teacher and students.
Evaluation Activities
Activity A: solving practical problems in the laboratory; done as a group; 50% of the final grade; minimum score of 5 points out of 10; cannot be recovered
Activity B: delivery of a written report of activity A; done individually; 15% of the final grade; not necessary a minimum grade; can be recovered
Activity C: written examination of theory and problems; done individually and without notes; 35% of the final grade; minimum score of 5 points out of 10; can be recovered
Apart from the evaluation activities described above, during the course it will be possible to propose other voluntary activities that can contribute to the final qualification of the course
Program of Evaluation Activities
Activity A is carried out throughout the course. Activities B and C are carried out at the end of the course, and activity C is performed on the dates specified by the coordination.
Recovery Process
The student can present himself to the recovery whenever he/she has submitted to the activities A and C. Activities B and C can be recovered, and they represent 50% of the final grade.
Review procedure
All evaluation activities can be reviewed in a place, date and time that will be published beforehand. Claims may be made on the activity grade, which will be evaluated by the faculty responsible for the subject. If the student does not show up for this revision, this activity will not be reviewed later.
Qualifications
An honor grade (MH) will be awarded to students who reach a final grade equal to or greater than 9.00, up to a total of 5% of the students enrolled, prioritizing the part of the grade that corresponds to individual assessments (activities B and C).
If the student does not reach the minimum grade in any of the evaluation activities, the final numerical grade will be the minimum between 4.5 points and the weighted sum of the grades of all the activities.
A student will be considered non-assessable (NA) if he / she has not submitted to any of activities B and C.
Irregularities by students, copy and plagiarism
Without prejudice to other disciplinary measures deemed appropriate, will be scored with a zero the irregularities committed by a student that may lead to a variation of the rating of an act of evaluation. Therefore, copying, plagiarism, cheating, letting copy, unauthorized use of IA (i.e., Copilot, ChatGPT or equivalents), etc. in any of the evaluation activities will involve suspending it with a zero. The evaluation activities qualified in this way and by this procedure will not be recoverable. If it is necessary to pass any of these assessment activities to pass the subject, then this subject will be suspended directly, with no opportunity to recover it in the same course. In the case of not passing the subject due to the fact that the student has committed irregularities in an evaluation act, the numerical note of the record will be the lower value between 3.0 and the weighted average of the marks (and therefore the approved by compensation will not be possible).
Evaluation of repeating students
There is no special treatment for repeating students.
Unique Assessment
This course does not contemplate the single evaluation system
Computer Architecture: A Quantitative Approach. 6th Edition
Enllaç: https://bibcercador.uab.cat/permalink/34CSUC_UAB/avjcib/alma991008741339706709
John Hennessy and David Patterson, Morgan Kaufmann (Elsevier) 2019 (Cap. 1-3)
Computer Systems: A Programmer's Perspective. 3rd Edition (North-American) (https://csuc-uab.primo.exlibrisgroup.com/permalink/34CSUC_UAB/avjcib/alma991006392489706709)
Randall E. Bryant and David R. O'Hallaron, Addison Wesley, 2015 (Cap. 5 i 6)
Computer Organization and Design RISC-V Edition: The Hardware/Software Interface.
David Patterson and John Hennessy, Morgan Kauffman (Elsevier), 2017 (Cap. 4 i 5)
High Performance Python: practical performant programming for human.
Micha Gorelick and Ian Ozsvald, O’Reilly, 2014
Cython: a guide for Python programmers.
Kurt W. Smith, O’Reilly, 2015
Python High Performance programming. Boost the performance of your Python programs using advanced techniques
Gabriele Lanaro, Packt Publishing, 2013
None
Name | Group | Language | Semester | Turn |
---|---|---|---|---|
(PAUL) Classroom practices | 1 | Catalan/Spanish | first semester | morning-mixed |
(PAUL) Classroom practices | 2 | Catalan/Spanish | first semester | morning-mixed |
(PLAB) Practical laboratories | 811 | Catalan/Spanish | first semester | morning-mixed |
(PLAB) Practical laboratories | 812 | Catalan/Spanish | first semester | morning-mixed |
(PLAB) Practical laboratories | 813 | Catalan/Spanish | first semester | morning-mixed |
(PLAB) Practical laboratories | 814 | Catalan/Spanish | first semester | morning-mixed |
(TE) Theory | 81 | Catalan/Spanish | first semester | morning-mixed |