Tecnologias de Scripting e Automação
Ocorrência: 2024/25 - 1S
Cursos
Horas Efetivamente Lecionadas
TRSI-2-STR
Objetivos de aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes)
Espera-se do aluno aprovado:
- A capacidade de escrever código utilizando eficazmente a lógica da programação e as potencialidades de uma linguagem de scripting;
- A capacidade de automatizar tarefas de gestão de redes e de sistemas informáticos recorrendo a linguagens de scripting;
- A compreensão da arquitetura dos serviços numa dada realidade e a capacidade de conceber soluções de scripting e automação adequadas;
- A realização de tarefas de administração de sistemas com recurso a scripting e automação.
Conteúdos programáticos
- Introdução à programação com o Bash
- Configuração da consola
- Sintaxe dos comandos
- Utilização do help
- Sistema de Ficheiros: caminhos absolutos e caminhos relativos
- Variáveis de Ambiente. Variáveis Globais e Locais
- Estruturas de Controle
- Criação e execução de Scripts
- Scripts Parametrizados
- Comandos do Linux
- Redirecção e Pipeline
- Files e Files Descriptors
- Standard Input, Standard Output e Standard Error
- Redirecção do Output (overwrite e append)
- Redirecção do Standard Error
- Redirecção do Input e Here Documents
- Estrutura de uma cadeia de comandos (pipeline)
- Expansões no Bash
- Tilde, Brace, Parameter, Arithmetic e Command Expansions
- Sistema de Ficheiros
- Input do Utilizador e Input de Ficheiros
- Formatação básica
- Projeto: Git, GitHub, GitHub CodeSpaces
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular
São expostos os comandos do Linux e o encadeamento de comandos em Pipeline quer na linha de comandos quer em expressões e instruções nos scripts.
É exposta a sintaxe e a semântica da linguagem de scripting Bash para a produção de scripts que automatizem tarefas repetitivas e manuais.
Metodologias de ensino e de aprendizagem específicas da unidade curricular articuladas com o modelo pedagógico
Metodologia de ensino:
- Aulas teórico-práticas de exposição da matéria, de demonstração de conceitos e de software, de resolução de exercícios e de apresentação e discussão da solução dos exercícios.
- Aulas práticas dedicadas à realização do projeto da disciplina e aulas de apresentação e discussão dos projetos dos alunos
Avaliação
- Realização de um teste prático com o peso de 50% na nota final
- Conceção, desenho e implementação de um projeto em sala de aula (50% da nota final).
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da unidade curricular
Com a exposição dos conceitos fundamentais e com a demonstração de código e de soluções de software é dado ao aluno a responsabilidade e a motivação para o seu envolvimento nos exercícios que lhe são atribuídos. É favorecida a autonomia do aluno e privilegiado o desejo e a capacidade da descoberta. O projecto final permite a articulação e a integração dos conceitos e tecnologias abordados, consolidando-os e abrindo as portas à procura de mais conhecimento.
Bibliografia de consulta (existência obrigatória)