Laboratório de Programação

Conhecimentos de Base Recomendados

São necessários conhecimentos de programação estruturada e/ou orientada a objetos.

Métodos de Ensino

Nesta unidade curricular são utilizadas as seguintes metodologias de ensino:

  • Método expositivo: método explicativo onde factos, conceitos, princípios e generalizações são definidos e apresentados pelo professor e discutidos com a turma;
  • Método interrogativo: através de questões individuais ou direcionadas ao grupo no decorrer das aulas, permitindo obter feedback imediato sobre os conteúdos abordados;
  • Método experimental: método ativo onde o estudante desenvolve o conhecimento através da resolução de problemas e o desenvolvimento de projetos individuais ou em dinâmica de grupo;
  • Método demonstrativo: nas situações em que seja pertinente demonstrar a instalação e/ou utilização de sistemas informáticos.

Resultados de Aprendizagem

  • descrever e aplicar standards na escrita e documentação de código;
  • avaliar, comparar e selecionar as soluções técnicas mais indicadas para um determinado cenário;
  • desenvolver aplicações modulares, seguras e escaláveis;
  • preparar e aplicar processos de verificação e validação de software;
  • planear, preparar e implementar processos de deployment de aplicações.

Programa

  • Planeamento e estruturação de aplicações informáticas;
  • Boas práticas de programação e escrita de documentos técnicos;
  • Utilização de sistemas de controlo de versões;
  • Criação e (re)utilização de código próprio e de terceiros (bibliotecas de código, frameworks,  APIs);
  • Segurança de software;
  • Qualidade de software;
  • Deployment de sistemas informáticos.

Docente(s) responsável(eis)

Métodos de Avaliação

Avaliação final
  • - um trabalho prático - 100.0%
Avaliação Periódica
  • - Trabalhos práticos - 100.0%

Estágio(s)

NAO

Bibliografia

McConnell, S. C. (2004). Code complete (2ª edição). Microsoft Press.

Martin, R. C. (2011). The clean coder: a code of conduct for professional programmers (1ª edição). Pearson.

Correia, M. P., & Sousa, P. J. (2017). Segurança no software (2ª edição). FCA.

Laboon, B. (2016).  A friendly introduction to software testing (1ª edição). CreateSpace Independent Publishing Platform.

Bass, L., & Klein, J. (2019). Deployment and operations for software engineers. Publicação independente.