Laboratório de Programação

Código

01060940

Créditos ECTS

6

Objetivos

1. Dotar os estudantes de prática experimental autónoma na utilização de ferramentas de desenvolvimento de software adequadas à metodologia a usar e que permitam o acompanhamento do desenvolvimento de programas durante o seu ciclo de vida, incluindo a depuração, teste e documentação.
2. Desenvolver a capacidade de criar soluções algorítmicas para problemas de pequena e média escala.

Programa

1. Técnicas e ferramentas de apoio à programação:
1.1 Ambiente de desenvolvimento integrado (IDE);
1.2 Utilização de ferramentas para impor normas de estilo e boas práticas de programação;
1.3 Utilização de sistemas de controle de versões para trabalho em grupo;
1.4 Escrita de documentação técnica;
1.5 Testes unitários;
1.6 Depuração de programas;

2. Programação de algoritmos para resolução de problemas:
2.1 Ficheiros;
2.2 Estruturas de dados;
2.3 Utilização de módulos da linguagem Python;
2.4 Prática de algoritmos recursivos sobre estruturas;
2.5 Utilização de algoritmos de pesquisa e de ordenação;
2.6 Aplicação de métodos numéricos.

Métodos de Ensino

Nas aulas teórico-práticas apresentam-se técnicas, ferramentas e estratégias a adotar na resolução dos problemas apresentados nas aulas práticas ou a consolidar no estudo autónomo, recorrendo a exemplos e a demonstrações usando a linguagem Python.

O formato laboratorial predominante na unidade curricular traduz-se na implementação de uma metodologia orientada à resolução de problemas, promotora do desenvolvimento de competências, analíticas, técnicas e intrapessoais para os estudantes. Os estudantes são preparados, inicialmente, na utilização de ferramentas que irão utilizar ao longo do semestre. Em cada aula é proposto aos estudantes um pequeno problema para ser resolvido individualmente e entregue no final da aula.

A plataforma de e-Learning Moodle da UAc (em http://moodle.uac.pt) é utilizada como componente digital do ambiente de aprendizagem, disponibilizando informação e documentação relevante do funcionamento da UC, espaços de comunicação geral sobre a UC, atividades de aprendizagem propostas com os respetivos recursos e avaliação.

AVALIAÇÃO:

Em cada edição da unidade curricular, a avaliação, contínua, é constituída por uma componente individual, que consiste na entrega dos problemas resolvidos em cada aula e no final do semestre da apresentação e discussão do portfólio de problemas resolvidos, de acordo com as orientações estabelecidas pelo docente responsável. Os problemas resolvidos têm um peso entre 70% e 85%, ficando o restante para a apresentação. Ambas as partes têm nota mínima de 10 valores.

Bibliografia

Essencial

  • Costa, E. (2024). Programação em Python: Fundamentos e Resolução de Problemas (2ª edição). FCA, ISBN: 978-972-722-940-6
  • Havill, J. (2020). Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming (Second edition): CRC Press. ISBN: 978-036-747-249-8

Complementar

  • Lambert, K. A. (2019). Fundamentals of Python: Data Structures (Second Edition). Boston, USA: Cengage. ISBN: 978-035-712-275-4
  • Canning, J., Broder, A., Lafore, R. (2023). Data Structures & Algorithms in Python (First Edition). Boston: Pearson. ISBN 978-013-485-568-4

Método de Avaliação

    De acordo com Métodos de Ensino - 100 %