Degree | Type | Year |
---|---|---|
2502441 Computer Engineering | OB | 2 |
You can view this information at the end of this document.
The subject cannot have any official prerequisite by regulation. But students who have not completed and previously passed the subjects of Fonaments d'informàtica and Metodologia de la Programació have a high percentage of suspended. Therefore, it is strongly recommended that the student has satisfactorily completed and passed the previous subjects of Fonaments d'informàtica, Metodologia de la Programació as well as Matemàtica Discreta Therefore, you are familiar with the basic and advanced structures of programming, Orientation objects and the concept of graph with the different methods of travel on them.
This subject is part of the Algorithmic and Information subject and should be seen as the logical continuation of the subject Metodologia de la Programació and the practical continuation of the Matemàtica Discreta. The basic objective is to deepen the notions of object-oriented programming introduced in the Programming Methodology and expand with other programming concepts and other more complex data structures, as well as efficient algorithms for traversing. The concept of a recursive algorithm with simple and more complex recursive algorithms such as those related to tree and graph paths will be introduced. In addition, search algorithms and efficient management will be introduced and deepen the concept of time and space cost of an algorithm. At the end of the course the student must be able to design and program solutions to complex problems in an optimal way.
In this way, the training objectives that are proposed for the subject are the following:
0. Introduction
Objectives and presentation of the subject. Review of Programming Oriented to Objects and Dynamic Data Structures.
1. Object orientation
Advanced object paradigm. Templates Heritage, lessons abstract, virtual functions and polymorphism.
2. Non-linear data structures. hash
"Hashing" techniques. Hash Matrices and Hash lists. Hash Functions.
3. Recursion and Sorting algorithms
Introduction to recursive algorithms. Bubble method, QuickSort, mergesort. Recursivity Calculation complexity.
4. Non-linear data structures. Graphs
Representations and tours. BFS, DFS, Resolution of problems with graphs.
5. Non-linear data structures. Trees
Definition and representation of a tree. Paths of trees. Binary Heaps. Red-Black Tree.
6. Python Basics
Basic programming concepts in Python
Title | Hours | ECTS | Learning Outcomes |
---|---|---|---|
Type: Directed | |||
Face-to-face classes | 50 | 2 | 1, 2, 3, 4, 5, 6, 7 |
Type: Supervised | |||
Consultations | 1 | 0.04 | 1, 2, 3, 4, 5, 6, 7 |
Type: Autonomous | |||
Autonomous work | 46 | 1.84 | 1, 2, 3, 4, 5, 7 |
Individual Studio | 13 | 0.52 | 2, 4, 5, 6 |
Previous preparation of the classes | 34 | 1.36 | 2, 4, 5, 6 |
The teaching methodology of the subject is based on the principle that "programming is the only way to learn to program" and, therefore, it will be focused mainly on the student's practical work. It is also based on making the most of the face-to-face time that the student spends with the teacher. In this way, descriptive theoretical concepts, easily reached by the student by watching videos or reading articles, will be done autonomously (and guided) by the student. While the implementation of these concepts or their expansion will be done in class with the help of the teacher. The main objective of the subject is for the student to know how to solve a given problem, efficiently, using complex data structures, if necessary. For this reason, learning will focus on accompanying the student in his problem-solving task based on theoretical concepts previously studied autonomously. The C++ programming language will mainly be used, and some programming concepts in python will be given.
The general methodology of the subject can be divided into three phases:
Preparation of the class: The objective of this phase is that the students can learn the concepts that will be worked on in the following session through various activities offered by the teaching staff, such as viewing videos, reading texts, etc.
Class face-to-face: The objective of this phase is to consolidate the concepts seen and put them into value within the context of the subject. The faculty will ensure that the students deepen these concepts through exercises (more or less) guided during the session, and adding new nuances to concepts learned autonomously when necessary. In this way the face-to-face class is used much more since the descriptive concepts are already known by the student and one can fully enter into its use and expansion, which are the points in which the student may need the help of the teacher more.
Work autonomous: so that the students take ease in the use of complex structures and the algorithms associated with them. They will have to do a part of the work on their own, whether solving new exercises or within a project.
The work of the project and of the laboratory sessions should be done in groups of 2 people.
The teaching management of the subject will be done through Caronte ( http://caronte.uab.cat/ ), and the "campus Virtual" platform (https://cv.uab.cat/).
Transversal competences
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 |
---|---|---|---|---|
Delivery problems | 20% Final grade | 0 | 0 | 2, 4, 5, 6, 7 |
First partial | 40% Individual evaluation note. | 1.8 | 0.07 | 1, 2, 3, 4, 5, 6, 7 |
Programming Project | 40% Final grade | 0 | 0 | 1, 2, 3, 4, 7 |
Recovery test | see the description of the evaluation method | 2 | 0.08 | 1, 2, 3, 4, 5, 6, 7 |
Second partial | 50% Individual evaluation note. | 2 | 0.08 | 1, 2, 3, 4, 5, 6, 7 |
Third Partial | 10% Individual evaluation note. | 0.2 | 0.01 | 1, 2, 3, 4, 5, 6, 7 |
The evaluation of the subject will take into account three types of evaluation activities: delivery of problems, individual evaluation and programming project. The Final note of the subject is obtained by combining the evaluation of these 3 activities as follows:
Final Note = (0.2 * Evaluation Problems) + (0.4 * Project) + (0.4 * Individual Evaluation)
It is not necessary to get a minimum grade in this activity in order to pass the course. But keep in mind that it is worth 2 points on the final grade of the subject and without the problems delivered, a 5 in each part of the rest of the subject would mean failing it.
Exercises that are delivered late or that have an evaluation of suspended can be recovered and redeliver at any time during the course before the final exam date of the subject, with a reduction on the grade of the twenty%. The problems will be weighted according to the weight of the subject to the whole of the subject, and the number of problems that they have to deliver for each subject.
You should get a minimum grade of 4 in each of the three partials and a note average minimum of 5 to be able to pass the subject.
The final grade will be the average of the two partials: Individual Evaluation = (0.4 * Partial1) + (0.5 * Partial2) + (0.1 * Partial3)
Project = (0.2 * Project monitoring evaluation) + (0.3 * Partial Delivery 1) + (0.5 * Final Delivery)
Do not evaluable: A student will be considered not evaluable (NA) if he does not make at least 50% of the deliveries of exercises and does not do any of the evaluation tests: partial 1, partial 2, final test of recovery, final delivery of the practice.
suspended: If the calculation of the final grade is equal to or greater than 5 but does not reach the minimum required in any of the evaluation activities, the grade final it will be suspended and a 4.5 will be placed on the note in the student's file .
convalidations: For the repeating students, the previous year's project grade (course 2023 -24 ) will be validated if these conditions are met:
to) The final grade of the project of the previous course is greater than or equal to 7
b) The grade of the individual evaluation of the previous course is greater than or equal to 3
MH: There will be as many enrollments as possible within the regulations of the university, starting with the highest grades and as long as the minimum grade is a 9.
Reviews: For Each evaluation activity will indicate a place, date and time of revision in which the student can review the activity with the teacher. In this context, claims may be made on the activity grade, which will be evaluated by the faculty responsible for the subject. If the student does not appear in this review, this activity will not be reviewed later.
Important note about copies and plagiarism:
Without prejudice to other disciplinary measures deemed appropriate, and in accordance with current academic regulations, the Irregularities committed by a student that may lead to a variation of the grade will be scored with a zero (0). the evaluation activities qualified in this way and by this procedure will not be recoverable. If it is necessary to overcome any of these evaluation activities p ara appro b ar the subject, this subject will be suspended directly, without the opportunity of recover it in the same course. These irregularities include, otr to s:
In these cases, the numerical note of the file will be the lower value between 3.0 and the weighted average of the notes (and therefore the approved by compensation will not be possible).
In the evaluation of the delivery of problems and practices, copy detection tools of the program code will be used.
Note on the planning of evaluation activities:
The dates of continuous evaluation and delivery of works will be published at the beginning of the course and may be subject to changes in programming for reasons of adaptation to possible incidents. You will always be informed through Caronte and/or i/o Campus Virtual about these changes since it is understood that these are the usual platforms for exchanging information between teachers and students.
Single evaluation:
This subject does not foresee the single evaluation system.
Microsoft Visual Studio
Spyder Anaconda
Name | Group | Language | Semester | Turn |
---|---|---|---|---|
(PAUL) Classroom practices | 411 | Catalan | first semester | morning-mixed |
(PAUL) Classroom practices | 412 | Catalan | first semester | morning-mixed |
(PAUL) Classroom practices | 413 | Catalan | first semester | morning-mixed |
(PAUL) Classroom practices | 431 | Catalan | first semester | morning-mixed |
(PAUL) Classroom practices | 432 | Catalan | first semester | morning-mixed |
(PAUL) Classroom practices | 451 | Catalan | first semester | afternoon |
(PAUL) Classroom practices | 452 | Catalan | first semester | afternoon |
(PAUL) Classroom practices | 453 | Catalan | first semester | afternoon |