AI’s impact on web development education: The increasing use of Large Language Models (LLMs) in coding education, particularly for web development, is raising concerns about its potential negative effects on learning outcomes and skill acquisition.
• JumboCode, a student-run organization at Tufts University that builds software for non-profits, has observed widespread use of LLMs among its 180 student developers, many of whom are learning web development from scratch.
• The Head of Engineering at JumboCode has noticed that substantial portions of code in student projects appear to be LLM-generated, characterized by excessive commenting and inconsistent style.
Best AI Developer Tools – Handpicked list of the top AI dev tools of 2024
Alarming examples of AI-generated code: Some instances of LLM-generated code reveal fundamental misunderstandings of web development principles and tools.
• One Next.js project included HTML and vanilla JavaScript loaded from outside the Next.js + React system, potentially compromising the benefits of using a modern framework.
• Another example showed vanilla JavaScript being loaded via filesystem APIs and executed using dangerouslySetInnerHTML, which can pose security risks.
• There were cases of unnecessary API calls between server-side endpoints instead of direct function imports, indicating a lack of understanding of server-side architecture.
The learning impediment: LLMs may hinder the development of crucial mental models and problem-solving skills in web development.
• While LLMs excel at producing code based on user prompts, they allow students to bypass the struggle and experimentation typically associated with learning.
• This shortcut approach may result in students failing to develop the mental models necessary for understanding and verifying code architecture.
• The ability to quickly generate code without fully grasping the underlying concepts can lead to a false sense of competence.
Human interaction vs. AI assistance: Despite the convenience of LLMs, human interaction remains valuable in the learning process.
• Asking questions to experienced developers or mentors can provide context-specific explanations and foster a deeper understanding of web development concepts.
• Human instructors are often better at tailoring explanations to a student’s level of understanding and providing concise, relevant information.
• However, the ease of using LLMs may discourage students from seeking human assistance, potentially limiting their learning opportunities.
The dilemma for coding education: The widespread availability of LLMs presents a challenge for educational programs like JumboCode.
• While LLMs can help students complete assignments quickly, they may not contribute significantly to skill development.
• There’s a concern that relying heavily on LLMs for coding tasks may result in students going through the motions without truly learning the material.
• The author suggests that students who cannot complete projects without heavily relying on LLMs might be better off not participating in such programs.
Personal perspective on LLM use: The author, while acknowledging the benefits of LLMs in professional settings, emphasizes the importance of learning fundamentals without AI assistance.
• As an experienced developer, the author uses AI-powered tools like Cursor, but attributes their success to having learned web development fundamentals before LLMs became ubiquitous.
• There’s a recognition that learning web development without LLMs requires more will and motivation, but the author believes this approach has been invaluable to their career.
Broader implications for tech education: The increasing prevalence of AI in coding raises questions about the future of web development education and skill acquisition.
• As LLMs become more sophisticated, educators and students may need to develop new strategies to ensure that fundamental understanding is not sacrificed for the sake of rapid code production.
• The tech industry might need to reassess hiring practices and skill evaluation methods to account for the potential gap between code generation abilities and deep understanding of web development principles.
• There may be a growing need for educational approaches that emphasize the development of critical thinking and problem-solving skills in addition to coding proficiency.