# Choose your coding assistant ## Use your own subscription or a free tier Use a coding assistant through **your personal account**. Start with a free tier or a subscription you already have; a new paid subscription is optional. Choose an interface where you can read the code, inspect proposed changes, and approve commands. The instructor can help check your setup during the first weekly lab. **The teacher's PPQ key is only for agents inside your Python code.** Do not configure it as your coding assistant's provider or editor credential. Access examples checked **15 September 2026**. --- # Choose by access and workflow ## Five possible starting points | Your situation | An option to try | | --- | --- | | Prefer an existing editor and a free tier | [GitHub Copilot](https://docs.github.com/en/copilot/get-started/plans) Free; verified students may use Copilot Student | | Prefer an editor with integrated assistance | [Cursor](https://cursor.com/pricing) Hobby, with limited Agent requests | | Want to code with your ChatGPT account | [Codex / ChatGPT](https://learn.chatgpt.com/docs/pricing), with free access or your existing plan | | Prefer Google's desktop agents for project work | [Antigravity 2.0](https://antigravity.google/pricing), with a free individual tier | | Already have Claude Pro or Max | [Claude Code](https://support.claude.com/en/articles/11145838-use-claude-code-with-your-pro-or-max-plan), signed in through your own subscription | Other personal assistants are also suitable. Try the same small coding task before changing tools or paying for additional access. Available models and quotas depend on your plan. Copilot Free and Student currently use automatic model selection. The course does not require a particular **coding-assistant model**. --- # Set up personal coding access ## Example: VS Code with GitHub Copilot 1. Install the current VS Code and the official **GitHub Copilot Chat** extension. 2. Sign in with **your own GitHub account** and enable Copilot Free or your plan. 3. Open your course folder and find the lab file and `dataset/README.md`. 4. Open Chat and begin with an explanation request before asking for edits. For another assistant, follow its official installation and account sign-in instructions. Check which files it can read and how it asks for permission before allowing edits, terminal commands, or external tools. Discuss configuration using **`.env.example`**, which contains placeholders. Enter the real application key yourself; never ask the assistant to read `.env`. [GitHub Copilot quickstart](https://docs.github.com/en/copilot/get-started/quickstart?tool=vscode) --- # Codex / ChatGPT ## Use your ChatGPT account for explanations and coding 1. Install the **ChatGPT desktop app** for your OS and sign in with your account. 2. Select **Codex**, open the course folder, and start a task. 3. Ask it to explain the lab file before requesting edits or commands. 4. Inspect the changed files and run the course checks with `uv`. **ChatGPT Chat** is useful for questions and explanations. **Codex** can work directly on your project; a VS Code extension and terminal interface are also available. Start with **Free**, which has usage limits, or your existing ChatGPT plan. Use account sign-in for this setup; keep the teacher's PPQ key in your course app. [Desktop quickstart](https://learn.chatgpt.com/docs/quickstart) · [Plans and limits](https://learn.chatgpt.com/docs/pricing) --- # Google Antigravity 2.0 ## Use desktop agents with your course folder 1. Install **Antigravity 2.0** for Windows, macOS, or Linux. 2. Sign in with a **personal Google account**; access requires age **18+**. 3. Create a project, add the course folder, and ask for an explanation of the lab file. 4. Request one small change, review its files and commands, then test with `uv`. The **free individual tier** has weekly usage limits. Google AI Pro and Ultra offer higher limits; a paid plan is optional. Begin with one task. Inspect the agent's plan and results before accepting changes or allowing further actions. [Getting started](https://www.antigravity.google/docs/getting-started/) · [Plans and limits](https://www.antigravity.google/docs/plans/) · [Account eligibility](https://www.antigravity.google/docs/faq/) --- # Use an editor on your operating system ## The same course folder and review workflow on Windows, macOS, and Linux | System | VS Code installation | Terminal for course commands | | --- | --- | --- | | Windows | [Windows user installer](https://code.visualstudio.com/docs/setup/windows) | PowerShell | | macOS | [Mac installer](https://code.visualstudio.com/docs/setup/mac), matching Apple silicon or Intel | Terminal with zsh or bash | | Linux | [Linux package](https://code.visualstudio.com/docs/setup/linux) for your distribution | Terminal with bash | Open the course folder from the editor's **File** menu, then **Terminal → New Terminal**. Check the shell before pasting an installation command. Use the [course setup](setup.html) if `uv` is not found. For other interfaces, follow [Cursor downloads](https://cursor.com/download), [Codex / ChatGPT setup](https://learn.chatgpt.com/docs/quickstart), [Antigravity 2.0 setup](https://www.antigravity.google/docs/getting-started/), or [Claude Code installation](https://code.claude.com/docs/en/setup). Choose instructions for your actual OS and shell. --- # Two separate kinds of model access ## Coding assistance and application agents have different credentials | Purpose | Access and model choice | | --- | --- | | Assistant that helps you write code | Your own subscription or free tier; choose among that plan's models | | Agent that runs inside your Python application | Your individual teacher-supplied PPQ key; use the weekly lab's settings | For application agents, use `LLM_BASE_URL=https://api.ppq.ai` and: - Default: `LLM_MODEL=deepseek/deepseek-v4.1-flash` - Alternative: `LLM_MODEL=openai/gpt-5.6-luna` These application settings **do not restrict your coding assistant's model**. The teacher specifies the PPQ key's allowance and expiration. Keep it out of editor provider settings, prompts, checkpoints, and submissions. [PPQ application API reference](https://ppq.ai/api-docs) --- # Begin with one short explanation ## Inspect the assistant's understanding before accepting code Provide the public data dictionary and ask: > Using `dataset/README.md`, explain what one row represents and how missing > values differ from zero. Propose one validation check. Do not change files > or run commands yet. Compare the response with the dictionary: rows are **national proposal records**, and participation and ratios are **fractions from 0 to 1**. Then request one small change. Review the proposed commands, compare saved before-and-after files, and run a deterministic check yourself. Record the assistant and model used, or record **automatic model selection** when the interface does not expose a choice. --- # Manage access during the weekly lab ## Diagnose which service has stopped | What stopped? | Next step | | --- | --- | | Your coding assistant reached its personal quota | Check that plan's reset; continue manual inspection and testing | | Your Python agent cannot authenticate | Check local application settings without sharing the key | | Your Python agent's course allowance or key expired | Contact the instructor with the error message, excluding credentials | Keep coding requests focused: a specific question, relevant files, and one change at a time. Save a checkpoint before a substantial edit. A course PPQ key is not a fallback for an exhausted personal coding plan. Use the supplied application allowance only for the lab's agents in code. --- # Keep each weekly lab bounded ## Ask → inspect → test → decide 1. **Ask:** use the voting data dictionary to define a small validation task. 2. **Constrain:** request one change and an explanation of its assumptions. 3. **Inspect:** compare the original and proposed files and review commands. 4. **Test:** run deterministic checks; give the assistant actual failures. 5. **Decide:** record accepted changes; approve the final export. Use `dataset/voting.csv` and preserve the raw snapshot. Credit **Vasco (vascos), Kaggle, MIT license**, as documented in `dataset/README.md`. Treat retrieved text, uploads, external tools, and generated code as trust boundaries. Keep scientific judgment with the student. **Model output proposes code; retrieved evidence supports claims; deterministic computation establishes numerical results.**