Logo

Programming

Code: 106932
Credits: 6
2026/2027
Degree programme Type Course
Management of Smart and Sustainable Cities FB 1

Contact lecturer

Name :
Carlos Casado Martinez
Email :
carlos.casado.martinez@uab.cat

Teaching staff

Pablo Mira De Orduña Clarés

Group languages

You can consult this information at the end of the document.

Prerequisites

Basic computer skills.

Objectives

  • Understand the fundamentals of programming, including variables, data types, operators, and control structures.
  • Design and implement simple Python programs by applying basic problem-solving and algorithmic thinking principles.
  • Use functions and basic data structures to develop modular, readable, and reusable solutions.
  • Apply programming best practices, including code documentation, meaningful naming conventions, and adherence to coding style guidelines.

Learning outcomes

  • CM06 (Apply innovative solutions to solve projects related to the management, equity and sustainability of cities by applying elements of technological innovation, such as information and communication technologies.) Apply innovative solutions to solve projects related to the management, equity and sustainability of cities by applying elements of technological innovation, such as information and communication technologies.
  • KM09 (Understand the functioning and correct management of databases.) Understand the functioning and correct management of databases.
  • SM07 (Solve simple problems for the management of cities by means of computer applications that process and extract information from geospatial data.) Solve simple problems for the management of cities by means of computer applications that process and extract information from geospatial data.
  • SM08 (Use algorithm and programme analysis techniques to design new algorithmic solutions based on the idea of recursion or specific algorithm design techniques.) Use algorithm and programme analysis techniques to design new algorithmic solutions based on the idea of recursion or specific algorithm design techniques.

Contents

1. Introduction to programming

1.1. Variables and data types

1.2. Operators

1.3. Precedence

2. Control structures

2.1. Conditionals

2.2. Loops

3. Structured Data Types I

3.1. Lists

3.2. Dictionaries

4. Functions

5. Algorithmic schemes

6. Files

7. Structured Data Type II

7.1. Sets

7.2. Tuples

8. Introduction to Object-Oriented Programming in Python.



Learning activities and methodology

Title Hours ECTS Learning outcomes
Exercises seminars 24 0.96 CM06, KM09, SM07, SM08
Theory classes 26 1.04
Practices 20 0.8 CM06, KM09, SM07, SM08
Realization of problems 56 2.24 CM06, KM09, SM07, SM08

The teaching methodology will be based on three types of activities:

  • Guided activity: theoretical classes, laboratory, and exercise analysis.
  • Supervised activity: attendance to tutorials and completion of exercises with scheduled follow-up.
  • Autonomous activity: part of student study and case resolution, individually or in groups.

In order to be able to perform a correct assessment of the transversal competencies corresponding to the subject, the students will be proposed to carry out joint work. This activity will allow them to develop the transversal competencies related to group work (T01), becoming responsible for the tasks assigned, respecting the role of the different members of the team, and evaluating critically the work carried out (T05) among them.

It will be convenient to bring your own laptop to laboratory classes.

The preferred form of communication with students will be the virtual campus combined with the institutional mail of the UAB.

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.

Assessment

Continuous assessment activities

Title Weight Hours ECTS Learning outcomes
Evaluation tests 60% 4 0.16 CM06, SM07, SM08
Supervised activities 10% 10 0.4 CM06, SM07, SM08
Laboratory activities 30% 10 0.4 CM06, KM09, SM07, SM08

1. Evidence of continuous evaluation

There are four continuous assessment tests: two exams and two practicals.

As for the exams, there are two and they include the seven blocks of matter (1,2,3 in the first test and 4,5,6,7 in the second test).

Continuous evaluation tests Weight note continuous assessment Minimum mark to make an average
1-3 Introduction programming, control structures, types of data structures I. 40% 4
4-7 Functions, algorithmic schemas, files, types of data structures II. 60% 4


2. Final evaluation mark

Exams Weight final mark
Continuous evaluation 60%
Attendance and participation in laboratory classes 10%
Laboratory 30%

3. It is considered approved by anyone:

  • have a final mark equal to or greater than 5 and
  • have approved the laboratory activities (minimum 5) i
  • there is no evidence of continuous evaluation below the minimum mark (4.0) to do the average.

If the final grade for the practicals is less than 5, the final grade for the subject will be the final grade for the practicals. If the final grade for the exams is less than 4, the final grade for the subject will be the final grade for the exams. If the minimum grade is not exceeded in either case, the general formula will be applied to calculate the final grade.

4.Assessment of practices

There will be a total of 2 laboratory activities one per part. The practices will be carried out individually or in groups, depending on their complexity. The instructor will specify in class whether they will be carried out individually or in groups, and if so, how many participants will be involved.

The use of AI tools for the preparation of practical exercises or class problems is not permitted in this subject.

5. The faculty will specify, when publishing the grades, when and how the grade review will be done.

6. Attendance and participation notes cannot be recovered.

7. There will be a final exam intended to recover the exam grade. Although this test will be graded out of ten, it will count towards a maximum of 5 points for the entire course (any grade higher than 5 on the make-up exam will count as 5 points when calculating the final grade).

8. At the beginning of the academic year, if possible, it will be notified if there is a validation of laboratory activities. In the case of being, the validation of laboratory activities only will be realized to the students who request it and have approved the laboratory activities in the previous course. The weight of the continuous evaluation

in the final mark, in the students with the validation of laboratory activities, becomes 90%.

9. The exam dates are set at the beginning of the course and do not have alternative recovery dates in case of non-attendance. If there is any change in programming due to the adaptation to possible incidents, the virtual campus will always be informed about these changes.


10. Notwithstanding other disciplinary measures deemed appropriate, and in accordance with the current academic regulations, irregularities committed by a student that can lead to a variation of the qualification will be classified as zero (0). For example, plagiarizing, copying, copying, ..., an evaluation activity, will imply suspending this evaluation activity withzero (0). Assessment 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, this subject will be suspendeddirectly, without an opportunity to recover it in the same course.

11. Non-evaluable cases

In case no delivery is made, it will not be included in any laboratory session and no exam will be carried out, the corresponding gradewill be \"not evaluable\". In any other case, \"notpresented\" counts as a 0 for calculating the weighted average, which will be a maximum of 4.5. Then, participation in an activity evaluated implies that \"not presented\" in other activities such as zeros are taken into account. For example, an absence in a laboratory session involves a note for that activity.

12. Pass the course with honors

At the discretion of the teaching staff, passing the course with honors will be awarded to those who obtain a mark greater than or equal to 9.5 in each part, up to 5% of those enrolled. They may also be granted in other cases.

13. Examination by a single assessment

Single assessment is not foreseen

Bibliography

  • A. Prieto, A. B. Prieto. Conceptos de informática. Ed. Mc Graw Hill, 2005.
  • Mark Lutz. Learning Python, Fourth Edition. Ed. O'Reilly Media, Inc., 2009.

Software

Python IDLE

 

Course groups and languages

The information provided is provisional until November 30. After this date, you will be able to consult the language of each group through this link. To access the information, you will need to enter the course CODE

Type of teaching Group Language Semester Shift
(TE) Theory 61 Catalan second semester morning-mixed
(PAUL) Classroom practices 611 Catalan second semester morning-mixed
(PAUL) Classroom practices 612 Catalan second semester morning-mixed