Introdução ao desenvolvimento de Sotware com DevOps Server
Este módulo introduz os conceitos fundamentais do desenvolvimento de software com DevOps Server. Os participantes aprenderão a utilizar as ferramentas do Azure, incluindo Azure Boards para gestão de projetos, Azure Pipelines para integração e entrega contínua, Azure Repos para controlo de versões, Azure Test Plans para planeamento e execução de testes, e Azure Artifacts para gestão de pacotes. Este módulo oferece uma visão completa do ciclo de vida DevOps, preparando os desenvolvedores para implementar práticas ágeis e eficientes nos seus projetos.
- Introduction to Software Development
- Azure Boards
- Azure Pipelines
- Azure Repos
- Azure Test Plans
- Azure Artifacts
Auto-estudo dedicado a Fundamentos de C#
Neste momento de auto-estudo ser-te-ão facultados guiões, ou materiais, que servirão como um roteiro valioso durante a tua jornada individual de aprendizagem e que serão focados nestes tópicos:
- Write your first lines of C# code
- Store and manipulate data to modify its type and appearance
- Execute built-in functionality available from libraries of code
- Add logic to your code to enable complex business functionality
Programação Orientada a Objetos em C#
Este módulo oferece uma imersão profunda nos conceitos de Programação Orientada a Objetos (OOP) em C#. Os participantes aprenderão sobre construtores e destrutores, comportamento estático e sobrecarga de métodos e construtores, incluindo sobrecarga de operadores. A gestão de exceções, anotações de dados, indexadores, delegados e eventos também serão abordados. Além disso, serão explorados namespaces e assemblies, herança e polimorfismo, reflexão, estruturas, coleções e genéricos, bem como Linq to Objects. O curso inclui programação paralela e padrões de design em OOP, preparando os participantes para desenvolver software robusto e eficiente com C#.
- Object-Oriented Programming Concepts
- Constructors and Destructors; Static behavior
- Overloading: Methods and Constructors; Operator Overloading
- Exception handling
- Data annotations
- Indexers; Delegates; Events
- Namespaces and assemblies
- Inheritance & Polymorphism
- Reflection
- Structures; Collections and Generics; Linq to Objects
- Parallel Programming
- Design Patterns – OOP
Projeto Prático parte I
ADO .NET – Acesso a Dados
Este módulo proporciona uma compreensão completa das tecnologias ADO .NET para acesso a dados. Os participantes serão introduzidos aos conceitos fundamentais, como Database First, Model First e Code First, e aprenderão a realizar operações de base de dados, gerir concorrência e transações. O curso aborda tipos complexos e enumerações, mapeamento de stored procedures, programação assíncrona, cenários conectados vs. desconectados, e técnicas de carregamento (Eager, Lazy e explícito). Serão explorados LINQ to Entities, EF Interceptor, Fluent API, anotações de dados, migrações Code First, múltiplos DbContext e integração com NoSQL, preparando os participantes para trabalhar eficientemente com ADO .NET.
- Introduction to ADO .NET Technologies
- Database First
- Model First
- Code First
- Database Operations; Concurrency; Transactions
- Complex Types & Enum Types; Stored Procedure mappings
- Asynchronous Programming
- Connected vs Disconnected scenarios
- Eager Loading, Lazy Loading & explicit Loading
- LINQ to Entities
- EF Interceptor
- Fluent API & Data Annotations
- Code First Migrations
- Multiple DbContext
- NoSQL
Projeto Prático parte II
Fundamentos de HTML5, CSS e JavaScript
Este módulo oferece uma introdução abrangente a HTML5, CSS3 e JavaScript, essenciais para o desenvolvimento web moderno. Os participantes aprenderão a criar formulários para recolha e validação de dados, a comunicar com fontes de dados remotas e a estilizar HTML5 utilizando CSS3. Serão abordados a criação de objetos e métodos em JavaScript, a construção de páginas interativas com APIs HTML5, e a adição de suporte offline a aplicações web. O curso também cobre a implementação de interfaces de utilizador adaptativas, a criação de gráficos avançados, a animação de interfaces, a comunicação em tempo real com WebSockets e a criação de processos de Web Worker, preparando os participantes para desenvolver aplicações web dinâmicas e responsivas.
- Introduction to JavaScript
- Creating Forms to Collect Data and Validate User Input
- Communicating with a Remote Data Source
- Styling HTML5 by Using CSS3
- Creating Objects and Methods by Using JavaScript
- Creating Interactive Pages using HTML5 APIs
- Adding Offline Support to Web Applications
- Implementing an Adaptive User Interface
- Creating Advanced Graphics
- Animating the User Interface
- Implementing Real-Time Communications by Using Web Sockets
- Creating a Web Worker Process
Projeto Prático parte III
ASP NET MVC Core
Este módulo explora o desenvolvimento de aplicações web com ASP.NET Core MVC. Os participantes aprenderão a projetar aplicações web, configurar middlewares e serviços, e desenvolver controladores, vistas e modelos. O curso inclui o uso do Entity Framework Core, a integração de layouts, CSS e JavaScript, e o desenvolvimento do lado do cliente. Serão abordadas técnicas de teste e resolução de problemas, gestão de segurança, desempenho e comunicação. O módulo também cobre a implementação de APIs web e o processo de hosting e deployment, proporcionando uma formação completa para criar aplicações web robustas e eficientes com ASP.NET Core MVC.
- Exploring ASP.NET Core MVC
- Designing ASP.NET Core MVC Web Applications
- Configure Middlewares and Services in ASP.NET Core
- Developing Controllers
- Developing Views
- Developing Models
- Using Entity Framework Core in ASP.NET Core
- Using Layouts, CSS and JavaScript in ASP.NET Core MVC
- Client-Side Development
- Testing and Troubleshooting
- Managing Security
- Performance and Communication
- Implementing Web APIs
- Hosting and Deployment
Projeto Prático parte IV
Seminário: Scrum / Metodologias Ágeis
Este seminário oferece uma introdução abrangente às metodologias ágeis, com foco no Scrum. Os participantes aprenderão os conceitos fundamentais do Scrum, incluindo os papéis, eventos e artefatos envolvidos. O seminário aborda as melhores práticas para a implementação de metodologias ágeis em projetos, promovendo a colaboração, flexibilidade e eficiência no desenvolvimento de software.
AZ-900: Azure Fundamentals – E-Learning
Este módulo de autoestudo na modalidade e-Learning é uma introdução abrangente aos conceitos fundamentais do Azure. Os participantes aprenderão a descrever os conceitos básicos do Azure, os serviços principais, as soluções e ferramentas de gestão. O curso também aborda as características gerais de segurança e segurança de rede, identidade, governança, privacidade e conformidade. Além disso, cobre a gestão de custos do Azure e os acordos de nível de serviço (SLAs), preparando os participantes para uma compreensão sólida e inicial do Azure.
- Describe core Azure concepts
- Describe core Azure services
- Describe core solutions and management tools on Azure
- Describe general security and network security features
- Describe identity, governance, privacy, and compliance features
- Describe Azure cost management and service level agreements
Sessão Q&A: Microsoft Azure Fundamentals
Esta sessão será dedicada ao esclarecimento de dúvidas sobre a matéria abordada no módulo AZ-900: Azure Fundamentals
Workshop: Chat GPT para Programadores
Este workshop oferece uma introdução abrangente aos conceitos e terminologia de IA, destacando os desafios e riscos associados. Os participantes explorarão o ChatGPT e outras ferramentas de IA, aprendendo como aumentar a produtividade com estas tecnologias. O workshop inclui a construção e otimização de prompts, criação e correção de código, otimização de código, criação de testes unitários e conversão de código entre diferentes linguagens de programação. A sessão prática permite aplicar os conhecimentos adquiridos na construção de prompts eficazes, preparando os programadores para tirar o máximo proveito do ChatGPT nas suas atividades diárias.
- Conceitos e Terminologia de IA
- Desafios e Riscos na IA
- ChatGPT e outros
- ChatGPT no aumento de produtividade
- Construção e Otimização de Prompts
- Criação de código
- Correção de código / bugs
- Otimização de código
- Criação de testes unitários
- Conversão de código entre diferentes linguagens de programação
- Prática de Construção de Prompts
Developing Azure Fundamentals and Web Services
Este módulo proporciona uma visão abrangente das tecnologias de serviço e cloud, começando com uma visão geral das tecnologias envolvidas. Os participantes aprenderão a criar e consumir serviços ASP.NET Web API, além de como estender e proteger esses serviços. O curso abrange a criação de serviços WCF, hospedagem e deployment de serviços, bem como monitorização e diagnósticos. Também serão explorados a gestão de identidade e controlo de acesso, a escalabilidade dos serviços e o uso do Windows Azure Service Bus, capacitando os desenvolvedores para implementar e gerir serviços web robustos e escaláveis na Azure.
- Overview of service and cloud technologies
- Creating and Consuming ASP.NET Web API Services
- Extending and Securing ASP.NET Web API Services
- Creating WCF Services
- Hosting Services
- Deploying Services
- Monitoring and Diagnostics
- Identity Management and Access Control
- Scaling Services
- Windows Azure Service Bus
Developing Solutions for Microsoft Azure
Este módulo aborda a criação de soluções na plataforma Microsoft Azure, incluindo Azure App Service Web Apps e Azure Functions. Aborda o uso de armazenamento em blob e Cosmos DB, implementação de IaaS, autenticação e autorização de utilizadores, segurança, gestão de APIs, Logic Apps, soluções baseadas em eventos e mensagens, monitorização, otimização, caching e entrega de conteúdo, preparando os desenvolvedores para criar soluções robustas na cloud Azure.
- Creating Azure App Service Web Apps
- Implement Azure functions
- Develop solutions that use blob storage
- Develop solutions that use Cosmos DB storage
- Implement IaaS solutions
- Implement user authentication and authorization
- Implement secure cloud solutions
- Implement API Management
- Develop App Service Logic Apps
- Develop event-based solutions
- Develop message-based solutions
- Monitor and optimize Azure solutions
- Integrate caching and content delivery within solutions
Ação de Preparação para Exame AZ-204
Este módulo prepara os participantes para o exame AZ-204: Developing Solutions for Microsoft Azure. Foca-se na revisão dos principais tópicos do exame. O objetivo é reforçar os conhecimentos adquiridos e aumentar a confiança dos participantes para obterem a certificação com sucesso.
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. 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. Este workshop é essencial para quem procura garantir a qualidade e a fiabilidade do código desde as fases iniciais de desenvolvimento.
- 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 aprenderão sobre manipulação idiomática de dados, classes e objetos, e o funcionamento interno dos objetos Python. O curso 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 cobre 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. O curso também aborda 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 aprenderão a construir, treinar, hospedar e fazer o deploy de modelos a partir de qualquer ambiente Python com os serviços da Azure. O curso também cobre 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 curso 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. O curso 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