Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AI Programming Guide

A comprehensive best-practice guideline for using generative AI when learning programming languages.

Educational License: MIT Made at HSE Esslingen

🎯 Overview

This repository contains research-based guidelines and best practices for effectively integrating generative AI tools into programming education. The guide addresses both the opportunities and risks of using AI assistants like ChatGPT, GitHub Copilot, and other Large Language Models (LLMs) in the learning process using examples of the C programming language.

📚 Background

The increasing adoption of generative Artificial Intelligence (AI) is fundamentally changing the learning process in higher education and presenting traditional teaching methods with new challenges. Particularly when learning a new programming language, AI-supported tools open up a variety of new possibilities to support students in their learning process.

Key Areas Covered:

  • AI-Assisted Code Generation: How to use tools like GitHub Copilot effectively
  • Intelligent Debugging: Leveraging AI for error detection and resolution
  • Concept Explanation: Using chatbots and LLMs for learning programming concepts
  • Prompt Engineering: Crafting effective prompts for programming tasks
  • Risk Mitigation: Avoiding over-dependence and maintaining critical thinking skills

🚀 Why This Guide Matters

Opportunities of AI in Programming Education:

  • Code Generation: Support in generating code snippets and functions
  • Debugging Assistance: Faster error diagnosis and solution suggestions
  • Personalized Learning: Adaptation of content to individual needs
  • Concept Clarification: Step-by-step explanations for complex programming problems

Risks to Address:

  • Copy-Paste Without Understanding: Students may copy AI-generated code without comprehending the underlying concepts
  • Over-Dependence on AI: Excessive reliance on AI systems could negatively impact independent problem-solving abilities
  • Critical Thinking Erosion: Unreflective use may lead to neglect of fundamental algorithmic thinking skills

📖 Content Structure

The guide is structured as an academic paper following IEEE format and includes:

  1. Introduction to AI in Education
  2. Types of AI Models and Their Applications
  3. Large Language Models (LLMs) as Foundation of Modern Chatbots
  4. Use Cases for Generative AI in Programming Context
  5. Prompt Engineering Techniques
  6. Best Practices and Guidelines
  7. Empirical Evaluation Framework

🌍 Language Versions

Current Status: The guide is currently available in English and German language as part of ongoing academic research.

Additional language versions may follow based on community interest and feedback.

🎓 Academic Context

This guide is developed as part of a thesis research project investigating the effectiveness of structured AI usage in programming education at the university level. The research aims to:

  • Develop evidence-based guidelines for AI integration in programming courses
  • Evaluate the impact of structured AI usage on learning outcomes
  • Provide educators with practical frameworks for AI-enhanced programming instruction

🛠️ Technical Implementation

The guide includes practical examples and techniques for:

  • Zero-Shot Prompting: Direct task completion without examples
  • Few-Shot Prompting: Learning from provided examples
  • Chain-of-Thought (CoT): Step-by-step reasoning processes
  • Scratchpad Prompting: Working through problems systematically

📊 Research Methodology

The guidelines are based on:

  • Comprehensive literature review of AI in education
  • Analysis of current AI tools and their capabilities
  • Empirical evaluation with programming students
  • Best practices from industry and academia

🤝 Contributing

We welcome contributions, feedback, and suggestions for improving this guide. As this is an active research project, your input helps make the guidelines more comprehensive and practical.

How to Contribute:

  • 🐛 Report issues or suggest improvements
  • 🌐 Help with translations to other languages
  • 📝 Share your experiences using AI in programming education
  • 🔬 Contribute research findings or case studies

📞 Contact

For questions, suggestions, or collaboration opportunities, please open an issue in this repository.

📜 License

This work is shared for educational and research purposes. Please respect academic integrity guidelines when using or adapting this content.


Keywords: Generative AI, Programming Education, Prompt Engineering, LLM, Chatbots, GitHub Copilot, Higher Education, Best Practices

Status: 🔬 Active Research Project | 📚 Educational Resource | 🌍 Multilingual (Planned)

About

Research-based best practices for using generative AI (ChatGPT, Copilot) in programming education. Comprehensive guide covering prompt engineering, risk mitigation, and effective learning strategies.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors