Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

AI Use & Growth Mindset Policy

COMP 521: Introduction to Scientific Computing and Data Science | Fall 2026

This document explains how artificial intelligence (AI) fits into COMP 521: Introduction to Scientific Computing and Data Science. It is intentionally separate from the syllabus so it can be read carefully, revisited, and treated as a shared agreement about how learning happens in this course.

I’m going to be transparent up front:

This course is about learning how to think computationally and analyze real scientific data. AI is optional. Struggle is expected. Understanding is the point.

We’re living in a moment where “vibe coding” (prompt →\to code →\to it runs) is popular and sometimes genuinely productive. But it also has severe limitations: it can generate code that runs while being fragile, inefficient, or conceptually wrong.

I don’t pretend to know exactly what the future of AI-assisted coding looks like in scientific research. But I do know this: if you want to benefit from these tools (now or later), you need higher-level skills—judgment, verification, debugging instincts, and adaptability. This policy exists to protect the time you need to develop those skills.


Non‑Negotiables (Read These First)

  1. AI is optional. You can earn full credit without using AI at all.

  2. You are responsible for your code and written answers. You must understand and be able to explain everything you submit.

  3. No AI refactoring / restructuring. If AI changes the structure of your solution, your work is no longer assessable.

  4. No AI-written “core solution” code. AI may support learning and presentation (in later phases), but the algorithmic logic must remain yours.

  5. Disclosure is required. Meaningful AI use must be documented.

If you’re unsure whether something is allowed, ask before submitting.


Why This Policy Exists

Scientific computing is not about typing the right thing into Python and getting a plot that looks reasonable. It’s about building intuition:

Those skills only develop if you spend time inside the confusion. Reading documentation, trying things that don’t work, and debugging code you wrote yourself are not obstacles—they are the learning process.

Used too early, AI replaces that process with something that looks like competence but isn’t. This policy is designed to protect the time you need to build real understanding first.


Growth Mindset (How I Expect You to Learn)

Struggle is normal. Feeling slow is normal. Being confused at first is normal.

If something feels hard, that does not mean you’re bad at this—it usually means you’re doing exactly what you should be doing.

The Struggle‑First Protocol (Before AI)

Before turning to AI, you are expected to do all of the following:

  1. Try first. Make a real attempt. Write something.

  2. Docs next. Read the relevant documentation (or docstring / API reference).

  3. Experiment. Change one thing at a time. Build a minimal reproducible example.

  4. Hypothesize. Write down what you think is wrong before you ask a tool.

20–30 minutes of productive struggle (use judgment)

In this course, “struggle first” usually means ~20–30 minutes of genuine effort before asking an AI tool for help with coding work. The goal is productive struggle, not watching the clock.

For the Code Review Presentations, you may use AI to discover candidate packages without waiting through a coding struggle-first period. Coding help still follows the guidance below.

Use judgment based on what kind of stuck you are:

If you’re genuinely stuck with no new ideas after ~20 minutes, that counts as productive struggle. Document what you tried and then ask a focused question.

AI should come after effort, not instead of it.

When you do use AI, treat it like you’d treat Google / Stack Overflow / a colleague:

The goal here is not speed. The goal is durable understanding.


Definitions (So There’s No Ambiguity)


AI Is Optional

You are not required to use AI in this course.

You can complete every assignment, project, and the final without AI and still earn full credit. This is not an AI class. The learning objectives do not depend on AI.

This policy exists to guide responsible use if you choose to use AI—not to push you toward it.


The “Traffic Light” Rules (How to Use AI Without Losing the Learning)

Use AI as a Socratic tutor (copy/paste prompt)

If you use an AI tool, start the conversation by telling it to help you learn rather than generate solutions. For example:

Act as a Socratic tutor for scientific computing. Don’t give me direct solutions or write my core code. Instead, guide me with questions. When I’m stuck, give hints, not answers. Help me build intuition by asking what I think should happen physically/mathematically and how I would test it. If I ask for an explanation, first ask what I already understand and what specifically confuses me.

Green (Encouraged: tutoring + verification)

Use AI to increase understanding and rigor:

Yellow (Allowed with constraints: you remain the author)

Use AI for support that improves communication or workflow, after you have baseline competence:

Red (Not allowed)

These uses undermine learning and/or fairness:

Examples: good vs. bad AI requests

Debugging (all phases, after struggle):

Concept understanding (always allowed):

Optimization (Phase 2–3 only, with a working baseline):

The Cognitive Ownership Principle

After consulting AI, close it and re‑implement the idea from your own understanding. Don’t paste generated code into your project and hope. If you can’t write (and explain) the key parts yourself, you don’t understand it yet—and you shouldn’t submit it.


The Three‑Phase AI Policy

AI permissions change over the semester to match where you should be cognitively at that point. These phases apply to everyone. There are no early opt‑ins.

Phase transitions are tied to the course’s assessment sequence, not to calendar convenience:

PhaseWorkWeeksDates (Fall 2026)
Phase 1 — Skill FormationProjects 1–31–6Aug 25 – Oct 7
Phase 2 — Assisted FluencyProjects 4–5 and Code Review Presentations7–12Oct 6 – Nov 16
Phase 3 — Supervised Tool UseFinal Project13–16Nov 17 – Dec 10

Project 3 retains Phase 1 rules through its October 7 deadline, even though Project 4 begins October 6. Follow the phase for the assessment you are working on when project windows overlap.

Phase 1 — Skill Formation (Projects 1–3 · Weeks 1–6)

What this phase is about: building basic coding skills, computational intuition, and comfort with documentation, errors, and debugging.

This is nearly half the semester, and that is deliberate.

This is the phase where automation is most harmful to learning.

AI may be used for (tutoring only):

AI may NOT be used for:

Phase 2 — Assisted Fluency (Projects 4–5 and Code Review Presentations · Weeks 7–12)

What this phase is about: becoming more efficient after you’ve built foundations.

By this point, you should have written many docstrings, made plots from scratch, read plotting documentation, and used git directly.

AI may be used for:

AI may NOT be used for:

AI can help with presentation and efficiency—but structure and logic must remain yours. For the Code Review Presentations, the assessment brief sets a narrower rule: AI may help you find and understand packages or flag gaps, but it may not write or rewrite your outline, slides, notebook, review, or demonstration code.

Phase 3 — Supervised Tool Use (Final Project · Weeks 13–16)

What this phase is about: using tools the way a competent researcher does—under your own supervision, with verification you can defend.

This phase applies only to the final project. By this point you have completed five implementation projects and two code reviews. The final project can extend code you already wrote.

AI may be used for productivity, including:

However, AI‑driven refactoring/restructuring of core code remains prohibited, unless explicitly assigned.

You must be able to:

If you cannot explain it, you should not submit it.


Documentation Requirements (Strict)

If AI meaningfully contributes to your work, you must include an AI Use Log (brief, but specific) with your submission.

Your log must include:

If you did not use AI, you do not need to submit a log.

When AI influences a specific code block or function, add a short note directly above it (and refer to it in your AI Use Log):

# AI: [Tool] suggested [very short what]
# Verified: [what you checked: docs/tests/limit case/sanity check]
# Because: [why you accepted it / what you changed]

AI Use Log Template

### AI Use Log
- Tool(s):
- Purpose:
- What I did before AI (Struggle‑First Protocol):
- Key prompt(s) / summary:
- What changed in my work:
- Verification performed:

When in Doubt (Get Help)

If you’re uncertain about what’s allowed, or you’re stuck in a way that isn’t productive:

Stuck outside office hours: if it’s late and you’re genuinely blocked after ~45+ minutes of documented effort, you may use AI minimally to get unstuck (e.g., interpret an error, suggest tests). You still may not generate core solution code or refactor/restructure your solution. Bring the issue to office hours or class afterward so we can make sure the understanding is solid.


Should I Use AI for This? Quick Decision Flow

Ownership & Explainability Checks

Because AI can create plausible output quickly, this course emphasizes explainability.

At any time, you may be asked to:

This is not meant to be punitive—it’s how we make sure learning is actually happening.


Academic Integrity & Enforcement (Strict)

Consequences may include (depending on severity):

If you are unsure whether something is allowed, ask before submitting.


Equity, Access, and Privacy


Final Thoughts

Scientists use powerful tools effectively because they understand what correct behavior looks like.

This course is about building that understanding.

You are expected to struggle first, build fluency second, and only then lean on automation. That progression is not a punishment—it’s how real expertise forms.