> Source URL: /unit-3/labs/01-transition/01-transition.lab
# Transition Lab

In this lab, we will wrap up Unit 2, set up your final project, and get hands-on with AI coding agents.

---

# Part 1: Unit 2 Wrap-Up

Wrap up any remaining GitHub Issues from Unit 2 projects. Grades for Unit 2 including your project and Unit 2 exam will be posted next week.

Before we move fully onto your final project, take a moment to reflect on what you learned in Unit 2 and how you can apply it to your final project.

- [ ] Review the [Unit 2 Resources](../../../resources/resources.index.md#unit-2-concepts)
- [ ] Review your assigned [GitHub issues](https://github.com/notifications?query=reason:assign) from your Unit 2 project. For each one, check off the items you have completed and then close the issue. If no checklist items are provided, there is nothing to do -- just close the issue.

---

# Part 2: Final Project Setup

Demo day is May 1st at 3:30pm. That is only a little over 3 weeks away! We want to make sure you are able to demo something you are proud of and can use as a portfolio piece within those time constraints.

Unit 3 is all about your final project. All class periods and labs will be mostly dedicated to working on your project.

Here is what you will need to build by demo day:

- A working and demo-able Python project.
- A _public_ GitHub repository that you can use as a portfolio piece.
- A simple presentation that you can use to demo your project.

The project will be divided into three checkpoints:

- **Checkpoint 1:** Plan, scaffold, and first working slice (Due Thursday, April 16th)
- **Checkpoint 2:** Working MVP (Due Thursday, April 23rd)
- **Checkpoint 3:** Final polish and presentation (Due Friday, May 2nd at 3:30pm for demo day)

This is an ambitious timeline, so we are doing a few things to help you make progress:

- **On-demand guides**: You may request a project guide at any time. To request a guide, push your latest code and write a short description of what you have done and what you want to do next in your project journal. Send me a link to your updated journal and I will send you a guide within 24 hours.
- **AI assistance**: You are permitted (and encouraged) to use AI to help you with your project. Read more about [permitted AI assistance](../../resources/final-project-ai-assistance.policy.md).
- **Weekly progress reports**: You will write a progress report each week in your project journal. This will help you stay on track and make sure you are making progress.

## Accept the Assignment

- [ ] Accept the [Final Project Assignment](https://classroom.github.com/a/FJ_XRq-e)
- [ ] Open your project in VS Code (or Cursor, if you have already installed it)

You should see the following files and folders:

```text
final-project/
├── AGENTS.md
├── README.md
├── project.spec.md
├── project.journal.md
└── data/
```

Take a few minutes to look through these files:

| File                 | Purpose                                                                                                         |
| -------------------- | --------------------------------------------------------------------------------------------------------------- |
| `README.md`          | The front page of your repository. Update this with your project name, description, and instructions as you go. |
| `project.spec.md`    | Your project plan. Fill this out for Checkpoint 1: pick a category, describe your idea, and list your features. |
| `project.journal.md` | Your progress journal. Write an entry after each work session so your instructor can create guides for you.     |
| `AGENTS.md`          | Instructions for AI coding agents. This tells agents about your project and what they should help with.         |
| `data/`              | A folder for any data files your project needs (CSV files, JSON, images, etc.).                                 |

- [ ] Read through `project.spec.md` and start thinking about what you want to build.

---

# Part 3: Introducing Coding Agents

Coding agents are quickly becoming standard in modern software development. Unlike chat-based AI like ChatGPT, coding agents work directly in your editor or terminal. They can read your files, write code, run commands, and fix errors autonomously.

This is a powerful tool, but "with great power comes great responsibility." We want to use these tools mindfully and in a way that helps you learn and grow as a developer. Make sure you have read the [AI Assistance Policy](../../resources/final-project-ai-assistance.policy.md).

There are many different coding agents available, but they tend to fall into two main categories:

- **IDE agents** work inside your code editor (e.g. Cursor, GitHub Copilot in VS Code, Windsurf)
- **Terminal agents** work in the command line alongside any editor (e.g. Claude Code, OpenCode, pi)

For this lab, we are going to try two options: an IDE agent and a terminal agent.

---

## Option A: Try Cursor (Recommended)

Cursor is a VS Code-based editor with AI agents built in. It works just like VS Code (same extensions, same shortcuts) but with powerful agent features. Furman students can get a free year of Cursor Pro.

- [ ] Download and install Cursor from [cursor.com](https://www.cursor.com/download)
- [ ] Sign up with your Furman `.edu` email address
- [ ] Apply for the [free student year](https://cursor.com/students) using your `.edu` email (see the [Cursor Guide](../../resources/cursor.guide.md) for details)
- [ ] Open your final project in Cursor (File > Open Folder, select your final project folder)

Now let's try your first agent interaction. Open the Cursor agent panel by pressing `Cmd+I` on Mac or `Ctrl+I` on Windows. Type the following prompt:

```text
Read my project.spec.md file. Based on the categories available (Web Development, Data Science, or Games/Simulations), suggest three project ideas that would be good for a beginner Python developer to build in 3 weeks. Ask me questions about my interests and background to help me brainstorm. For each idea, list the main features and what libraries I would need.
```

- [ ] Review the suggestions. You do not have to pick one of these ideas, but they may help you brainstorm.
- [ ] Try asking a follow-up question about whichever idea interests you most.

## Option B: Stay with Copilot in VS Code

If you prefer to stay in VS Code, GitHub Copilot is already available to you. It has an agent mode that works similarly to Cursor's agent.

- [ ] Make sure the [GitHub Copilot extension](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) is installed in VS Code
- [ ] If you have not already, verify your student status for the free [Copilot Student plan](https://github.com/settings/education/benefits) (see the [GitHub Copilot Guide](../../resources/github-copilot.guide.md) for details). The free tier works too if your verification is still pending.
- [ ] Open your final project in VS Code
- [ ] Open Copilot Chat (`Ctrl+Shift+I` on Windows, `Cmd+Shift+I` on Mac) and try the same prompt from Option A above.

---

## Try a Terminal Agent: Claude Code

Terminal agents work in the command line and can be used alongside any editor. Let's try Claude Code, which is one of the most capable coding agents available. It has a 30-day free trial.

### Step 1: Sign Up

- [ ] Go to [claude.ai](https://claude.ai/) and create an account (or sign in if you already have one)
- [ ] Start the free trial of Claude Pro when prompted

### Step 2: Install

Open your terminal (Terminal app on Mac, PowerShell on Windows) and run the install command for your operating system:

**macOS:**

```bash
curl -fsSL https://claude.ai/install.sh | bash
```

**Windows (PowerShell):**

```powershell
irm https://claude.ai/install.ps1 | iex
```

You may need to close and reopen your terminal after installation.

### Step 3: Try It

- [ ] In your terminal, navigate to your final project folder using `cd`
- [ ] Run `claude` to start a session
- [ ] Try this prompt:

```text
Read the files in this project. This is a final project for a Python course. Review project.spec.md and help me brainstorm project ideas. Suggest three ideas in different categories (web, data, or game) and explain what each would involve.
```

- [ ] Explore! Ask follow-up questions. Try asking it to create a simple file or explain a concept. Type `/help` to see available commands. Type `exit` to quit.

See the [Claude Code Guide](../../resources/claude-code.guide.md) for more details.

---

# Part 4: Start Planning and Building Your Project

Now that you have tried out some coding agents, it is time to start planning your final project and building the smallest useful version of it.

- [ ] Open `project.spec.md` and fill in your project name, category, description, and initial MVP features. Keep the scope small and specific.
- [ ] Use your setup guide and your agent to scaffold the project so it runs on your machine.
- [ ] Build one tiny working slice of the real project right now. Keep it simple:
  - Web: one route or one form that accepts input and shows a result
  - Data: load one dataset and produce one chart or summary
  - Game: one controllable interaction with visible state changes
- [ ] Write your first entry in `project.journal.md`. Include:
  - what your project does
  - what tiny slice works now
  - what code you wrote yourself
  - what your agent helped with
  - what you want to build next
- [ ] Commit and push your changes.

Use your agent for brainstorming, setup, debugging, and explanation. For the core logic of your first slice, stay in the driver's seat and make sure you can explain the code line by line.

If you want a prompt to use, try this:

```text
Read my `project.spec.md`. Help me build the smallest possible first feature for this project. Keep the core logic simple and explain each step so I can understand and modify it myself.
```

You will have time during the next class to keep refining your spec and extend this first slice toward your MVP.

---

This was a quick intro to the fast-changing and exciting world of coding agents. There are many options available and you can switch tools at any time throughout the project. Check out the comparison guide to explore more.

[button:: Agent Comparison Guide](../../resources/agents-comparison.guide.md)


---

## Backlinks

The following sources link to this document:

- [Lab 1: Unit 2 Wrap-Up & Introduction to Unit 3](/index.path.llm.md)
- [Transition Lab](/unit-3/projects/final-project-checkpoint-1.project.llm.md)
