Degree | Type | Year |
---|---|---|
2503758 Data Engineering | FB | 1 |
You can view this information at the end of this document.
The subject does not have any official prerequisite. However, students should be familiar with the most basic programming structures. Thus, it is recommended for students to have taken the course “Fundamentals of programming”.
This subject must be regarded as the logical continuation of the subject of "Fundamentals of Programming". The basic objective is to expand the basic notions of programming introduced in "Fundamentals of Programming" and to complete them with the principles of object-oriented programming (OOP).
Object-oriented programming is one of the most widespread design and programming methodologies. In object-oriented programming, software is organized into classes that contain methods (procedures) and attributes (data). The instances or objects of these classes send messages to each other (they make "calls" to methods of other objects) thus achieving the desired functionality. Apart from the concept of class, three other fundamental elements of the OOP are inheritance, composition and separation of the public and private parts of the classes.
During the course, we will explain all these concepts of the OOP and we will see how we can use them to build solutions that are easily extensible, since a basic law of software is that changes are inevitable. Therefore, we will also explain a set of design principles or heuristics that tell us how the elements of the OOP have to be used. These principles are used to design common solutions to recurrent problems, which often appear in seemingly independent applications.
In this way, the training objectives of the subject are the following:
Title | Hours | ECTS | Learning Outcomes |
---|---|---|---|
Type: Directed | |||
Lectures | 50 | 2 | 2, 3, 5, 6, 8, 9 |
Type: Supervised | |||
Implementation of the programming project | 50 | 2 | 1, 2, 4, 5, 7 |
Type: Autonomous | |||
Individual study | 14 | 0.56 | 7, 8 |
Problem resolution | 32 | 1.28 | 1, 2, 4, 5, 6, 7 |
The teaching methodology of the subject starts from the principle that "programming is the only way to learn to program" and, therefore, will be mainly focused on the practical work of the student. Classroom sessions will be organized to discuss the theoretical contents of the subject, from a very practical perspective with examples, and exercises and programming problems that must be solved in class directly with the computer. On the other hand, a programming project will be carried out that will have to be developed mainly autonomously throughout the course (with follow-up and control by the professor in specific sessions) and which will involve practically integrating almost all concepts and programming tools introduced in lectures to solving a complex real problem. In addition, a set of exercises will have to be solved individually throughout the course (some of them will be evaluated and discussed in lectures). They should serve to understand, integrate and apply the concepts developed during the course.
Lectures will be organized in four hours a week with no distinction among theory, problems and practices. It is encouraged that the student bring his own laptop to class if he has one. In the lectures, the concepts of the syllabus of the subject will be discussed. In some cases, explanatory videos or other supplementary material may be made available to the student to watch before the class session. Lectures will have a very practical approach with examples and exercises that will be presented to students to facilitate understanding and learning of the concepts.
The student must complete the lectures with autonomous personal work to do the exercises that are proposed and that should serve to understand the contents of the course. It must be borne in mind that the syllabus of the subject hasa logical continuity throughout the course, so that to follow correctly a class it is necessary to understand what was explained in the previous sessions. Some ofthese exercises must besubmitted individually as part of the evaluation of the course.
In addition, students must develop in groups of 2 people a programming project that will be developed autonomously throughout the course apart from the lectures. The programming project will allow addressing a programming problem of a certain complexity that integrates most of the concepts explained during the course. During the course, some lectures sessions will be devoted to the control, monitoring and evaluation of the work carried out by the student in the programming project.
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 |
---|---|---|---|---|
Individual assessment | 40% | 4 | 0.16 | 2, 9 |
Problems | 20% | 0 | 0 | 1, 2, 4, 5, 6, 9 |
Programming project | 40% | 0 | 0 | 1, 3, 4, 5, 7, 8 |
The single assessment model is not applied in this subject.
Subject assessment will take into account three types of assessment activities: resolution of problems, individual assessment and programming project.
The final grade of the subject is obtained by combining the grade of these 3 activities as follows:
Problems
This section includes the assessment of the exercises that are proposed throughout the course.
Project
Includes the assessment of all the work carried out in the programming project:
Individual assessment
This section includes the results of the individual tests that will be done throughout the course. There will be two partial tests that will be done during the period of lectures in thecourse during class time and a final test during the official exam period. This final test will permit to compensate any of the partial tests and will only have to be done by students who have not passed any of the two partial test. If one of the two partial test has been passed, but the other does not, in this test only the part of the subject corresponding to the partial test that has not been passed must be re-assessed.
Individual assessment grade = (0.5 * Partial Test 1) + (0.5 * Partial Test 2)
Final grades
Compensations
For the students who are taking the courses for thesecond time or more, the project of the previous year can be compensated if these conditions are met:
In this case, the grade of the project will be 5, independently of the grade of the previous year.
Review of assessment
For each assessment activity, a place, date and time of review will be indicated allowing students to review the activity with the lecturer. In this context, students may discuss the activity grade awarded by the lecturers responsible for the subject. If students do not take part in this review, no further opportunity will be made available.
Important note: copies and plagiarism
Notwithstanding other disciplinary measures deemed appropriate, and in accordance with the academic regulations in force, assessment activities will receive a zero whenever a student commits academic irregularities that may alter such assessment. Assessment activities graded in this way and by this procedure will not be re-assessable. If passing the assessment activity or activities in question is required to pass the subject, the awarding of a zero for disciplinary measures will also entail a direct fail for the subject, with no opportunity to re-assess this in the same academic year. Irregularities contemplated in this procedure include, among others:
In these cases, the grade in the Transcript of Records (ToR) will be the lowest value between 3.0 and the weighted average grade (and therefore re-assessment will not be possible).
In the assessment of problems and the project, tools to detect code plagiarism will be used.
Any programming environment in Python could be used, such as PyCharm, Spyder or Visual Studio Code.
Name | Group | Language | Semester | Turn |
---|---|---|---|---|
(PAUL) Classroom practices | 81 | Catalan | second semester | morning-mixed |
(PAUL) Classroom practices | 82 | Catalan | second semester | morning-mixed |