Software Engineering and best practices – 3h
Este módulo aborda a importância da Engenharia de Software, explorando o Ciclo de Vida do Desenvolvimento de Software (SDLC) e os princípios SOLID. Inclui técnicas para a escrita de código limpo, a relevância de comentários e documentação, e estratégias de refatoração para melhorar a qualidade do código. Os participantes obterão uma compreensão abrangente das melhores práticas para o desenvolvimento de software eficiente e sustentável.
- O que é Engenharia de Software?
- Ciclo de Vida do Desenvolvimento de Software (SDLC)
- Princípios SOLID
- Escrita de Código Limpo
- Comentários e Documentação
- Refatoração
Seminário: Testing and Quality Assurance – 3h
Este seminário aborda os diferentes tipos de teste de software e explora o processo completo de teste, desde a conceção até à implementação. Serão apresentadas as ferramentas e tecnologias mais utilizadas, bem como as melhores práticas em teste e garantia de qualidade. O seminário também analisa os desafios e tendências atuais no teste de software, preparando os participantes para assegurar a qualidade e a fiabilidade dos seus projetos de software.
- Tipos de Teste de Software
- Processo de Teste de Software
- Ferramentas e Tecnologias de Teste
- Melhores Práticas em Teste e Garantia de Qualidade
- Desafios e Tendências em Teste de Software
Workshop: Repositório e Controlo de versões – 3h
Este workshop explora a importância dos repositórios no desenvolvimento de software e os diferentes modelos de controlo de versões. Aborda problemas comuns na partilha de ficheiros e apresenta soluções como Bloquear-Modificar-Desbloquear e Copiar-Modificar-Integrar. Os participantes aprenderão sobre cópias de trabalho, URLs de repositório e como estas cópias seguem o repositório, garantindo um controlo eficaz e organizado das versões do software.
- O repositório
- Modelos de Controlo de Versões
- O Problema da Partilha de Ficheiros
- A Solução Bloquear-Modificar-Desbloquear
- A solução Copiar-Modificar-Integrar
- Cópias de Trabalho.
- URLs do Repositório
- Como as Cópias de Trabalho Seguem o Repositório
Workshop: Unit Testing – 3h
Este workshop oferece uma introdução aos testes unitários, explicando a sua importância e funcionamento, ao garantir a qualidade e a fiabilidade do código desde as fases iniciais de desenvolvimento. Os participantes aprenderão a estrutura de um teste unitário eficaz e serão introduzidos a práticas avançadas e estratégias de testes.
- Introdução aos Testes Unitários
- Estrutura de um Teste Unitário
- Práticas Avançadas e Estratégias de Testes
PCAP: Programming Fundamentals in Python (Part 1) – b-Learning – 5h
Este módulo introduz os fundamentos da programação em Python, abordando conceitos essenciais como tipos de dados, variáveis e operações básicas de input-output. Os participantes aprenderão sobre operadores básicos, valores booleanos, execução condicional, loops e listas. O curso também cobre operações lógicas e bitwise, funções, tuplos, dicionários e processamento de dados, proporcionando uma base sólida para o desenvolvimento em Python.
- Introduction to Python
- Computer programming
- Data Type
- Variables
- Basic input-output operation
- Basic operators
- Boolean values
- Conditional execution
- Loops
- Lists
- Logical and bitwise operations
- Functions
- Tuples
- Dictionaries
- Data processing
PCAP: Programming Fundamentals in Python (Part 2) – b-Learning – 5h
Neste módulo os participantes continuam a explorar os fundamentos da programação em Python, focando-se em módulos e pacotes, e nos métodos de strings e listas. Aprenderão a lidar com exceções, a programar orientado a objetos (OOP) e a tratar exceções de forma eficaz. Além disso, serão abordadas técnicas para trabalhar com ficheiros, consolidando as competências necessárias para o desenvolvimento de aplicações robustas em Python.
- Modules
- Packages
- String and list methods
- Exceptions
- OOP
- Exception handling
- Working with files
Advanced Python Mastery- 28h
Neste módulo os participantes vão poder expandir os seus conhecimentos de Python e aprender sobre a manipulação idiomática de dados, classes e objetos, e o funcionamento interno dos objetos Python. O módulo aborda testes, logging e debugging, além de técnicas para empacotamento e distribuição de programas em Python. Também inclui tópicos avançados como metaprogramação, iteradores, geradores e corrotinas, e a extensão do Python com C e C++, proporcionando uma compreensão completa e avançada da linguagem.
- Python Review
- Idiomatic Data Handling
- Classes and Objects
- Inside Python Objects
- Testing, Logging, and Debugging
- Packaging and Distributing Python Programs
- Working with Functions
- Metaprogramming
- Iterators, Generators, and Coroutines
- Extending Python with C and C++
Ação de Preparação para Exame PCAP – 3h
Este módulo prepara os participantes para o exame PCAP (Certified Associate in Python Programming). Durante a sessão, serão abordados os principais tópicos abordados no exame. O objetivo é reforçar a compreensão dos conceitos fundamentais de Python e aumentar a confiança dos participantes para obterem a certificação com sucesso.
Workshop: REST and SOAP APIs – 6h
Este workshop introduz os conceitos básicos das APIs, focando-se nos fundamentos e na implementação de APIs REST e SOAP. Os participantes aprenderão a construir e integrar APIs REST eficientes, bem como a compreender e implementar APIs SOAP. A sessão também aborda as melhores práticas para testes e integração de APIs, proporcionando uma compreensão completa e prática destas tecnologias essenciais para o desenvolvimento de software moderno.
- Introdução às APIs
- Fundamentos de APIs REST
- Implementação de APIs REST
- Fundamentos de APIs SOAP
- Implementação de APIs SOAP
- Integração e Testes de APIs
DevOps CI/CD (Continuous integration and continuous delivery/deployment) – 12h
Este módulo oferece uma introdução completa ao DevOps e aos conceitos de Integração Contínua (CI) e Entrega Contínua (CD). Os participantes aprenderão os fundamentos da CI e da CD, incluindo práticas com ferramentas populares como Jenkins, GitLab CI e Azure DevOps. Também será abordada a segurança e as melhores práticas em CI/CD, garantindo que os participantes possam implementar processos eficientes e seguros de integração e entrega contínua nos seus projetos de desenvolvimento de software.
- Introdução ao DevOps e CI/CD
- Fundamentos de Integração Contínua (CI)
- Fundamentos de Entrega Contínua (CD)
- Práticas de CI/CD com Jenkins
- Práticas de CI/CD com GitLab CI
- Práticas de CI/CD com Azure DevOps
- Segurança e Melhores Práticas em CI/CD
Python in Azure – 9h
Este módulo ensina a desenvolver aplicações web em Python na cloud, utilizando os serviços da Azure. Os participantes irão aprender a construir, treinar, hospedar e fazer o deploy de modelos a partir de qualquer ambiente Python com os serviços da Azure. É também abordado o ciclo de vida DevOps para aplicações Python e a utilização do Python com o CosmosDB, oferecendo uma abordagem prática e integrada para o desenvolvimento na cloud.
- Build Python web apps in the cloud
- Build, train, host, and deploy models from any Python environment with Azure services
- DevOps lifecycle for your Python apps
- Use Python with CosmosDB
Infrastructure as Code (IaC) – 9h
Este módulo oferece uma introdução abrangente à Infrastructure as Code (IaC), explicando os fundamentos desta prática essencial para a automação e gestão de infraestruturas. Os participantes aprenderão sobre a Integração Contínua (CI), incluindo a instalação e configuração do Jenkins e dos seus plugins. O módulo também aborda a configuração de relatórios e monitorização, além de técnicas para monitorizar, manter e otimizar o Jenkins, garantindo uma gestão eficiente e automatizada das infraestruturas.
- Introduction to Infrastructure as Code
- IaC Fundamentals
- Describe Continuous Integration
- Install and configure Jenkins
- Install and configure plugins
- Setup reporting and monitoring
- Monitoring, maintaining, and tuning Jenkins
Deployment Automation – 18h
Este módulo aborda o ciclo completo de automação de deployment, iniciando com a integração de Python com GIT e a gestão de eventos. Os participantes aprenderão a realizar testes automatizados e a utilizar o Azure Test Plans. Inclui a instalação e utilização de Docker e Kubernetes, cobrindo desde a configuração inicial até a orquestração com Kubernetes. Serão explorados serviços de mensagens middleware como KAFKA e REDIS, proporcionando uma compreensão abrangente das ferramentas e práticas necessárias para a automação eficaz do deployment.
- Python to GIT
- Automation Tests
- Kubernets and Docker
- Docker Instalation
- Swarm Cluster
- Kubernets Orchestrator
- Middleware messaging services
Certificação Rumos Expert (CRE): Software Engineer – 14h
Certificação com base num projeto prático desenvolvido e apresentado