Tecnologias de Mercado

Conhecimentos de Base Recomendados

Recomenda-se a conclusão prévia das seguintes unidades curriculares:

  • Fundamentos de Programação;
  • Estruturas de Dados.

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 estudantes 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 estudante é 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 estudantes. 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 estudante ficará habilitado a:

1. Analisar requisitos e restrições para planear e estruturar eficazmente aplicações informáticas;

2. Aplicar boas práticas de programação no desenvolvimento de software. Utilizar normas para escrever e documentar código;

3. Usar sistemas de controlo de versões para gerir e acompanhar alterações em projetos de software;

4. Desenvolver soluções de software combinando e integrando código próprio com recursos de terceiros;

5. Avaliar os potenciais riscos de segurança dos sistemas de software. Implementar as melhores práticas de segurança;

6. Analisar a qualidade do software utilizando diversas metodologias de teste para garantir a fiabilidade e o desempenho do mesmo;

7. Aplicar conhecimentos e habilidades na implementação de sistemas informáticos, assegurando o seu correto funcionamento em ambientes de produção.

Programa

1. Planeamento e estruturação de aplicações informáticas;

2. Boas práticas de programação e escrita de documentos técnicos;

3. Utilização de sistemas de controlo de versões;

4. Criação e (re)utilização de código próprio e de terceiros (bibliotecas de código, frameworks, APIs);

5. Segurança de software;

6. Qualidade de software;

7. Deployment de sistemas informáticos.

Docente(s) responsável(eis)

Estágio(s)

NAO

Bibliografia

Bass, L., & Klein, J. (2019). Deployment and operations for software engineers. Independently published.

Correia, M. P., & Sousa, P. J. (2017). Segurança no software (2nd ed. ). FCA.

Laboon, B. (2016). A friendly introduction to software testing (1st ed. ). CreateSpace Independent Publishing Platform.

Martin, R. C. (2011). The clean coder: a code of conduct for professional programmers (1st ed. ). Pearson.

McConnell, S. C. (2004). Code complete (2nd ed. ). Microsoft Press.