Learning with GenerativeAI
GenAI Coding – Considerations
Engaging with the power of coding requires a deep understanding of programming concepts, principles, and best practices. It involves moving beyond simply writing code that works, to creating solutions that are robust, adaptable, and easy to understand. While GenAI tools can be incredibly helpful, overreliance on it may prevent you from fully engaging and understanding the underlying principles.
- Relying too heavily on GenAI tools could limit your ability to identify and fix problems or recognize alternative solutions.
- As you progress in your programming career, you will encounter large, complex codebases written by others, including code written by GenAI tools. Navigating and managing these heterogeneous codebases will become an increasingly important skill.
- Continue to develop your ability to understand, navigate, and reshape these systems, rather than assuming the existence of GenAI coders makes this skill less important.
- Although GenAI tools may be used as a shortcut by students in programming-heavy classes, it is essential for you to focus on learning the underlying languages and concepts for yourself.
- AI-generated code may sometimes result in “Frankenstein” code, where different techniques are glued together to solve a problem. This can lead to difficulties in maintaining and working with the code in a large-scale library.
- Use instances of “Frankenstein” code as opportunities to learn about high-level engineering principles by critiquing the inconsistencies in the generated code or learning to re-prompt the system to produce cleaner and more consistent outputs.
Embrace the opportunities GenAI provides but do so with a critical eye and a commitment to learning. Understand the potential concerns and use GenAI coding tools responsibly.