ABSTRACT
The AI Coding Assistant project aims to develop an intelligent tutoring system to
support students learning programming. Leveraging OpenAI's API and a Retrieval-
Augmented Generation (RAG) system, this assistant will provide personalized guidance
to students, offering hints and suggestions without revealing direct solutions. The
project addresses the challenge of providing individualized support in programming
education, especially in large classes or online learning environments. By implementing
usage throttling and carefully designed prompts, the system encourages critical
thinking and problem-solving skills while preventing over-reliance on AI. The assistant
will be evaluated based on its accuracy, helpfulness, and impact on student learning
outcomes. This project explores the potential of AI in enhancing educational
experiences while maintaining the integrity of the learning process.
Dept. of AI & ML, BIET.
1
1. INTRODUCTION
The field of computer science education faces ongoing challenges in providing personalized
support to students, particularly in introductory programming courses. With increasing class
sizes and the growth of online education, it has become difficult for instructors to offer
individualized attention to each student. This project proposes an AI-powered coding
assistant as a solution to bridge this gap.
Recent advancements in natural language processing and machine learning, particularly the
development of large language models like GPT-4, have opened new possibilities in creating
intelligent tutoring systems. These systems can understand natural language queries,
analyze code, and provide context-aware assistance.
The AI Coding Assistant project builds upon these technologies, with a specific focus on
guiding students through the learning process rather than simply providing answers. This
approach aligns with pedagogical best practices, encouraging students to develop problem-
solving skills and deep understanding of programming concepts.
By incorporating a Retrieval-Augmented Generation (RAG) system, the assistant can provide
more accurate and contextually relevant responses based on course-specific materials. This
ensures that the assistance aligns closely with the curriculum and teaching methodology of
the course.
The project also addresses ethical considerations in AI-assisted learning, implementing
measures to prevent academic dishonesty and ensure responsible use of AI in education.
Through careful design of interaction mechanisms and prompts, the system aims to
enhance, rather than replace, traditional learning methods.
This introduction sets the stage for a detailed exploration of the AI Coding Assistant, its
implementation, and its potential impact on computer science education.
Dept. of AI & ML, BIET.
2
2. LITERATURE REVIEW
Recent research in AI-assisted programming education has shown promising results in
improving student learning outcomes:
1. Kächele et al. (2019) demonstrated that AI-powered coding assistants can reduce the
time students spend debugging, allowing more focus on higher-level concepts.
2. Li et al. (2021) explored the use of large language models in generating explanations for
code snippets, finding that students who used these explanations showed improved code
comprehension.
3. Garcia et al. (2022) investigated the impact of AI tutors on student engagement in online
programming courses, reporting increased participation and completion rates.
4. Zhang and Kim (2023) examined the ethical implications of AI in computer science
education, proposing guidelines for responsible implementation.
2.1 Summary of the Literature Review
The literature reveals a growing trend in leveraging AI for programming education, with a
focus on personalized learning experiences. However, challenges remain in balancing AI
assistance with fostering independent problem-solving skills.
2.2 The major challenges/issues identified
1. Ensuring AI assistance promotes learning rather than dependency.
2. Maintaining academic integrity when using AI tools.
3. Adapting AI responses to different skill levels and learning styles.
4. Integrating AI assistants seamlessly into existing course structures.
Dept. of AI & ML, BIET.
3
2.3 Problem Statement
AI-powered coding assistant be developed and implemented to provide personalized,
pedagogically sound guidance to students learning programming, while encouraging critical
thinking and maintaining academic integrity.
2.4 Project Objectives
1. To develop an AI coding assistant using OpenAI's API and a RAG system that provides
hints and suggestions without revealing complete solutions.
2. To implement usage throttling and carefully designed prompts that encourage students to
think critically about programming problems.
3. To evaluate the effectiveness of the AI assistant in improving student learning outcomes
and engagement in programming courses.
4. To establish guidelines for the ethical use of AI in programming education that can be
adapted for other educational contexts.
Dept. of AI & ML, BIET.
4
3. METHODOLOGY
Phase – I: System Design and Development
- Design the chatbot interface and backend architecture
- Implement the RAG system using course materials
- Develop prompts and interaction patterns that align with pedagogical goals
Phase – II: Integration and Testing
- Integrate the OpenAI API and implement the chat functionality
- Conduct initial testing with a small group of students and gather feedback
- Refine the system based on initial user experiences
Phase – III: Pilot Implementation
Dept. of AI & ML, BIET.
5
- Deploy the AI Coding Assistant in a controlled classroom environment
- Collect data on usage patterns, student performance, and user satisfaction
- Analyze the impact on learning outcomes and identify areas for improvement
Phase – IV: Evaluation and Refinement
- Conduct a comprehensive evaluation of the system's effectiveness
- Refine the AI assistant based on collected data and feedback
- Develop guidelines for broader implementation and future enhancements
4. SOFTWARE REQUIREMENTS AND SPECIFICATIONS
(Tools/software/Hardware etc.,)
- Programming Language: Python 3.8+
- AI/ML Libraries: OpenAI API, TensorFlow or PyTorch
- Web Framework: Flask
- Vector Database: ChromaDB or Pinecone
- Frontend: HTML, CSS, JavaScript or Python using FastHTML and streamlit libraries
- Version Control: Git
- IDE: Visual Studio Code
Dept. of AI & ML, BIET.
6
5. POSSIBLE OUTCOMES
1. An operational AI Coding Assistant capable of providing personalized guidance to students
learning programming.
2. Improved student engagement and learning outcomes in introductory programming
courses.
3. A set of best practices for integrating AI assistants in computer science education.
4. Insights into the effectiveness of different AI-assisted teaching strategies in programming
education.
6. CONCLUSION
The AI Coding Assistant project aims to address the challenge of providing personalized
support in programming education through the innovative use of AI technologies. By
carefully balancing AI assistance with pedagogical principles, this project has the potential to
enhance the learning experience for students while maintaining the integrity of the
educational process. The outcomes of this project could have significant implications for the
future of computer science education and the broader field of AI in education.
Dept. of AI & ML, BIET.
7
REFERENCES
[1] Kächele, S., et al. (2019). "AI-assisted debugging in programming
education.”
[2] Li, X., et al. (2021). "Using large language models for code explanation in
CS education.”
[3] Garcia, M., et al. (2022). "Impact of AI tutors on student engagement in
online programming courses.”
[4] Zhang, L., and Kim, J. (2023). "Ethical considerations in AI-assisted
computer science education.”
[5]
Dept. of AI & ML, BIET.
8
Dept. of AI & ML, BIET.
9