Programming is going through an evolution in which generative artificial intelligence is able to tackle increasingly hard coding problems. Human creativity and the specialized craft of programming can now be performed by intelligent algorithms. I recently started a Python coding course myself, so was able to experience what it is like to leverage generative AI tools in learning to code. AI-generated code had a significant impact on my learning experience, which made me consider the function of programmers and the future of programming in general.
Last summer, I wanted to expand my horizon and dive into the world of programming. I signed up for a CS50 Python course, wherein I had to solve numerous coding problems. A tip a friend of mine gave, is that ChatGPT can simply provide the necessary code based on given input. As the course progressed and the problems got harder, I found myself relying on code that was generated by AI in an increasing amount. It significantly reduced the time I needed to work through the course, but made me heavily reliant on generative AI and sometimes unaware of the logic behind the codes. But hell, they worked!
Programmers were, in the past, responsible for every aspect of software development, including code generation. Currently, generative AI can take over the tedious task of typing codes and serve as creative inspiration for codes, resulting in experienced programmers being able to execute their tasks increasingly fast (Deniz et al., 2023). Negative side effects include the potential loss of creativity in coding, through AI tools following certain patterns, and fears of job losses. Programmers are still required for examining code for bugs and errors, contributing organizational context and overseeing tricky code requirements. Whereas generative AI can give a programmer a head-start, human intervention remains necessary.
In my personal experience with code generated by AI tools, I noticed I had less urgency towards understanding how the codes worked, since they were functional. It made me question whether it is effective to use generative AI tools when learning how to code. Experienced programmers who already understand coding can greatly benefit from productivity increases, resulting in them having more time for value-adding activities such as innovation.
Do you think learning to code can be effectively accompanied by generative AI tools?
Deniz, B. K., Gnanasambandam, C., Harrysson, M., Hussin, A., & Srivastava, S. (2023). Unleashing developer productivity with generative AI. McKinsey & Company. https://www.mckinsey.com/capabilities/mckinsey-digital/our-insights/unleashing-developer-productivity-with-generative-ai
In my opinion such tools can be a great aid in learning skills such as coding. They have completely disrupted the education and teaching world further by providing solutions at such an accessible way. The challenge remains in having the right balance. Fostering creativity remains a challenge still but the learning approach can be adapted to generative AI. I feel that the cumbersome tedious learning tasks should still be done without the help of such aids as it helps build critical thinking skills. As assignments and examinations would also get developed to tackle such tools, using them as an learning tool is neccessary but with certain interventions at the right stage only.