AI Usage in Coding Assignments
In this course, the use of AI coding assistants is permitted but must be used carefully and transparently.
AI supported software development is becoming widely available and can help you learn and work more efficiently. However, AI can also
introduce errors, unnecessary complexity, or misleading suggestions. You are responsible for the correctness,
clarity, and integrity of your work.
Neutral stance on specific tools
We do not endorse any specific AI tool, model, or provider. You are free to use any AI product or to complete all
assignments without AI support. One option some students use is the
GitHub Student Developer Pack (free after applying with your
university email), which currently includes access to GitHub Copilot with various AI models integrated into editors
such as VS Code. Use of any AI service is optional.
Requirements when you use AI
- Disclosure: In each assignment, briefly document whether and how you used AI. Include which tool / model you used and for what purpose (e.g., boilerplate, refactoring suggestion, explaining an error).
- Verification: You must understand and verify every AI-suggested change. You are accountable for bugs, design violations, or poor code quality introduced by AI.
- Explainability: You must be able to explain your code and design decisions in your own words in the oral/walkthrough checks.
Best practices
- Know model differences: Reasoning vs. non‑reasoning models, coding benchmarks (e.g., SWE-style evaluations), latency and context window limits can affect quality and cost.
- Mind limitations: AI can hallucinate APIs, invent parameters, or produce over‑engineered solutions. Treat outputs as drafts.
- Check recency: Generative models are pre‑trained; they may not know libraries/frameworks released after their training cutoff. Prefer official docs and up‑to‑date sources for new APIs.
- Iterate with clear prompts: Break work into small, verifiable tasks. Provide minimal reproducible context (error messages, code snippets, expected behavior).
- Constrain scope: Ask for small diffs or targeted suggestions; avoid broad rewrites unless you can review thoroughly.
- Validate behavior: Run and test changes. Check edge cases, performance, accessibility, and visual encoding correctness.
- Preserve simplicity: Prefer clear, readable code over clever one‑liners or unnecessary abstractions often suggested by AI.
- Respect licenses and privacy: Do not paste proprietary or personal data into third‑party tools without permission. Cite external sources appropriately.
Warnings
- Hallucinations: AI may fabricate function names, dataset columns, or APIs. Cross‑check with documentation.
- Hidden complexity: Suggested patterns may add state, dependencies, or indirection that complicate maintenance.
- Cost/quotas: Understand provider costs, free‑tier limits, and rate limits. Plan offline work accordingly.
If you choose not to use AI
That is perfectly fine. You can complete all assignments without AI support. The grading criteria are identical;
only the disclosure section will state that no AI was used.
See the assignment pages (A1–A3) for the required 5‑minute video walkthrough, which includes an explicit segment on
technical setup and AI usage.