Base Knowledge
None.
Teaching Methodologies
The teaching activity takes place in the classroom or via videoconference, with exposure to concepts, techniques and methods, with a strong focus on solving practical problems. Software will be used to support the resolution of problems.
Learning Results
The Curricular Unit of Programming is defined as structural in the Degree in Data science for Management since it allows the acquisition of fundamental and determining knowledge in the understanding of later curricular units. Thus, this Curricular Unit is intended to achieve the following objectives:
- Know and understand the architecture and operation of a computing environment (software / hardware).
- Design simple algorithms by applying appropriate programming methodologies.
- Know and understand the Python language.
- Understand and adapt existing programs and develop new programs coded in Python language.
- In terms of competences, it is expected that the student is able to:
Use the Python language to develop simple programs, in console environment.
- Develop programs that include selection control structures and repetitive structures.
- Use functions in programs.
- Distinguish different ways of passing parameters to functions.
- Perform basic operations with vectors, matrices and text.
- Handle errors using exceptions.
Program
1. Introduction to programming
2. Introduction to Python
3. Data types
4. Flow control structures
4.1 Sequential structures
4.2 Selection structures
4.3 Repetition structures
5. Functions
6. Data structures
6.1 Lists
6.2. Tuples
6.3 Sets
6.4 Dictionaries
7. Exceptions
8. Files and directories
9. Object-Oriented Programming (OOP) Basics
10. Introduction to GUI Programming
Curricular Unit Teachers
Elisabete Mateus dos ReisInternship(s)
NAO
Bibliography
Codeone Publishing (2022). Python Programming for Beginners: The #1 Python Programming Crash Course for Beginners to Learn Python
Coding Well & Fast (with Hands-On Exercises)
Eric Matthes (2019). Python Crash Course, 2nd Edition: A Hands-On, Project-Based Introduction to Programming 2nd Edition
Mark Lutz (2013). Learning Python, 5th Edition Fifth Edition
Luciano Ramalho (2022). Fluent Python: Clear, Concise, and Effective Programming 2nd Edition
Irv Kalb (2022). Object-Oriented Python: Master OOP by Building Games and GUIs
Maurice J. Thompson (2018). Python: The Bible