Degree | Type | Year | Semester |
---|---|---|---|
2502441 Computer Engineering | OB | 2 | 1 |
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. Basic concepts of Python
Basic programming concepts in Python
INFORMATION NOTE OF THE COURSE DUE TO COVID: This subject will be done in on-line mode due to the pandemic, therefore all the activities that appear like face-to-face will become virtual by means of caronte and teams unless the indications of the government and / or the UAB change throughout the course.
The teaching methodology of the subject starts from the principle that says "program it's the only way to learn to program" and, therefore, will be mainly focused on the practical work of the student. It is also based on making the most of the face time the student is with the teacher. In this way, descriptive theoretical concepts, easily reached by the student by viewing videos or reading articles, will be done autonomously (and guided) by the student. While the implementation of these concepts or the expansion of them will be done in class with the help of the teacher. The main objective of the subject is that the student knows how to solve a given problem, efficiently, using complex data structures, if necessary. For this reason, the learning will focus on accompanying the student in his task of solving problems from theoretical concepts previously studied autonomously. The C ++ programming language will be used mainly, and some programming concepts will be given in python.
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 Charon ( http://caronte.uab.cat/ ), which will serve to see the materials, manage the groups of practices, make the corresponding deliveries, see the notes, communicate with the teachers, etc.
The management of face-to-face classes due to the pandemic will be done online through teams https://teams.microsoft.com/, any changes throughout the course will be notified through Caronte.
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 | Hours | ECTS | Learning Outcomes |
---|---|---|---|
Type: Directed | |||
Face-to-face classes | 50 | 2 | 1, 6, 2, 3, 5, 4, 7 |
Type: Supervised | |||
Consultations | 1 | 0.04 | 1, 6, 2, 3, 5, 4, 7 |
Type: Autonomous | |||
Autonomous work | 46 | 1.84 | 1, 2, 3, 5, 4, 7 |
Individual Studio | 13 | 0.52 | 6, 2, 5, 4 |
Previous preparation of the classes | 34 | 1.36 | 6, 2, 5, 4 |
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.
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 two 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.5 * Partial1) + (0.5 * Partial2)
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 .
validations: For the repeating students, the previous year's project grade (course 201 8 -1 9 ) 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. Always be informed Cerberus about these changes since it is understood that this is the usual platform for exchange of information between teachers and students.
Title | Weighting | Hours | ECTS | Learning Outcomes |
---|---|---|---|---|
Delivery problems | 20% Final grade | 0 | 0 | 6, 2, 5, 4, 7 |
First partial | 50% Individual evaluation note. | 2 | 0.08 | 1, 6, 2, 3, 5, 4, 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, 6, 2, 3, 5, 4, 7 |
Second partial | 50% Individual evaluation note. | 2 | 0.08 | 1, 6, 2, 3, 5, 4, 7 |
Microsoft Visual Studio Community 2019
Spyder Anaconda 3