Algoritmos e Programação

Teaching Methodologies

Learning strategy supported by the experimentation of the subject exposed in the classes, through the development of software modules, with practical examples. The student’s school success implies a continuous study of the student in classes and outside classes.
Theoretical classes – The exhibition is held with the support of slides. The participation of students in the application of the knowledge taught is required, through the resolution of small programs to consolidate the concepts presented.
Practical classes – In the practical component, students develop, with the support of exercise sheets, software modules, with 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 to a set of problems. Development of small programs, understanding of 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. Strings and basic data structures: sets, arrays, lists, dictionaries, and tuplos.
3.6. Reading and writing persistent data.
3.7. Search and sort algorithms.
3.8. Libraries for data manipulation and visualization.
3.9. Search and selection of relevant algorithms.

Internship(s)

NAO

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.).
– 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.
– Google’s Python Class. (n.d.). Retrieved 03 2021
– 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