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:

1. Método expositivo: método explicativo onde fundamentos teóricos e conceitos são apresentados pelo docente e discutidos com a turma. Os conceitos e informações serão apresentados aos alunos através, por exemplo, de apresentações em slides ou discussões orais. Será utilizado nas aulas para a estruturação e esquematização da informação.

2. Método demonstrativo: baseia-se na exemplificação pelo docente de uma operação técnica ou prática que se deseja aprendida. Centra-se na forma como se executa uma dada operação, destacando as técnicas, as ferramentas e os equipamentos mais adequados. Será por exemplo utilizado em aulas práticas e laboratoriais.

3. Método interrogativo: processo que se fundamenta em interações verbais, sob a condução do docente, adotando o formato de questões e respostas. Permite obter maior dinâmica na aula e consolidar a aprendizagem. Será utilizado por exemplo para recordar elementos de aulas anteriores, e em revisões do conteúdo lecionado.

4. Métodos ativos: serão utilizadas técnicas pedagógicas em que o aluno é o centro do processo de aprendizagem, sendo um participante ativo e envolvido na sua própria formação. O docente assume o papel de facilitador, estimulando o pensamento crítico, a colaboração, a criatividade e a autonomia dos alunos. Serão aplicados nas aulas para alcançar um ambiente de aprendizagem dinâmico e mais duradouro.

Resultados de Aprendizagem

No final da unidade curricular o aluno ficará habilitado a:

  • 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 Periódica
  • - Trabalhos práticos - 100.0%
Avaliação final
  • - um trabalho prático - 100.0%

Estágio(s)

NAO

Bibliografia

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

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.

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

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