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
- - Trabalhos práticos - 100.0%
- - 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.