ChattyG faz um exame de programação C/C++ do primeiro ano da universidade

ChattyG faz um exame de programação C/C++ do primeiro ano da universidade

ChattyG faz um exame de programação C/C++ do primeiro ano da PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

O ChatGPT foi testado por meio de uma série de tarefas monótonas de programação C/C++ para calouros e foi aprovado – embora não com honras.

De acordo com uma equipa de investigação croata, embora os alunos do primeiro ano possam ter dificuldades com algumas das tarefas, os resultados [PDF] mostrou o ChatGPT atingindo metas de proficiência que variavam entre a média e a de programadores experientes. E, naturalmente, como acontece com todos os exames universitários, os resultados podem ser determinados pela forma como as perguntas são formuladas.

A equipe da University North elaborou um conjunto de desafios de programação para calouros universitários, primeiro escritos em inglês e, mais tarde, para ver se as nuances entre idiomas afetariam os resultados, em croata. Eles queriam ver não apenas como o ChatGPT codifica, mas também se ele poderia se adaptar a diferentes idiomas.

O primeiro questionário focou em uma tarefa básica de programação: calcular o máximo divisor comum (MDC) de dois números. No início, o bot mostrou algumas limitações na forma como decidiu resolver o problema, com os pesquisadores dizendo que faltava a sutileza esperada de um programador experiente. Mas como qualquer aluno, aprende e através de tentativas subsequentes, especialmente na versão croata, demonstrou algumas melhorias, mostrando notável adaptabilidade.

Por exemplo, numa tarefa específica foi desafiado a programar uma função estatística básica em C++. Inicialmente, cometeu um descuido, utilizando uma função que não produzia o desvio padrão “corrigido” conforme necessário. Mas, quando a mesma tarefa foi apresentada em croata, o chatbot não só reconheceu o erro anterior, mas também elaborou uma solução refinada.

Os pesquisadores observam que essa adaptabilidade reflete a jornada de um calouro: começar com erros, mas mostrar capacidade de aprender e aprimorar suas habilidades com prática repetida e feedback. Ahhhh.

Outra tarefa envolvia um problema mais matizado: identificar números dentro de um intervalo com base em regras específicas de divisibilidade. Foi aqui que o calcanhar de Aquiles do ChatGPT ficou evidente. Independentemente do idioma – inglês ou croata – o ChattyG lutou com números negativos. Cada tentativa do ChatGPT levou a resultados semelhantes, apontando para um problema consistente na sua lógica de programação para esta tarefa.

Uma pergunta bônus exigia precisão. O ChatGPT foi necessário para criar um filtro de entrada, especificamente para um intervalo definido de números decimais. A solução inicial da IA, quando apresentada em inglês, foi acertada, mas as tentativas seguintes, especialmente quando a tarefa foi dada em croata, revelaram algumas inconsistências e, em alguns casos, o ChatGPT utilizou construções de programação desnecessárias. Embora isso não tenha prejudicado a funcionalidade do programa, indicou falta de otimização. Era como se o ChatGPT às vezes seguisse o caminho mais longo até um destino, mesmo quando um atalho estava disponível.

As coisas ficaram mais complicadas com uma tarefa relacionada a arrays. Aqui, o ChatGPT foi solicitado a armazenar números e, em seguida, calcular certas estatísticas, como valor médio, desvio padrão e identificar valores mínimos e máximos. O desempenho da ChattyG neste desafio foi particularmente interessante. Em diferentes testes, ele apresentou estratégias variadas. Às vezes, resolvia o problema com elegância, oferecendo soluções simples. Em outras tentativas, inclinou-se para métodos mais complicados, até mesmo agrupando múltiplas operações em uma função.

Tudo isso levanta uma questão importante: o ChatGPT sempre escolhe a melhor estratégia ou às vezes usa métodos aprendidos, mas ineficientes?

O obstáculo final para o ChatGPT envolveu o processamento básico de texto. A tarefa foi remover espaços extras da entrada do usuário. Em seu teste inicial de inglês, a solução do ChatGPT acertou em cheio. No entanto, o teste croata foi um obstáculo. Em vez de aderir à sua solução eficaz de entrada única, a IA, por algum motivo, optou por uma abordagem mais complexa, exigindo múltiplas entradas. No entanto, quando os investigadores revisitaram este desafio em inglês, o ChatGPT parecia ter aprendido com o seu passo em falso anterior, regressando ao método mais simples.

No geral, os pesquisadores descobriram que as respostas tinham muito em comum com as dos estudantes de programação humana do primeiro ano. Suas soluções muitas vezes ecoavam as estratégias de programadores experientes, mas como qualquer estudante, o ChatGPT não era infalível. Houve momentos de brilhantismo, mas também casos em que pareceu errar completamente o alvo.

A verdadeira conclusão aqui é a adaptabilidade humana de um calouro: não se tratava apenas de encontrar a solução certa; tratava-se de refinar, aprender e iterar.

Então, qual é a nota final do ChattyG?

Dos pesquisadores:

“O ChatGPT passa no exame com notas muito boas, superando a maioria dos nossos alunos na qualidade das soluções. Além disso, resolve cada tarefa em 20 a 30 segundos e mostra capacidade geral de adaptar ou alterar suas soluções de acordo com demandas adicionais. Porém, em algumas tarefas, muitas vezes simples, mostrou a incapacidade de compreender a essência lógica e matemática do problema, mesmo depois de ser questionado várias vezes sobre seus erros.” ®

Carimbo de hora:

Mais de O registro