Why AI is a Better Programming Teacher Than Humans
“Copilot has dramatically accelerated my coding, it’s hard to imagine going back to manual coding,” writes Andrej Karpathy. While there is a whole buffet of tools to choose from that can do the coding for you, GitHub Copilot has become the Bible for coders. Used by more than 1.5 million developers of all calibres, some credit it for making programmers “lazy and incompetent”. Unlike Copilot, where users can put in the requirements and have someone do the job, Stack Overflow requires an understanding of the fundamentals and finding the right methodology from trial and error. Meanwhile, Code Whisperer recently released a customisation update to make this process easier by generating specific code based on their private repositories. This further makes the job easier requiring users to only verify and check the generated code. Arguably, these are just tools that have become more sophisticated to improve the efficiency in getting things done. It is much like moving from a paper map to the one on a smartphone. Computer Education in the age of AI In a research conducted by the University of San Diego, professors from universities across nine countries were interviewed to understand their approach to adapting courses as students increasingly use AI coding assistance tools like ChatGPT and GitHub Copilot. In the short term, they were particularly concerned about preventing cheating. Sam Lau and Philip Guo, authors of the paper, wrote, “Professors worry that an over-reliance on AI tools could stop students from thoroughly understanding programming fundamentals similar to using a calculator in a maths class without understanding decimal points.” Heavy dependence on these tools saw users take to social media to complain that they couldn’t work when ChatGPT was down last month. After the initial scare that Copilot will take over the work of programmers, it quickly became apparent that these tools were nothing more than an autocorrect that boost the performance of developers who know what they’re doing. Nonetheless, there is staggering evidence that suggest that AI tools fare better than teachers when it comes to helping students learn programming better and faster. One study by the University of Toronto looked at students who are being introduced to programming. They found that AI coding assistants like OpenAI Codex allowed novice programmers to perform better and faster with less frustrations when writing code, and did not reduce their performance on manual code modification or in the subsequent absence of AI code generators. David J Malan’s popular CS50 course announced in June that they’re integrating AI to grade assignments and teach coding. Not just Harvard, but other Ivy League universities are also adopting AI to improve students’ performance besides making things easier for the teachers. Meanwhile, Stanford developed an AI teaching tool that gives students feedback on their homework. Chris Piech, the assistant professor said, “The one thing we couldn’t really do is scale the feedback. We can scale instruction and content but we couldn’t really scale feedback.” Boon or bane? As with any technology, there remain a few concerns regarding AI coding helper tools. Some worry that they’ll introduce and reinforce the winner-takes-all dynamics. Since very few companies have the data (in this case, billions of lines of code) to build tools like this, creating a competitor to Copilot will be challenging. Recently, Zoho announced building a similar ‘Programmer Productivity’ platform for code generation. GitHub Copilot’s accuracy in its responses is around 26%, which is very poor if users don’t already have a good understanding of the basic concepts. ChatGPT has a higher rate of accuracy though it may contain subtle bugs that are missed by beginners. These tools are more useful to learn and experiment with, as a Reddit user puts it, “I’ve literally spent 30 minutes just asking it things like ‘what does this do?’, ‘why did you do that?’, ‘why didn’t you do this?’… it’s like having a big programmer brother explaining everything.” Another benefit is that using AI tools makes it easy to learn new programming languages once you’re familiar with one.
Copilot, Code Whisperer, Tabnine, and Codey are only a few of the large number of AI coding assistants that one can employ to be hand-held while learning how to code
Copilot, Code Whisperer, Tabnine, and Codey are only a few of the large number of AI coding assistants that one can employ to be hand-held while learning how to code
["AI Tool", "ChatGPT", "coding", "Copilot", "programming", "zoho"]
["Go", "ChatGPT", "zoho", "GitHub", "OpenAI", "AI", "programming", "coding", "Git", "GPT", "ViT", "Rust", "AI Tool", "Copilot", "R"]
["AI", "ChatGPT", "OpenAI", "R", "Go", "Rust", "Git", "GitHub", "GPT", "ViT"]
K L Krithika is a tech journalist at AIM. Apart from writing tech news, she enjoys reading sci-fi and pondering the impossible technologies, trying not to confuse it with reality.