INTELIGÊNCIA ARTIFICIAL (IA) – ANÁLISE E PRODUÇÃO DE CÓDIGO INFORMÁTICO

INTELIGÊNCIA ARTIFICIAL (IA) – ANÁLISE E PRODUÇÃO DE CÓDIGO INFORMÁTICO

A formação Inteligência Artificial (IA) – Análise e Produção de Código Informático destina‑se a desenvolvedores e gestores de projeto que pretendem compreender e aplicar os contributos da IA ao longo do ciclo de desenvolvimento de software. Ao longo de 2 dias (14 horas), os participantes exploram ferramentas de referência para análise de código, geração automática e apoio ao desenvolvimento, como Pylint, Pycodestyle, CodeQL, GitHub Copilot, AlphaCode e OpenAI Codex. A formação aborda ainda os benefícios, limites e riscos da utilização de IA no código (segurança, aspetos jurídicos e controlo humano), permitindo escolher as ferramentas mais adequadas a cada projeto e utilizá‑las de forma crítica e eficaz.

  • Explicar quais são os contributos da Inteligência Artificial no processo de desenvolvimento
  • Reconhecer as principais ferramentas disponíveis
  • Aplicar a escolha mais adequada em função do projeto
2 dias

Contributos da IA

• Intervenções em várias etapas do processo de desenvolvimento

Verificação da qualidade do código

• Análise de código para gerar documentação

• Deteção de erros
• Deteção de falhas de segurança
• Verificação da sintaxe
• Verificação das regras de desenvolvimento

• Gestão de código-fonte
• Geração de testes automatizados
• Utilização de modelos de aprendizagem automática
• Propostas de módulos de código

• Preenchimento automático
• Geração de código completo

• Vantagens

• Apoio aos programadores
• Ganhos de tempo
• Controlo exaustivo
• Melhor documentação

• Algumas ferramentas de referência

• Ferramentas de análise de código: Pylint, Checkstyle, Pycodestyle, Black, CodeQL
• Ferramentas de preenchimento automático: Tabnine, Kite
• Ferramentas de geração de código: Alphacode, GitHub Copilot, Codex

Pycodestyle

• Verificação do respeito pelas convenções de escrita PEP8 (Python Enhancement Proposal 8)
• Arquitetura modular e ferramenta leve
• Integração com os principais IDE (VS Code, PyCharm, Jupyter Notebook)
• Retorno direto de erros durante a edição do código
• Configuração em modo utilizador ou projeto

Exemplos de exercícios práticos

• Instalação do Pycodestyle
• Implementação num programa simples
• Visualização de erros num código-fonte
• Integração no Jupyter Notebook

Pylint

• Verificação do respeito pela PEP8
• Deteção de erros de programação
• Apoio ao refactoring
• Configuração das prioridades do utilizador
• Integração contínua
• Integração com os principais editores e IDE

Exemplos de exercícios práticos

• Instalação do Pylint
• Configuração da deteção de erros
• Desativação de verificações de regras de escrita e refactoring
• Testes em programas característicos

CodeQL

• Pesquisa de falhas de segurança em código
• Funcionamento:

• Geração de uma base de dados a partir do código
• Execução de consultas para detetar falhas

• Linguagens suportadas e arquitetura

• Execução local com CodeQL‑CLI ou via GitHub

• Princípio de integração contínua

Exemplos de exercícios práticos

• Implementação do CodeQL para Python
• Escrita de consultas básicas
• Utilização da biblioteca CodeQL library for Python

AlphaCode

• Apresentação do projeto Google DeepMind
• Princípio de funcionamento
• Resultados obtidos no CodeForces

Copilot

• Apresentação do projeto GitHub Copilot alimentado por OpenAI Codex
• Função: assistente virtual de programação
• Sugestões de linhas completas de código ou funções completas
• Linguagens suportadas

Exemplos de exercícios práticos

• Demonstração no GitHub da utilização do Copilot

Codex

• Project
• OpenAI Codex
• Modulo do Project Open AI
• Produção de código informático a partir de pedidos em linguagem natural
• Recursos disponíveis
• Bibliotecas de código online
• Hackathons
• Bibliotecas Python

Exemplos de exercícios práticos

• Demonstração com OpenAI Codex
• Geração de código Python a partir de um caderno de encargos simples
• Testes e melhoria do código através de interface em linguagem natural

Limites e riscos

• Necessidade de uma nova organização das tarefas dos programadores
• Definição do problema a resolver, das restrições e dos conjuntos de testes
• Potenciais riscos de segurança
• Riscos jurídicos
• Origem das soluções utilizadas
• Propriedade do código
• Erros
• Na compreensão
• Na análise do problema a ser resolvido

Importância dos controlos humanos a implementar

O conteúdo deste programa pode ser objeto de adaptação em função dos níveis, pré-requisitos e necessidades dos participantes.

Facilitador que combina know-how com experiência empresarial e competências pedagógicas, para dar resposta a necessidades operacionais e potenciar a aprendizagem.

Objetivos da formação

  • Explicar quais são os contributos da Inteligência Artificial no processo de desenvolvimento
  • Reconhecer as principais ferramentas disponíveis
  • Aplicar a escolha mais adequada em função do projeto

Duração da formação

2 dias

Programa da formação

Contributos da IA

• Intervenções em várias etapas do processo de desenvolvimento

Verificação da qualidade do código

• Análise de código para gerar documentação

• Deteção de erros
• Deteção de falhas de segurança
• Verificação da sintaxe
• Verificação das regras de desenvolvimento

• Gestão de código-fonte
• Geração de testes automatizados
• Utilização de modelos de aprendizagem automática
• Propostas de módulos de código

• Preenchimento automático
• Geração de código completo

• Vantagens

• Apoio aos programadores
• Ganhos de tempo
• Controlo exaustivo
• Melhor documentação

• Algumas ferramentas de referência

• Ferramentas de análise de código: Pylint, Checkstyle, Pycodestyle, Black, CodeQL
• Ferramentas de preenchimento automático: Tabnine, Kite
• Ferramentas de geração de código: Alphacode, GitHub Copilot, Codex

Pycodestyle

• Verificação do respeito pelas convenções de escrita PEP8 (Python Enhancement Proposal 8)
• Arquitetura modular e ferramenta leve
• Integração com os principais IDE (VS Code, PyCharm, Jupyter Notebook)
• Retorno direto de erros durante a edição do código
• Configuração em modo utilizador ou projeto

Exemplos de exercícios práticos

• Instalação do Pycodestyle
• Implementação num programa simples
• Visualização de erros num código-fonte
• Integração no Jupyter Notebook

Pylint

• Verificação do respeito pela PEP8
• Deteção de erros de programação
• Apoio ao refactoring
• Configuração das prioridades do utilizador
• Integração contínua
• Integração com os principais editores e IDE

Exemplos de exercícios práticos

• Instalação do Pylint
• Configuração da deteção de erros
• Desativação de verificações de regras de escrita e refactoring
• Testes em programas característicos

CodeQL

• Pesquisa de falhas de segurança em código
• Funcionamento:

• Geração de uma base de dados a partir do código
• Execução de consultas para detetar falhas

• Linguagens suportadas e arquitetura

• Execução local com CodeQL‑CLI ou via GitHub

• Princípio de integração contínua

Exemplos de exercícios práticos

• Implementação do CodeQL para Python
• Escrita de consultas básicas
• Utilização da biblioteca CodeQL library for Python

AlphaCode

• Apresentação do projeto Google DeepMind
• Princípio de funcionamento
• Resultados obtidos no CodeForces

Copilot

• Apresentação do projeto GitHub Copilot alimentado por OpenAI Codex
• Função: assistente virtual de programação
• Sugestões de linhas completas de código ou funções completas
• Linguagens suportadas

Exemplos de exercícios práticos

• Demonstração no GitHub da utilização do Copilot

Codex

• Project
• OpenAI Codex
• Modulo do Project Open AI
• Produção de código informático a partir de pedidos em linguagem natural
• Recursos disponíveis
• Bibliotecas de código online
• Hackathons
• Bibliotecas Python

Exemplos de exercícios práticos

• Demonstração com OpenAI Codex
• Geração de código Python a partir de um caderno de encargos simples
• Testes e melhoria do código através de interface em linguagem natural

Limites e riscos

• Necessidade de uma nova organização das tarefas dos programadores
• Definição do problema a resolver, das restrições e dos conjuntos de testes
• Potenciais riscos de segurança
• Riscos jurídicos
• Origem das soluções utilizadas
• Propriedade do código
• Erros
• Na compreensão
• Na análise do problema a ser resolvido

Importância dos controlos humanos a implementar

O conteúdo deste programa pode ser objeto de adaptação em função dos níveis, pré-requisitos e necessidades dos participantes.

Formador

Facilitador que combina know-how com experiência empresarial e competências pedagógicas, para dar resposta a necessidades operacionais e potenciar a aprendizagem.

Indisponível

Quer uma formação à medida para a sua empresa?

Peça-nos uma proposta!
Clique na imagem para expandir

Os nossos espaços de formação oferecem todas as condições para continuar o seu desenvolvimento pessoal e profissional em absoluta segurança

Não se esqueça de subscrever o blog RhBizz e de nos seguir no LindekInFacebookInstagram Youtube.

Formações ajustadas ao seu negócio

FORMAÇÕES À MEDIDA

Provocamos e aceleramos processos de mudança com a implementação e desenvolvimento de soluções pragmáticas orientadas para os resultados

SABER MAIS