Universitat Internacional de Catalunya
Informatics
Other languages of instruction: Catalan, Spanish
Teaching staff
Hours to be agreed with the student body contact via email
Introduction
This course will provide you with the skills and knowledge to start creating and developing applications with this versatile and powerful programming language.
Python was conceived in the late 1980s as a language to be interpreted for teaching purposes. Over time, Python has established itself for its simplicity and readability, making it a great choice for both beginners and programming experts. With Python, you can develop web applications, automate tasks, analyze data, and even build artificial intelligence.
The creator of the language was the Dutch computer scientist Guido van Rossum, known for many years under the title of BDFL (Benevolent Dictator for Life). This was because Guido was assigned the task of setting the guidelines for the evolution of Python, which task he retired in 2018. The name Python comes from his love of the BBC show Monty Python's Flying Circus, from the famous British comedy group Monty python.
Pre-course requirements
Since the subject is an introductory one, it will be assumed that you do not have any prior knowledge on the subject. It is the responsibility of the subject itself to provide students with a means to acquire the knowledge described in the subject content section.
Despite this, it is advisable to have user-level knowledge of some type of platform (windows, mac or linux)
Objectives
This subject has a general and introductory nature to programming. The study of the methodological aspects of programming and the learning of a high-level language will be deepened. Therefore, the general objectives that are proposed for the subject are the following:
- Understand the life cycle of the software: analyze the problem (understand what is asked of us), design (propose a solution to the problem), implementation (coding in a programming language of the chosen solution), test (realization of a test systematically to ensure the correctness of the implemented solution).
- Provide the student with the ability to design algorithms for problem solving, progressively and systematically introducing a rigorous and structured programming methodology, based fundamentally on the technique of top-down algorithm design.
- Introduce the student to a real programming language. It is intended that the student perceive the difference between the flexibility of the pseudo-algorithmic notation that is used in the first topics and the strict syntax of a real programming language, both in its lexical (valid words of the language), syntactic (rules to combine them) and semantics (meaning of the same).
- Accustom the student to develop programs following style norms tending to achieve quality programs. These style rules include those that facilitate the compression of the code, such as the use of comments, the indentation of the code, the use of appropriate numbers for the data types, etc.
Competences/Learning outcomes of the degree programme
- CB2 - Students must know how to apply their knowledge to their work or vocation in a professional way and have the competences that are demonstrated through the creation and defence of arguments and the resolution of problems within their field of study.
- CB5 - Students have developed the necessary learning skills to undertake subsequent studies with a high degree of autonomy.
- CG4 - To resolve problems based on initiative, be good at decision-making, creativity, critical reasoning and communication, as well as the transmission of knowledge, skills and prowess in the field of Bioengineering
Learning outcomes of the subject
- Apply the basic principles of the structure and programming of computers.
- Apply strategies for debugging, testing and correcting programs.
- Critically evaluate the work done.
- Develop programs with good programming style and well documented.
- Implement algorithmic problems of medium difficulty in a programming language.
- Plan and manage the time and resources available.
Syllabus
Lesson 1: Troubleshooting: introduction to algorithmics and programming.
Introduction to problem solving. Algorithm concept. Phases in the development of algorithms. Programming as an engineering discipline. Software life cycle. Basic elements of an algorithm. Tools for the representation of algorithms. Programming languages. Classification. Language translators: compilers and interpreters.
Lesson 2: Basic concepts and control structures
Definition of variables and constants. Fundamental data type. Sequential structure. Selection or conditional structures. Iterative or repetitive structures.
Lesson 3: Subprograms
The concept of the subprogram as an abstraction of operations. Locality, specifically, scope and visibility. Definition of functions and procedures. Calls to functions and procedures. Drop-down modular design.
Lesson 4: Files
Basic definitions. Input / output of data in files. Type of file access.
Lesson 5: Advanced data types
Lists, tuples and sets. Dictionaries.
Teaching and learning activities
In person
In the development of the subject will follow a practical methodology. This means that students will have to solve a wide set of problems.
- Before class. The basic concepts are worked on before the face-to-face sessions. Prepare the class by reviewing the slides and the list of problems found on the virtual campus platform. Parallel to the material there will be a discussion forum on the virtual campus moderated by the teaching staff, to resolve doubts and tutorial sessions.
- At class. The objective of the face-to-face sessions was changed from information to knowledge. We will put the emphasis on creating knowledge applicable to the analysis of specific problems, in which the teachers put the students to the test, who consolidate their learning based on problems. The structure of the classes will be:
- Proposal of problems (60 min). The objective is to experiment by doing a practical task that allows applying the concepts learned in the previous class that have been used to solve the proposed problems.
- Review of the most important basic concepts (60 min). The objective is to give the theoretical knowledge to solve the problems proposed for the next week
- After school. The objective was consolidated knowledge. On the virtual campus platform you can find a set of problems that should allow students to deepen their understanding and personalize knowledge.
Evaluation systems and criteria
In person
The following evaluable activities are carried out:
Activity |
Date |
Recovery |
Block Percentage |
Minimum grade |
Individual Partial Theoretical Exam (Tp) |
Consult Planning |
NO |
15% |
No |
Individual Final Theoretical Exam (TF) |
10/1/2024 |
18/07/2024 |
35% |
Tf> = 5 |
Individual Problem Solving (P) |
Every week |
No |
25% |
No |
Group Laboratory Practice (PLG) |
Consult Planning |
Consult Planning |
25% |
PLG> = 5 |
The grade of each end of the subject is the weighted sum of the evaluation activities with their corresponding percentage. The result of the weighted sum must be> = 5 for considering the subject approved.
Scheduling of evaluation activities
The dates of evaluation and delivery of works will be published in the virtual campus and may be subject to programming changes for reasons of adaptation to possible incidents. The document manager will always be informed about these changes since it is understood that this is the usual platform for the exchange of information between teachers and students.
Recovery procedure
The student can present to the recovery provided that he has presented to a set of activities that represents at least two thirds of the total grade of the subject.
The partial exam (Tp) will be recovered by passing the final exam (Tf)
In the event that the final exam (Tf) obtains a grade
The Individual Problem Solving (P) activity cannot be retrieved.
Procedure for reviewing qualifications
Students will have the right to review the theoretical exams (Tp and Tf). The place, date and time of revision will be published on the day the notes are published. If the student does not appear in this review, this activity will not be reviewed later. Only in justified cases may a review be made a posteriori of the fixed date and always up to a maximum of 7 calendar days.
Of the notes of the laboratory practice (PLG and PLI) no review will be carried out so that the evaluation is carried out before the students.
Ratings
Non-Evaluable (NA): Any student who submits a practice or a scheduled evaluation will have a grade. It will only be considered non-assessable in the case of not delivering any assessable activity.
Final Note: S le of the weighted sum according to the criteria set out in the section on evaluation activities. If in any activity the minimum grade is not reached, the grade will come out of the following formula:
Minimum (apply weighted sum and 4.5)
Honours
Awarding an honours qualification is the decision of the teaching staff responsible for the subject. Following the UIC regulations in this matter In the event that more than one student obtains the same grade, it will be prioritized according to the following rules (in order):
- Students with the best overall grade.
- Students who have achieved the grade equal to or higher than that set in the regulations making fewer recoveries of activities (either because they have suspended the activity or because they have gone to raise their grade).
- Students with the grade equal to or higher than that set in the regulations in the activities Tf and Tp
Irregularities on the part of the student, copying and plagiarism
Without prejudice to other disciplinary measures they deem appropriate, irregularities committed by the student that may lead to a variation of the grade of an evaluation act will be graded with a zero. Therefore, copying, plagiarism, cheating, letting copy, etc. in any of the evaluation activities will involve suspending with a zero. Evaluation activities qualified in this way and by this procedure will not be recoverable. If it is necessary to pass any of these evaluation activities to pass the subject, this subject will be suspended directly, without the opportunity to recover it in the same course. In this case, the numerical grade of the file will be the lowest value between 3.0 and the weighted average of the marks.
Bibliography and resources
J. Guttag. Introduction to Computation and Programming Using Python: With Application to Understanding Data Second Edition. MIT Press. ISBN-10: 9780262529624
S. Chazallet Python 3. Los fundamentos del lenguaje. Eni, ISBN-10: 2409006140
E. Matthes. Python Crash Course: A Hands-On, Project-Based Introduction to Programming. No Starch Press ISBN-10: 1593276036
M. Myers. A Smarter Way to Learn Python: Learn it faster. Remember it longer. Createspace Independent Pub ISBN-10: 1974431479
A. Prieto, A. Lloris, J.C. Torres. Introducción a la Informática. Mc Graw-Hill ISBN-10: 8448146247
A. Prieto, B. Prieto. Conceptos de Informática. Mc Graw-Hill, Schaum ISBN-10: 8448198573
L. Joyanes Aguilar. Fundamentos de Programación: Algoritmos, Estructuras de Datos y Objetos. Mc. Graw-Hill. ISBN-10:8448161114
Evaluation period
- E1 10/01/2025 P2A02 12:00h