Month 1 — Foundation (Wk 1–4)
Weeks 1–4 · Days 1–28
🎯 Theme: Build Your Foundation — Learn how LLMs work and call your first AI API
Active Tracks: AI Engineering · Communication · CS Fundamentals (light)
🎯 Month 1 Goals
- Build and run 4 GitHub projects
- Master 30 core AI vocabulary words
- Prepare 3 STAR behavioral stories
- Pass all 4 weekly quizzes (score at least 67% on each)
- Complete all communication exercises
📋 Month 1 Milestone
✅ 4 GitHub projects + 3 STAR stories + 30 vocab words mastered
🧠 Week 1 — What is an LLM?
One line: An LLM is a massive neural network trained on billions of web pages. It predicts the next word — over and over — to produce text.
🎯 Analogy: LLM = super-powered phone autocomplete. Your phone suggests "good morning" after you type "have a". An LLM was trained on all of the internet — so it can autocomplete anything: code, essays, answers, stories.
🔑 5 Terms You Must Know
| Term | Simple Meaning | Example |
|---|---|---|
| Token | A chunk of text (not always a word) | "unhappy" = 2 tokens: "un" + "happy" |
| Context Window | How much text the LLM reads at once | 128k tokens ≈ reading 300 pages at once |
| Temperature | Controls creativity of output | 0 = safe & exact · 1 = creative & risky |
| Parameters | Numbers the model learned during training | GPT-4 ≈ 1 trillion parameters |
| Inference | Running the model to get a response | You send prompt → model runs → reply appears |
💻 Your First API Call
import anthropic
client = anthropic.Anthropic() # uses ANTHROPIC_API_KEY from env
response = client.messages.create(
model="claude-opus-4-6",
max_tokens=200,
messages=[{"role": "user", "content": "What is AI in one sentence?"}]
)
print(response.content[0].text)
🏗️ Build: Simple terminal chatbot — user types → gets AI reply → loops. Push to GitHub.
🧠 Week 2 — Prompt Engineering Mastery
One line: Prompt engineering = writing better instructions to get better outputs from an LLM. It is a skill, not a trick.
🎯 Analogy: You hired the smartest intern on earth. But they do exactly what you say. Vague instruction → vague output. Clear, structured instruction → perfect output. That is prompt engineering.
🔑 5 Core Techniques
| Technique | What it does | When to use |
|---|---|---|
| System Prompt | Sets the role and rules for the LLM | Always — sets the stage |
| Zero-shot | Ask directly, no examples | Simple straightforward tasks |
| Few-shot | Give 2–3 examples before asking | Complex or structured tasks |
| Chain-of-Thought | Add "Think step by step" | Math, logic, multi-step reasoning |
| Role Prompting | "Act as a doctor..." | When domain expertise is needed |
💻 Before vs After — The Difference Prompt Engineering Makes
❌ Bad: "Summarize this."
✅ Good: "You are a technical writer. Summarize the following article
in exactly 3 bullet points. Each point max 15 words.
Focus only on technical decisions made."
🏗️ Build: Prompt Template Library — 5 Python functions each wrapping a different prompt style: summarize, review code, write email, answer FAQ, generate unit tests.
🧠 Week 3 — RAG: Retrieval-Augmented Generation
One line: RAG = search your own documents first, inject the relevant pieces into the prompt, then let the LLM answer using that fresh context.
🎯 Analogy: Open-book exam. The LLM is the student. Your PDFs are the book. Without RAG, the student answers from memory alone (may hallucinate). With RAG, they look up the relevant page first — much more accurate.
🔑 The RAG Pipeline (Visual)
User Question
↓
[Embed the question into a vector]
↓
[Search vector DB → find top 3 similar document chunks]
↓
[Build prompt: "Context: {chunks} \n\n Question: {question}"]
↓
[Send to LLM → Get grounded answer]
🔑 5 Key Terms
| Term | Meaning | Example |
|---|---|---|
| Chunking | Split doc into small pieces | 1 PDF → 50 chunks of ~500 words |
| Embedding | Convert text to a vector (numbers) | "hello" → [0.23, -0.45, 0.78, ...] |
| Vector Store | DB that stores and searches vectors | ChromaDB, Pinecone, FAISS |
| Similarity Search | Find chunks closest to the question | Cosine distance between vectors |
| Context Injection | Add found chunks into the prompt | "Based on: {doc_chunk}... Answer: ..." |
💻 RAG in 8 Lines
from langchain_community.vectorstores import Chroma
from langchain_openai import OpenAIEmbeddings
# Step 1: Embed and store your document chunks
db = Chroma.from_documents(chunks, OpenAIEmbeddings())
# Step 2: At query time — search for relevant chunks
docs = db.similarity_search("What is RAG?", k=3)
# Step 3: Inject into prompt and call LLM
context = "\n".join([d.page_content for d in docs])
# prompt = f"Context: {context}\n\nAnswer: {user_question}"
🏗️ Build: PDF Q&A Bot — upload any PDF, ask questions, get answers grounded in the document. Use LangChain + ChromaDB.
🧠 Week 4 — Tool Use & Function Calling
One line: You give the LLM a menu of tools (Python functions) it can call. It decides when to use them, your code runs them, and the LLM forms the final answer using the results.
🎯 Analogy: Without tools, the LLM is locked in a room with only its memory. Give it tools = give it a phone, calculator, and web browser. It decides when to use each one — you never have to tell it when.
🔑 How Tool Calling Works (Step by Step)
1. You define tools as JSON schemas
2. User asks: "What is the weather in Chennai?"
3. LLM decides: "I need get_weather(city='Chennai')"
4. Your code runs get_weather("Chennai") → {"temp": "34°C", "humidity": "80%"}
5. LLM sees result → writes: "It is currently 34°C in Chennai."
🔑 4 Key Terms
| Term | Meaning |
|---|---|
| Tool Schema | JSON description of a function (name, params, description) |
| Tool Selection | LLM reads all tool descriptions and picks the right one |
| Tool Result | Your code runs the function and returns the output |
| Parallel Tool Use | LLM calls multiple tools in one single turn |
💻 Tool Definition Example
tools = [{
"name": "get_weather",
"description": "Get current weather for a city",
"input_schema": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "The city name"}
},
"required": ["city"]
}
}]
🏗️ Build: Multi-tool assistant with 3 tools — get_weather, search_web, convert_currency. LLM picks the right tool for every question automatically.
📅 Week Pages — Detailed Daily Checklists
- 📆 Week 1 — What is an LLM?
- 📆 Week 2 — Prompt Engineering Mastery
- 📆 Week 3 — RAG: Retrieval-Augmented Generation
- 📆 Week 4 — Tool Use & Function Calling