image

Access unlimited bootcamps and 650+ courses

50
%OFF
Article image
Christopher Mineiro
Christopher Mineiro22/06/2024 18:11
Share
Microsoft Certification Challenge #3 DP-100Recommended for youMicrosoft Certification Challenge #3 DP-100

O Impacto da IA no Nosso Aprendizado

  • #Inteligência Artificial (IA)

Minha Experiência com a Programação

Comecei a estudar programação em meados de 2015, em um curso técnico onde enfrentei muitas dificuldades devido à falta de acesso a informações e ao meu inglês limitado. Programávamos em C usando uma IDE chamada Dev C++, com recursos super limitados e pouco suporte, como IntelliSense e extensões que facilitam a vida do desenvolvedor, como as que vemos hoje no Visual Studio Code (VSC) e outras IDEs. No final do curso, precisávamos criar uma interface no VC++ do "extinto" .NET Framework e conectar a um banco de dados com um pouco de SQL.

Infelizmente, naquela época não tínhamos o boom da inteligência artificial (IA) e dependíamos muito dos professores e colegas. Meu professor, em particular, era extremamente rude, respondendo de forma grosseira e desencorajando os alunos a fazerem perguntas, somente no último semestre onde eu me juntei a colegas que ja tinham algum conhecimento foi que eu comecei a aprender, porem essa péssima experiência inicial acabou me afastando da programação.

O Papel da IA no Aprendizado Atual

Felizmente, o cenário mudou. Hoje temos acesso a uma quantidade enorme de informações e ferramentas que facilitam o aprendizado. Meu inglês melhorou com cursos, permitindo-me ler documentações inteiras em inglês. Além disso, temos mentores como o ChatGPT e o Gemini, que oferecem explicações detalhadas, resumos de documentações em português e feedbacks sobre como melhorar um código. Ferramentas como Amazon Q e Copilot completam blocos inteiros de código, poupando tempo, minimizando possíveis erros de sintaxe e deixando o código mais limpo.

Algumas das Ferramentas de IA no Desenvolvimento de Software

ChatGPT

O ChatGPT atua como um professor sempre disponível para esclarecer dúvidas e explicar conceitos de forma compreensível. Sua capacidade de oferecer feedbacks detalhados sobre o código ajuda a melhorar a qualidade do trabalho.

Amazon Q

Amazon Q é uma ferramenta que pode auxiliar na depuração e otimização de código, sugerindo melhorias baseadas em práticas recomendadas.

Copilot

O GitHub Copilot, desenvolvido pela OpenAI, é uma extensão para editores de código que sugere linhas inteiras ou blocos de código enquanto você digita. Ele usa aprendizado de máquina para prever o que você quer programar, economizando tempo e reduzindo erros.

Exemplos Práticos

Aqui estão alguns exemplos de como essas ferramentas podem ser utilizadas:

ChatGPT:

  • Resolução de Problemas de Algoritmos: Se você está enfrentando dificuldades para entender ou implementar um algoritmo de ordenação, pode descrever o problema para o ChatGPT e obter uma explicação detalhada. Por exemplo, "Estou tentando implementar o algoritmo de ordenação por inserção, mas não entendo por que meu código não está funcionando corretamente. Pode me ajudar a depurar isso?"
  • Aprendizado de Novas Tecnologias: Você quer aprender uma nova tecnologia, como React, e pode pedir ao ChatGPT para explicar os conceitos básicos e fornece exemplos de código. Por exemplo, "Pode me ensinar como criar um componente simples em React?"
# Exemplo do algoritmo de ordenação insertion implementado em Python

def insertion_sort(arr):
  for i in range(1, len(arr)):
      key = arr[i]
      j = i - 1
      while j >= 0 and key < arr[j]:
          arr[j + 1] = arr[j]
          j -= 1
      arr[j + 1] = key
  return arr

# Explicação detalhada de cada passo fornecida pelo ChatGPT.
-------------------------------------------------------------------------------------------

# Exemplo da sintaxe no React

import React from 'react';

class HelloWorld extends React.Component {
  render() {
      return (
          <div>
              <h1>Hello, World!</h1>
          </div>
      );
  }
}

export default HelloWorld;

// ChatGPT explica a estrutura e a sintaxe do código.

Amazon Q:

  • Depuração de Código: Você tem um código complexo em Java que está apresentando erros e não sabe como corrigi-los. Usando o Amazon Q, você pode obter sugestões de depuração e melhorias. Por exemplo, "Estou recebendo uma NullPointerException no meu código Java. O que posso fazer para identificar e corrigir a causa desse erro?"
  • Otimização de Consultas SQL: Você escreveu uma consulta SQL para um banco de dados grande, mas ela está demorando muito para executar. O Amazon Q pode sugerir melhorias para otimizar a consulta. Por exemplo, "Como posso otimizar esta consulta SQL para melhorar o desempenho?"
// Exemplo em Java

public class Main {
  public static void main(String[] args) {
      String str = null;
      System.out.println(str.length()); // Isso causará NullPointerException
  }
}

// Amazon Q sugere verificações de nulidade antes de acessar métodos em objetos.

-------------------------------------------------------------------------------------------

-- Exemplo em SQL

SELECT employee_id, first_name, last_name
FROM employees
WHERE department_id = 10
ORDER BY last_name;

-- Amazon Q sugere adicionar índices para melhorar o desempenho da consulta.

Copilot:

  • Autocompletar Funções Inteiras: Você está escrevendo uma função em Python para calcular a média de uma lista de números. O Copilot pode sugerir automaticamente o código completo baseado no que você já escreveu. Por exemplo, "Escreva uma função em Python que calcula a média de uma lista de números."
  • Sugestão de Código para Funcionalidades Comuns: Durante o desenvolvimento de uma aplicação web, você precisa adicionar uma funcionalidade de autenticação. O Copilot pode sugerir o código necessário para criar um sistema de login básico. Por exemplo, "Preciso de uma função de login em Node.js que valide o nome de usuário e a senha contra um banco de dados."
# Exemplo em Python

def calculate_average(numbers):
  if len(numbers) == 0:
      return 0
  return sum(numbers) / len(numbers)


# Copilot sugere automaticamente a função completa.

-------------------------------------------------------------------------------------------

// Exemplo em JavaScript

const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const users = [{ username: 'user1', password: 'pass1' }];


app.use(bodyParser.json());


app.post('/login', (req, res) => {
  const { username, password } = req.body;
  const user = users.find(u => u.username === username && u.password === password);
  if (user) {
      res.status(200).send('Login successful');
  } else {
      res.status(401).send('Invalid credentials');
  }
});


app.listen(3000, () => {
  console.log('Server running on port 3000');
});

// Copilot sugere automaticamente o código de autenticação.

Considerações Críticas sobre o Uso da IA

Embora as ferramentas de IA sejam extremamente úteis, é importante não depender totalmente delas. A IA ainda comete erros e pode fornecer sugestões inadequadas. Sempre revise o código gerado e busque entender os conceitos por trás das sugestões. O pensamento crítico é essencial para garantir a qualidade e a segurança do seu trabalho. Além disso, é crucial estar atento à segurança de dados importantes e privados, pois sabemos que uma LLM pode utilizar os dados fornecidos para aprendizado, o que não é sábio se os dados forem sensíveis.

Conclusão

A IA transformou significativamente o aprendizado e a prática da programação, oferecendo ferramentas poderosas que podem economizar tempo e melhorar a qualidade do código. No entanto, é crucial manter um equilíbrio e não confiar cegamente nas sugestões da IA. Desenvolva um pensamento crítico e aprofunde seus conhecimentos para aproveitar ao máximo essas tecnologias.

É isso, desde já se você leu até aqui muito obrigado! de verdade e até uma próxima. Se você tiver comentários ou quiser debater sobre o impacto da IA no aprendizado, sinta-se à vontade para entrar em contato comigo por aqui ou pelo meu LinkedIn que deixarei logo abaixo 😊.

Contato: LinkedIn

Share
Recommended for you
XP Inc. - Cloud com Inteligência Artificial
Microsoft AI for Tech - Azure Databricks
Microsoft Certification Challenge #3 DP-100
Comments (0)
Recommended for youMicrosoft Certification Challenge #3 DP-100