diff --git a/src/content/00-course-info/generative-ai-usage-guidelines.md b/src/content/00-course-info/generative-ai-usage-guidelines.md index e69de29..e45374e 100644 --- a/src/content/00-course-info/generative-ai-usage-guidelines.md +++ b/src/content/00-course-info/generative-ai-usage-guidelines.md @@ -0,0 +1,55 @@ +## Use of Generative AI — Guidelines and Requirements + +Generative AI tools (such as ChatGPT, GitHub Copilot, Gemini, etc.) are widely available and may be used **responsibly** in this course as **learning assistants**. The goal of assignments and projects is not only to produce a working program, but to demonstrate your **understanding of programming concepts** and your ability to explain and modify your own code. + +For this reason, the use of generative AI is **allowed but regulated**. + +--- +### 1. Acceptable Uses of Generative AI +You may use generative AI in ways that **support learning**, including: +- Explaining C++ concepts (e.g. loops, arrays, pointers, structs) +- Helping you understand compiler or runtime errors +- Suggesting ideas or approaches in **plain language** +- Assisting with debugging **after you have attempted the problem yourself** +- Improving code readability, comments, or naming + +--- + +### 2 Unacceptable Uses of Generative AI + +You may **not** use generative AI to: +- Generate the full project or major parts of it +- Design the overall architecture of the program +- Write core logic that you do not fully understand +- Copy and submit AI-generated code without modification +- Replace your own reasoning, problem-solving, or debugging effort + +Submitting code that you cannot explain or modify will be treated as **plagiarism**, regardless of whether AI was disclosed. + +--- + +### 3. Best Practices for Using AI Effectively + +If you choose to use AI, the following practices are strongly recommended: + +- **Try first**: Attempt the problem yourself before asking AI +- **Ask focused questions**: + Instead of “write the code”, ask “why does this loop not work?” +- **Work in small pieces**: + Use AI for specific concepts, not entire features +- **Rewrite in your own way**: + Never submit code exactly as produced by AI +- **Verify and test**: + Always compile, run, and test AI-assisted code + +Using AI as a **tutor**, not as a **code generator**, leads to better learning and better results. + +--- + +### 4. Evaluation and Accountability + +During grading or oral evaluation, you may be asked to: +- Explain parts of your code +- Justify design decisions +- Make small modifications to your program +Your grade is based on **understanding and ownership**, not on how quickly the program was completed. \ No newline at end of file