Algoritmos e Programação

Métodos de Ensino

Estratégia de aprendizagem apoiada na experimentação da matéria exposta nas aulas, através do desenvolvimento de módulos de software, com exemplos práticos. O sucesso escolar do estudante implica um estudo contínuo do estudante nas aulas e fora das aulas.
Aulas teóricas – A exposição é realizada com o apoio de diapositivos. A participação dos estudantes na aplicação dos conhecimentos lecionados é requerida, através da resolução de pequenos programas para consolidação dos conceitos apresentados.
Aulas práticas – Na componente prática, os estudantes desenvolvem, com o apoio de folhas de exercícios, módulos de software, dando especial ênfase às fases da análise do problema e do desenvolvimento e implementação da solução.

Resultados de Aprendizagem

Compreensão e desenvolvimento de algoritmos simples para problemas concretos.
Compreensão dos aspetos formais de uma linguagem de programação multiparadigma e aplicação a um conjunto de problemas. Desenvolvimento de programas de pequena dimensão, compreensão do código e interpretação dos resultados obtidos.
Integração de competências individuais e de grupo no desenvolvimento de pequenos projetos de software.

Programa

1. Introdução aos algoritmos e linguagens de programação.
2. Metodologias e boas práticas de programação.
3. Linguagem de programação Python.
3.1. Noções básicas.
3.2. Variáveis e tipos de dados.
3.3. Estruturas de controlo e de repetição.
3.4. Funções e módulos.
3.5. Introdução ao conceito de objeto
3.6. Strings e estruturas de dados básicas: conjuntos, arrays, listas, dicionários e tuplos.
3.7. Leitura e gravação de dados persistentes.
3.8. Algoritmos de pesquisa e ordenação.
3.9. Bibliotecas para manipulação e visualização de dados.
3.10. Pesquisa e seleção de algoritmos relevantes.

Estágio(s)

NAO

Bibliografia

– 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