Algoritmos e Programação

Conhecimentos de Base Recomendados

Não se aplica.

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.

Docente(s) responsável(eis)

Anabela de Jesus Gomes

Métodos de Avaliação

A avaliação é composta por 2 Módulos.

O Módulo I é avaliado durante o período de aulas e tem o peso de 8 em 20 valores.

A avaliação do Módulo I é escrita e oral, com componentes individuais e de grupo, tem acompanhamentos semanais e é realizada nas aulas.

O Módulo II é avaliado individualmente, por exame, e tem o peso de 12 em 20 valores, com mínimos de 40%.

Cada momento de avaliação poderá estar sujeito a uma avaliação oral.

A realização de provas orais complementares poderá constituir um instrumento de avaliação adicional, sempre que se considere necessária para dissipar dúvidas ou esclarecer situações suspeitas de fraude ou plágio.

A classificação final superior a 17 em 20 valores poderá requerer uma oral para defesa da classificação final obtida.

Todos os alunos têm que assistir, no mínimo, a dois terços das aulas práticas (duração total), para poderem ter aprovação na unidade curricular.


Para os alunos trabalhadores estudantes ou com algum estatuto especial previsto na lei, aplica-se o disposto na lei. A situação tem de ser confirmada com base na informação fornecida pelos Serviços Académicos até ao último dia de aulas.

A avaliação só é válida para o ano letivo 2026/2027.


    Estágio(s)

    NAO

    Bibliografia

    Bibliografia Recomendada 

    – 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

     

    Bibliografia Complementar 

    – 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.