Learn how AI-generated code is reshaping programming education and how educators can adapt.
Updates
September 19, 2024

Incorporating AI into Code Learning

In 30 seconds...

AI-generated code is transforming programming education, offering both opportunities and challenges for educators. As AI becomes essential, teaching methods must adapt to ensure students learn effectively. CodeGrade’s new AI Code Assistant supports this shift, giving educators control over AI’s role in learning.

Why are we interested in AI?

AI-generated code is reshaping the educational landscape, especially in programming courses. With tools like large language models (LLMs) becoming increasingly sophisticated, educators are facing a critical moment of adaptation. According to Becker et al. (2023), the sudden rise of these technologies "presents both opportunities and challenges for students and educators," and there's an urgent need to reassess traditional teaching methods to accommodate this shift.

LLMs, such as Copilot ChatGPT, can outperform most novice programmers in solving typical assignment questions—especially well-structured ones. While this might seem advantageous, it also raises concerns about how students learn and are assessed. Many educators have been facing this fundamental question for a while: Should they allow the use of LLMs, or should they ban them entirely? If allowed, how can educators ensure that everyone has access, and can use LLMs correctly?  The difficulty lies in balancing student learning with the ubiquity of these tools, which are now integral to many coding environments.

Navigating the Challenges of AI in Learning

One of the biggest challenges with LLMs is that they can solve assignments more effectively than most students, particularly when tasks are well-defined—something educators aim for to ensure clarity. This raises the concern: how do we ensure students are truly learning if AI does most of the work? Traditional assignments may no longer provide an accurate measure of student comprehension.

To counter this, some institutions are returning to in-person exams and proctored assessments, ensuring students can demonstrate their knowledge without AI assistance. However, this doesn’t address the fact that LLMs are now ubiquitous in industry, integrated into most IDEs and widely accessible through platforms like ChatGPT. Banning them outright isn’t realistic, nor does it prepare students for the real-world use of these tools. Instead, the focus should shift to assessments that encourage learning while allowing for responsible use of AI.

LLMs also produce code that can be more advanced than what’s expected at a beginner level, potentially leading students to rely too heavily on AI-generated solutions. As Petrovska et al. found, first-year students often praised ChatGPT-generated code for efficiency but noted missing elements like comments and proper variable naming. More advanced students found it helpful but believed it was more useful for small tasks than complex projects. This highlights the need to ensure AI doe

Discover how to enhance your students learning today.

Unlocking the Potential of AI 

Despite the challenges, LLMs offer notable educational benefits. For one, they help students overcome common barriers like syntax errors, allowing them to focus on logic and problem-solving. This can be especially valuable for beginners, giving them the confidence to move past minor hurdles.

In addition to this, allowing the use of LLMs in assignments, allows educators to make assignments larger, while not increasing the time students have to spend on it. This makes it possible to make more interesting assignments and focus more on logic and algorithms.

LLMs also provide instant feedback on code quality, style, and efficiency, simulating real-world coding environments. By incorporating AI into assignments, students can explore more complex problems and gain exposure to the tools they’ll encounter in their professional careers. As Petrovska et al. noted, even advanced students recognized that AI could save time on smaller tasks, making it a valuable tool when integrated thoughtfully into the learning process.

The goal should be to use LLMs as a complement to traditional learning—helping students engage with the material, while educators maintain control over how these tools are applied in the classroom.

CodeGrade’s AI Assistant: Empowering Educators and Enhancing Learning

A first look at our Code Assistant - we will continue to develop this UI

We are excited to introduce our latest feature: AI Code Assistant! Currently in private beta, it is designed to integrate smoothly into our learning environment, giving educators complete control over its use. Teachers can choose whether to enable the AI Assistant on an assignment per assignment basis, aligning its features with their educational goals and assessment methods. We will keep you updated on its official release!

Insight and Oversight

Educators can monitor student interactions with the AI, providing insights into how students are utilizing the tool. This oversight helps ensure that students use AI to support their learning rather than replace it (it’s not about making assignments easier!), fostering a more effective learning experience. 

Equitable Access

Our AI Assistant offers all students access to a powerful LLM, promoting fairness and ensuring that every student benefits from advanced technology. This equal access helps level the playing field and supports diverse learning needs.

Supporting Learning

By integrating the AI Code Assistant, CodeGrade enhances learning outcomes while maintaining educational integrity. We aim to complement traditional teaching methods with AI, helping students improve their skills and understanding while giving educators the tools to guide their progress effectively.

AI’s role in education is evolving rapidly. With CodeGrade’s AI Assistant, we’re integrating this technology thoughtfully, supporting both students and educators. Let’s embrace AI’s benefits and drive progress in the classroom.

References

Becker, B.A., Denny, P., Finnie-Ansley, J., Luxton-Reilly, A., Prather, J., & Santos, E.A. (2023). Programming Is Hard - Or at Least It Used to Be: Educational Opportunities and Challenges of AI Code Generation. In Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1 (SIGCSE 2023), 500–506. Association for Computing Machinery, New York, NY. https://doi.org/10.1145/3545945.3569759

Petrovska, O., Clift, L., Moller, F., & Pearsall, R. (2024). Incorporating Generative AI into Software Development Education. In Proceedings of the 8th Conference on Computing Education Practice (CEP '24), 37–40. Association for Computing Machinery, New York, NY. https://doi.org/10.1145/3633053.3633057

Continue reading

Best Practices for Rubric Design in Coding Assignments

Discover best practices for rubric design in coding education. Learn to align rubrics with learning objectives, use automated tests, and explore ungrading for fairer, growth-focused assessments

Watch now! How to teach Python

Watch our 2024 webinar for updates on the Introductory Python course, including new modules, knowledge checks, and grading automation with CodeGrade.

Follow A New User!

See how CodeGrade streamlines grading and improves assignment design in programming courses.

How to configure an AI Assistant for code

CodeGrade’s AI Assistant offers a flexible way to support coding education through tailored guidance and feedback. This guide explains how to configure and customize the assistant to fit your teaching goals, from helping students debug code to providing conceptual explanations.

Sign up to our newsletter

Transform your Jupyter Notebooks course today!