Course AI Ethics & Use Policy¶
Motto: Do not give up learning
You may use AI to accelerate understanding and craftsmanship, not to outsource the learning itself.
1) Purpose & Scope¶
This guide sets expectations for using AI tools (e.g., code assistants, chatbots, copilots) in this course. It applies to all homework, projects, in-class activities, and communications related to course work.
2) Core Principles¶
Learn First: Try to understand before automating. If you cannot explain or reproduce the work, you haven’t learned it.
Responsibility: You (not the AI) are accountable for correctness, style, performance, and ethics of your submissions.
Transparency & Integrity: Always disclose your AI use (tools, prompts, and how you verified results). Do not misrepresent AI-generated work as solely your own;
Verification: Treat AI output as hypotheses — test, inspect, and cite sources where relevant.
Privacy & Safety: Never share secrets, credentials, personal data, or proprietary data with AI tools.
Licensing & Attribution: Respect IP and licenses for any external code, assets, or text. Cite external sources when applicable.
3) What’s Allowed (with conditions)¶
🟢 Green — Allowed & Encouraged (with transparency):
Brainstorming ideas, clarifying requirements, and outlining solution approaches.
Generating or refining tests (unit/property), edge-case suggestions, and test data.
Debugging assistance: explaining error messages, proposing minimal fixes you then review.
Refactoring for readability/performance; adding comments/docstrings and example usage.
Translating your own text or improving grammar/format in reports/README.
🟡 Yellow — Allowed only if you verify and understand it (with disclosure):
Drafting small code snippets or boilerplate that you fully review, test, and can explain.
Summarising documentation/APIs you also read, to speed up navigation.
Producing diagrams, pseudocode, or step-by-step plans that you execute and validate.
🔴 Red — Prohibited:
Submitting AI-generated code/content that you cannot explain line by line on request.
Using AI to complete an entire assignment end-to-end with minimal human input.
Feeding private data, credentials, or any non-public project information into AI tools.
Lifting code/text from the internet or AI without checking license and giving attribution.
Circumventing assignment constraints (e.g., forbidden libraries/techniques) via AI.
4) Documentation & Disclosure Requirements¶
IoT Challenge submissions that used AI must include an AI-Use Statement in the README (or report) and maintain a short Prompt Journal.
AI-Use Statement (template):
- Tools: <tool name(s) and model if known>, used on .
- Scope: (e.g., brainstormed edge cases; generated initial tests; suggested refactor for function X.)
- Verification method: (manual tests passed, manual review steps, external sources consulted.)
- Attribution: (links to any external code/snippets with license notes, if applicable.)
- Reflection: (what I learned; what I changed vs. the AI’s suggestion.)
Prompt Journal (minimum):
Paste your top 1–3 prompts (or paraphrases) and a 1–2 sentence note of what changed.
Keep sensitive data out. If a prompt contains project-specific details, paraphrase.
5) Verification Checklist (pre-submission)¶
[ ] I can explain all submitted code and choices in plain language.
[ ] Tests: all pass locally; I added at least one self-authored test per milestone.
[ ] I reviewed complexity, edge cases, and failure modes; I can justify trade-offs.
[ ] AI-Use Statement and Prompt Journal are included.
[ ] No secrets/PII were shared with any AI tool.
[ ] Licensing/attribution for any external snippet is correct.
7) Data Privacy & Security¶
Do not paste secrets (API keys, passwords), personal data, or proprietary datasets into AI systems.
Prefer local/offline or institution-approved tools for sensitive workflows.
Use synthetic or redacted examples when seeking help.
8) Intellectual Property & Licensing¶
Treat AI output like any third-party source: you must verify originality and licensing.
If you adopt external code/ideas, cite source and license; keep usage within license terms.
9) Evaluation & Consequences¶
Class assignments submissions may be checked via tests, code review, and tooling.
Additionally, the IOT Challenge may include an oral check to verify understanding.
If you cannot explain your code, we reserve the right to: reduce/void assignment grading, require resubmission, or initiate academic-integrity procedures per university policy.
10) Examples¶
Good use:
Ask an LLM to propose edge cases, generate initial pytest cases; you implement code; you add one more test you designed; AI-Use Statement explains how you verified logic.
Borderline but acceptable (with care):
Ask for a starter function to parse CSV → you refactor thoroughly, add docstrings, and design extra tests; you can explain decisions and complexity.
Not acceptable:
Paste the entire assignment and submit the first AI answer with minimal edits; cannot explain key lines or fix defects during review.
11) In-Class AI Use¶
For class assignments, timed quizzes/exams: AI use is forbidden unless explicitly stated.
AI is allowed for brainstorming, code sketching, and debugging only when explicitly permitted by the instructor.
12) Accessibility & Language Support¶
Using AI to improve grammar/clarity in your own writing is encouraged, but text substance must remain yours.
If you rely on translation, note this in your AI-Use Statement.