Programação e Automatização de Tarefas em Ambientes Distribuidos

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 Trindade

Métodos de Avaliação

Avaliação Contínua
  • - teste 1 e teste 2 - 45.0%
  • - Trabalho prático 1 e trabalho prático 2 - 45.0%
  • - Assiduidade e atitude - 10.0%
Avaliação Por Exame
  • - 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/