Conhecimentos de Base Recomendados
- Programação – Conceitos fundamentais de lógica, estruturas de dados e algoritmos.
- Sistemas Operativos – Funcionamento, gestão de processos e administração básica.
- Redes de Computadores – Protocolos, comunicação entre sistemas e segurança.
- Leitura Fluente em Língua Portuguesa – Compreensão e interpretação eficaz de documentação técnica.
Métodos de Ensino
Aulas teóricas: Explanação dos conceitos de programação em ambientes distribuídos. Sustentação dos conteúdos
teóricos com cenários reais, cimentados na discussão das aproximações e soluções. Os conceitos teóricos permitirão
criar os conceitos necessários para a compreensão e aplicação das soluções de automatização de tarefas
Aulas práticas: Programação baseada em exercícios cujo grau de complexidade vai incrementando, criando as bases de
programação em ambientes distribuídos. Fomentação de trabalhos práticos realizados em grupo de modo a haver
partilha de conhecimentos.
Resultados de Aprendizagem
A presente unidade curricular pretende, numa primeira fase, consolidar conceitos de programação de aplicações
distribuídas, introduzindo linguagens, bibliotecas, interfaces e ambientes de suporte ao seu desenvolvimento rápido. Estes
conceitos e ferramentas devem, numa segunda fase, ser exercitados no desenvolvimento de soluções de automatização
de tarefas comuns em redes de comunicação, dotando os alunos de uma visão abrangente das abordagens mais
populares neste domínio.
As competências focam em o aluno ser capaz de programar em linguagens de programação adequadas para gestão de sistemas operativos, numa perspetiva
distribuída. Perceber o conceito de bibliotecas e livrarias necessárias para minimizar o esforço de desenvolvimento, numa
perspetiva de maximizar o resultado pretendido. Perceber o conceito de testes de software de modo a produzir produtos de
elevada qualidade. Compreender e aplicar soluções de automação de IT.
Programa
1. Programação de aplicações distribuídas.
2. Linguagens e ambientes de suporte ao desenvolvimento rápido de aplicações.
3. Bibliotecas de funções de suporte à automatização de tarefas de gestão de redes e sistemas.
4. Automatização de tarefas em sistemas operativos
Docente(s) responsável(eis)
André Filipe Marques TrindadeMétodos de Avaliação
- - teste 1 e teste 2 - 45.0%
- - Trabalho prático 1 e trabalho prático 2 - 45.0%
- - Assiduidade e atitude - 10.0%
- - Exame escrito - 100.0%
Estágio(s)
NAO
Bibliografia
Red Hat, Inc. (n.d.). Ansible documentation. https://docs.ansible.com/
pytest developers. (n.d.). Pytest documentation. https://docs.pytest.org/
Python Software Foundation. (n.d.). PEP 8 – Style guide for Python code. https://peps.python.org/pep-0008/
Python Software Foundation. (n.d.). PEP 257 – Docstring conventions. https://peps.python.org/pep-0257/
Python Software Foundation. (2010). Python 2.7 documentation. https://docs.python.org/2/