image

Access unlimited bootcamps and 650+ courses forever

60
%OFF
Article image
Christopher Mineiro
Christopher Mineiro22/06/2024 18:11
Share

O Impacto da IA no Nosso Aprendizado

    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
    Comments (0)