Teaching Methodologies
The classes of this course unit are of a theoretical-practical nature. The program content is taught through the exposition of concepts, followed by the demonstration of their application using practical examples. Afterward, students solve practical exercises related to the topics covered.
The exposition of concepts will be supported using presentations to explain the topic in question, combined with the actual implementation of the corresponding code for illustrative examples of each topic. At the end of each example, students are encouraged to propose alternative solutions to the problem.
In the initial phase of the course unit, the step-by-step execution of the first programs developed is strongly encouraged. In this process, an exhaustive inspection of the contents of the involved variables is carried out, and the sequence of execution of the program in question is observed.
Since programming is an eminently practical activity, after presenting any topic of the program content, a strong component of practical exercise resolution is fostered, which is available in an exercise book provided to students and covers all program topics.
Autonomous study outside the classroom is also encouraged through the indication of a set of specific bibliography for each chapter of the program.
Learning Results
This Course Unit is crucial in the bachelor’s degree in management informatics since programming skills are a prerequisite for acquiring knowledge in subsequent units. Students should acquire skills that allow them to:
O1 – Understand the concept of a program and an algorithm. Design basic algorithms.
O2 – Understand the main elements of the Python language.
O3 – Grasp the concept of type and know different data types.
O4 – Know operators and their precedence.
O5 – Understand the functioning of different control flow structures: sequential, selection, and repetition.
O6 – Understand the concept of module, function, parameter, and argument. Understand how to use functions.
O7 – Understand the concept of data structure and know the existing ones: Lists, Tuples, Sets, Dictionaries, and Strings.
O8 – Understand the concept of exception, know the different types of exceptions, and know how to handle them. O9 – Know and use the existing libraries.
Program
1. Introduction to Programming
1.1. Algorithms
1.2. Programming Languages
1.3. Frameworks
2. Introduction to Python Language
3. Data Types
4. Operators and Precedence
5. Control Flow Structures
5.1. Sequential
5.2. Selection
5.3. Repetition
6. Modular Programming and Functions
6.1. Introduction
6.2. Parameters and Arguments
6.3. Recursion
7. Data Structures
7.1. Lists
7.2. Tuples
7.3. Sets
7.4. Dictionaries
7.5. Strings
8. Exceptions
9. Libraries
Internship(s)
NAO
Bibliography
Bibliografia Base:
- • Introdução à Algoritmia e Programação com Python; Filipe Portela E Tiago C. Pereira; FCA; ISBN: 978-972-722-931-4, 2023.
- • Materiais de apoio às aulas.
- • https://docs.python.org/3/
Bibliografia Complementar:
- • Introduction to Computation and Programming Using Python, third edition; John V. Guttag; The MIT Press; ISBN: 9780262363440, 2021.
- • Fluent Python: Clear, Concise, and Effective Programming; Luciano Ramalho 2nd Edition; O’Reilly; ISBN: 978-1492056355; 2022.
- • https://www.w3schools.com/python/default.asp
- • https://learning.edx.org/course/course-v1:HarvardX+CS50P+Python/home