Zephyrnet Logo

Pense por si mesmo se deseja que a IA lhe ensine como codificar

Data:

Característica Aprender a programar talvez seja agora mais fácil do que nunca com a IA, embora as ferramentas que sugerem ou geram código-fonte para você devam ser usadas com sabedoria. 

Programar requer paciência e persistência, principalmente no início do processo de aprendizagem, quando nada faz muito sentido. As regras para escrever código parecem confusas. Existem todos os tipos de sinais de pontuação e símbolos que devem ser usados ​​com cuidado. Faltar dois pontos ou vírgula, ou bagunçar o recuo pode levar a erros, dependendo do idioma usado. Com o tempo, com bastante prática, ele se encaixa no lugar.

Como a maioria dos iniciantes que aprendem a programar online, comecei assistindo tutoriais e resolvendo problemas em conjuntos de exercícios de programação. Quando fiquei preso em um problema, era muito tentador recorrer ao ChatGPT, o que facilmente me ajudaria a encontrar a solução certa. Esses tipos de assistentes são bons para gerar código simples e alguns deles podem até fornecer uma resposta completa exatamente como você a descreve.

Percebi isso enquanto lutava com a implementação de uma função específica e desativei o recurso de preenchimento automático do GitHub Copilot no Visual Studio Code para evitar trapaças.

Não basta copiar e colar

David Malan, professor de ciência da computação na Universidade de Harvard, ensina CS50, um popular curso introdutório à ciência da computação (que pode ser feito gratuitamente online), concordou que a IA às vezes pode ser um pouco útil demais. 

Para dissuadir os alunos de usar ferramentas como o ChatGPT da OpenAI ou o Bard do Google para completar as suas tarefas, os professores ofereceram-lhes uma alternativa: um pato de borracha virtual. O pato CS50 é um chatbot de codificação desenvolvido com GPT-4, mas possui grades de proteção para evitar que os alunos batota.

Depuração de pato de borracha, como você deve saber, é uma coisa no desenvolvimento de software: se você estiver preso em algum código, conversar sobre o problema com algum brinquedo ou outro objeto inanimado pode ajudá-lo a descobrir a solução sozinho. É bastante eficaz.

O depurador de pato CS50 é uma homenagem a isso: o bot foi preparado para ser amigável e solidário, ele apenas responde a dúvidas relacionadas ao curso e não fornece respostas para problemas de lição de casa, disse Malan O registro

“Nossa política no início do curso é que os alunos não podem usar softwares de terceiros como ChatGPT e Copilot; eles simplesmente tendem a ser prestativos demais, dispostos a fornecer soluções diretas aos alunos, em vez de orientá-los nessa direção, como faria um bom professor. Mas os alunos são autorizados e incentivados a usar o próprio software baseado em IA do CS50, que possui essas proteções pedagógicas instaladas”, disse ele.

O pato CS50 foi lançado no ano passado e o feedback tem sido em sua maioria positivo. Ter um tutor virtual disponível significa que os alunos podem pedir ajuda a qualquer hora que desejarem. Mas, como todos os modelos de IA, pode cometer erros e nem sempre é preciso. Os testes iniciais mostraram que ele foi capaz de responder corretamente a cerca de 88% das questões relacionadas ao currículo. 

O bot de codificação também é útil para instrutores; dá-lhes mais tempo para ajudar os alunos em outras áreas além do dever de casa. Em um artigo de pesquisa [PDF] analisando o impacto do depurador de pato, professores de Harvard disseram que seu experimento de construção de um assistente virtual de codificação de IA valeu a pena. Eles acreditam que “a IA generativa [pode] reforçar a aprendizagem dos alunos, e não apenas interrompê-la”, e estão procurando maneiras de aplicar a tecnologia em outras disciplinas.

Economizando tempo com menos pesquisas no Google

Pelo que vale, minha formação acadêmica é em física e jornalismo científico, e não em ciência da computação. Comecei a aprender a codificar pouco antes de a última geração de chatbots decolar. Anteriormente, eu tentava entender os conceitos de software ou corrigir bugs, como muitas pessoas, lendo postagens de blogs ou procurando exemplos de códigos semelhantes em sites como Stack Overflow. A IA me permite abreviar esse processo.

Em vez de vasculhar muitas informações para encontrar as soluções que melhor correspondam ao meu problema, agora posso recorrer a um grande modelo de linguagem para obter ajuda direta. Estou aprendendo para poder entender melhor as tecnologias que outras pessoas estão usando; esses assistentes digitais me atualizam mais rápido do que ler vários artigos sobre, digamos, fatias versus matrizes, ou folhear projetos de software de outras pessoas.

O código escrito por máquina, entretanto, nem sempre é útil e pode diminuir a qualidade de uma base de código. Se eu copiasse e colasse a saída de um assistente de IA em minha fonte, isso frequentemente introduziria novos erros porque não se encaixava no resto do meu programa. Tentar corrigir esses erros pode ser complicado, principalmente se você não entender o que foi gerado. Como um novato, nem sempre era claro se os erros aconteciam porque o código estava simplesmente errado ou se estava sendo usado no contexto errado.

“Acho que se alguém quisesse aprender a codificar [usando a atual] safra de ferramentas de IA, deveria abordar isso com dois objetivos: aproveitar o tempo para aprender a codificar o suficiente para saber o que a ferramenta está gerando. [E] adote o papel de 'revisor de código' e estude como identificar e melhorar códigos ruins”, Zed Shaw, desenvolvedor de software e autor de Aprenda Python da maneira mais difícil, Disse O registro

Os programadores devem ser capazes de detectar erros em códigos feitos por máquinas e não devem confiar completamente nos bots. Eles certamente deveriam estar atentos a códigos óbvios protegidos por direitos autorais que aparecem na saída dos modelos.

“O fato de o ChatGPT fornecer soluções mais rápidas, embrulhadas em frases tranquilizadoras como 'Acho que isso deve resolver o seu problema...', faz com que desliguemos nosso pensamento crítico e não questionemos suas soluções com o cuidado que deveríamos”, disse Charles. Severance, professor de ciência da computação na Escola de Informação da Universidade de Michigan, que liberado cursos de codificação gratuitos online.

“Sempre presuma que ChatGPT é um programador menos qualificado do que você. A única maneira segura de usar ferramentas de IA é quando você está confiante de que a solução produzida está correta”, acrescentou. 

Você precisa saber o que está fazendo

Para usar essas ferramentas de maneira eficaz, você deve compreender seu problema e explicá-lo claramente em seu prompt. A qualidade do código retornado na saída depende da maneira como você enquadra suas perguntas na entrada, disse Inbal Shani, diretor de produto do GitHub. O registro.

Os usuários devem interagir com Copiloto do GitHub como se estivessem conversando com um colega, sugeriu ela. “Quanto mais detalhes você fornecer ao assistente que está ao seu lado sobre qual é a sua intenção, para onde você está indo para o problema que está tentando resolver, melhor resposta obterá porque a IA obtém mais contexto. Ele sabe como fazer uma pesquisa mais detalhada para encontrar o código certo ou recomendar a infraestrutura de teste certa para você”, disse ela. 

As linguagens de programação que usamos tornaram-se mais alinhadas com a linguagem humana; ferramentas de chat são apenas o próximo passo nesta evolução

Phillip Compeau, professor assistente da Carnegie Mellon University, que criou o Rosalind plataforma e Programação para amantes tutorial, para pessoas interessadas em biologia computacional, concordou.

Quando ensina alunos que estão começando a programar, ele os incentiva a ficar longe da IA. Mas para alunos mais avançados que conhecem o básico, ele ensina como usar a tecnologia para serem mais produtivos e eficientes em seu trabalho.

“Uma das coisas que mostro aos alunos é que a melhor maneira de obter uma resposta clara e correta de uma ferramenta de IA que gera código é se você for capaz de especificar de forma clara e correta exatamente o que o computador precisa fazer. Essa é a própria definição de programar um computador e, com o tempo, as linguagens de programação que usamos tornaram-se mais alinhadas com a linguagem humana; as ferramentas de chat são apenas o próximo passo nesta evolução”, disse ele O registro

Descobrir o que você deseja que seu programa faça, como ele deve funcionar e onde deu errado é crucial na codificação. Os alunos só podem desenvolver essas habilidades essenciais ao longo do tempo com prática consistente. Você não pode pular esse processo confiando na IA se quiser ser um desenvolvedor de software competente. Mas se você usá-lo com sabedoria, poderá melhorar rapidamente e se tornar um bom programador – e talvez até seja divertido. ®

local_img

Inteligência mais recente

local_img