# Student Orientation Guide

Welcome to the Agentic Engineering Course. This guide tells you exactly what to do first.

---

## Step 1: Prerequisites Checklist

Before starting, ensure you have:

- [ ] **Python 3.12+** installed (`python --version`)
- [ ] **Git** installed (`git --version`)
- [ ] **A text editor** (VS Code recommended)
- [ ] **At least one API key** (see API Keys section below)
- [ ] **Terminal** (PowerShell on Windows, bash on Mac/Linux)

### Optional (install later when needed)

- [ ] **Claude Code CLI** — `npm install -g @anthropic/claude-code`
- [ ] **Pi Agent CLI** — `npm install -g pi-coding-agent`
- [ ] **OpenCode CLI** — `npm install -g @opencode/cli`

---

## Step 2: Course Structure

The course is organized into **8 modules** with **13 labs**:

```
course/
├── 00-CURRICULUM.md         ← START HERE: Full lesson plan
├── M1-FOUNDATIONS.md        ← START HERE: Module 1
├── M2-ARCHITECTURE.md
├── ... (M3 through M8)
├── labs/                    ← Hands-on exercises
│   ├── L1-first-agent/
│   ├── L2-multi-tool/
│   └── ... (13 total)
└── FIELD-MANUAL.md          ← Quick reference cheat sheet
```

### How Each Module Works

```
1. Read the module file (M1-FOUNDATIONS.md)
2. Complete the lab exercise (labs/L1-first-agent/)
3. Take the quiz (ASSESSMENTS.md)
4. Move to next module
```

---

## Step 3: Your First Lab

Navigate to `labs/L1-first-agent/` and open `starter.py`:

```bash
cd course/labs/L1-first-agent/
python starter.py data.txt "What is this file about?"
```

**Don't have an API key?** The mock LLM client handles this automatically. Your code runs the same way with or without a real API key.

### Lab Tips

- Each lab has `starter.py` (fill in the blanks) and `solution.py` (reference answer)
- Try the starter first. Look at the solution only when stuck
- The `reasoning` parameter on every tool call is not optional — it's a course requirement
- Always set `MAX_ITERATIONS` to prevent infinite loops

---

## Step 4: Install Skills (Optional)

After completing Module 3 (Security), install the skill kits:

```bash
# Windows
powershell -File install.ps1

# Mac/Linux
bash install.sh

# Single kit
bash install.sh security
```

---

## Step 5: Recommended Learning Path

| Order | Module | Time | Do This |
|-------|--------|------|---------|
| 1 | M1 Foundations | 4-6 hrs | Read + Lab 1 |
| 2 | M2 Architecture | 6-8 hrs | Read + Labs 2a, 2b |
| 3 | M3 Safety | 5-7 hrs | Read + Labs 3a, 3b |
| 4 | M4 Orchestration | 7-9 hrs | Read + Labs 4a, 4b |
| 5 | M5 Production | 5-7 hrs | Read + Labs 5a, 5b |
| 6 | M6 Economics | 4-6 hrs | Read + Labs 6a, 6b |
| 7 | M7 Advanced | 5-7 hrs | Read + Labs 7a, 7b |
| 8 | M8 Capstone | 8-12 hrs | Build your project |

---

## Common Pitfalls

| Problem | Solution |
|---------|----------|
| `ModuleNotFoundError: anthropic` | Run `pip install anthropic` or use mock LLM (automatic fallback) |
| Lab runs but produces no output | Check you called `run_agent()` at the end of the script |
| Tool loop never terminates | Check `MAX_ITERATIONS` is set. Default is 15. |
| Mock LLM returns "No input provided" | Check you're passing `messages` to `create()` not just `prompt` |
| YAML parse error in skills | Check indentation — YAML uses 2-space indents |

---

## Getting Help

- **Course content issues**: Check the module file first, then the solution file
- **Lab errors**: Run `python -c "from mock_llm import MockAnthropic; print('OK')"` from the labs directory
- **Concept questions**: Module files explain concepts. FIELD-MANUAL.md is the quick reference.
- **Still stuck**: The course README.md has a full file listing

---

## What You'll Learn

By the end of this course, you will be able to:

1. Build single-tool and multi-tool agents from scratch
2. Implement the 6-level security ladder (L0-L5) to protect your systems
3. Design multi-agent systems with teams, chains, and peer-to-peer communication
4. Deploy agents to production with CI/CD, observability, and rollback
5. Optimize costs using cascade routing and evaluate performance with pass@k
6. Build self-improving agents that experiment and learn
