Algoritmos e Programação

Base Knowledge

Not applicable.

Teaching Methodologies

Learning strategy supported by the experimentation of the subject given in class, by developing software modules, with practical examples. The student’s success implies a continuous study both in and out of classes.
Theoretical classes – The subject presentation is supported by slides. The participation of students when applying the knowledge taught is done through the resolution of small programs to consolidate the concepts presented.
Practical classes – In the practical component, students develop software modules, with the support of exercise sheets, giving special emphasis on the phases of problem analysis and the development and implementation of the solution

Learning Results

Understanding and developing simple algorithms for concrete problems.

Understanding the formal aspects of a multiparadigm programming language and applying it to a set of problems. Development of small programs, understanding the code and interpretation of the results obtained.

Integration of individual and group skills in the development of small software projects.

Program

1. Introduction to algorithms and programming languages.
2. Methodologies and good programming practices.
3. Python programming language.

3.1. Basics.
3.2. Variables and data types.
3.3. Control and repeating structures.
3.4. Functions and modules.
3. 5. Introduction to the concept of object.
3.6. Strings and basic data structures: sets, arrays, lists, dictionaries, and tuples.
3.7. Reading and writing persistent data.
3.8. Search and sort algorithms.
3.9. Libraries for data manipulation and visualization
3.10 Search and selection of relevant algorithms.

Curricular Unit Teachers

Internship(s)

NAO

Bibliography

Recommended Bibliography

– Google’s Python Class. (n.d.). Retrieved 03 2021, from https://developers.google.com/edu/python/
– How to Think Like a Computer Scientist: Learning with Python 3. (n.d.). Retrieved 03 2021, from https://openbookproject.net/thinkcs/python/english3e/
– Python. (n.d.). Retrieved 03 2021, from https://www.python.org/
– The Python Tutorial. (n.d.). Retrieved 03 2021, from https://docs.python.org/3/tutorial/index.html

Complementary Bibliography

– Baka, B. (2017). Python Data Structures and Algorithms. Packt Publishing.
– Beazley, D., & Jones, B. K. (2013). Python Cookbook. O’Reilly Media, Inc.
– Costa, E. (2015). Programação em Python – Fundamentos e Resolução de Problemas. FCA.
– Downey, A. B. (2016). Think Python: How to Think Like a Computer Scientist (2 ed.). O’Reilly.
– Guttag, J. V. (2021). Introduction to Computation and Programming Using Python: With Application to Computational Modeling and Understanding Data (3 ed.). The MIT Press.
– Martins, J. P. (2020). Programação em Python. Introdução à programação utilizando múltiplos paradigmas. (4 ed.). Ist Press.