CS146S: Nhà Phát Triển Phần Mềm Hiện Đại
The Modern Software Developer - Stanford University, Fall 2025
Tuần 1: Giới thiệu Coding LLMs
Tuần 1 ~45 phút đọcSau tuần này, bạn sẽ biết:
- Hiểu cách Large Language Models (LLMs) hoạt động từ kiến trúc đến training
- Nắm vững các kỹ thuật Prompt Engineering: Zero-shot, Few-shot, Chain-of-Thought
- Biết cách áp dụng LLMs hiệu quả trong phát triển phần mềm
- Nhận biết các giới hạn và "tâm lý" của LLM (hallucination, context window)
Chủ đề
- Course logistics - Giới thiệu và logistics khóa học
- What is an LLM actually - LLM thực sự là gì?
- How to prompt effectively - Cách prompt hiệu quả
Lộ trình học tập
1
Deep Dive into LLMs
2
Prompt Engineering Overview
3
Prompt Engineering Guide
4
AI Prompt Engineering: A Deep Dive
5
How OpenAI Uses Codex
Bài tập
- LLM Prompting Playground - Thực hành prompting với LLM
Bài giảng
- Thứ 2, 22/9: Giới thiệu và cách LLM được tạo ra - Slides
- Thứ 6, 26/9: Power prompting cho LLMs - Slides
Video bài giảng
1. Deep Dive into LLMs - Andrej Karpathy
Xem video: Deep Dive into LLMs - Andrej Karpathy
2. AI Prompt Engineering: A Deep Dive - Anthropic
Xem video: AI Prompt Engineering: A Deep Dive - Anthropic
Tài liệu tham khảo thêm
- Deep Dive into LLMs - Andrej Karpathy (YouTube)
- Prompt Engineering Overview - Google Cloud
- Prompt Engineering Guide - Prompting Techniques
- AI Prompt Engineering: A Deep Dive - Anthropic (YouTube)
- How OpenAI Uses Codex - OpenAI (PDF)
Tuần 2: Giải Phẫu của Coding Agents
Tuần 2 ~60 phút đọcSau tuần này, bạn sẽ biết:
- Hiểu kiến trúc và các thành phần cốt lõi của Coding Agents
- Nắm vững Model Context Protocol (MCP) - tiêu chuẩn kết nối AI với tools
- Biết cách implement tool use và function calling
- Có thể xây dựng custom MCP server từ đầu
Yêu cầu: Hoàn thành Tuần 1, hiểu cơ bản về prompting và LLM
Chủ đề
- Agent architecture and components - Kiến trúc và thành phần của Agent
- Tool use and function calling - Sử dụng tools và function calling
- MCP (Model Context Protocol) - Giao thức Model Context
Tài liệu đọc
- MCP Introduction - Giới thiệu Model Context Protocol (tiếng Việt)
- Sample MCP Server Implementations - Các MCP servers phổ biến (tiếng Việt)
- MCP Server Authentication - Bảo mật và xác thực MCP (tiếng Việt)
- MCP Server SDK - Xây dựng MCP Server với TypeScript (tiếng Việt)
- MCP Registry - Khám phá và đăng ký MCP Servers (tiếng Việt)
- MCP Food-for-Thought - APIs không làm MCP Tools tốt (tiếng Việt)
Bài tập
- First Steps in the AI IDE - Bước đầu với AI IDE
Bài giảng
- Thứ 2, 29/9: Xây dựng Coding Agent từ đầu - Slides, Completed Exercise
- Thứ 6, 3/10: Building a custom MCP server - Slides, Completed Exercise
Tài liệu tham khảo thêm
- MCP Introduction - Stytch Blog
- Sample MCP Server Implementations - GitHub
- MCP Server Authentication - Cloudflare Docs
- MCP Server SDK - TypeScript SDK
- MCP Registry - MCP Blog
- MCP Food-for-Thought - APIs Don't Make Good MCP Tools
- Building Effective Agents - Anthropic
- Model Context Protocol - Tài liệu chính thức
- ReAct Paper - Reasoning + Acting
- FastMCP - Python framework cho MCP servers
Tuần 3: The AI IDE
Tuần 3 ~50 phút đọcSau tuần này, bạn sẽ biết:
- Hiểu cách quản lý context và giúp AI hiểu code của bạn
- Viết PRD (Product Requirements Document) hiệu quả cho AI agents
- Cấu hình IDE tối ưu cho AI-assisted development
- Áp dụng được các pattern làm việc với AI trong codebase phức tạp
Yêu cầu: Hoàn thành Tuần 1-2, có kinh nghiệm cơ bản với IDE (VS Code, Cursor)
Chủ đề
- Context management and code understanding - Quản lý context và hiểu code
- PRDs for agents - Viết PRD cho agents
- IDE integrations and extensions - Tích hợp và extensions cho IDE
Tài liệu đọc
- Specs Are the New Source Code - Specifications là mã nguồn mới (tiếng Việt)
- How Long Contexts Fail - Tại sao context dài thất bại (tiếng Việt)
- Devin: Coding Agents 101 - Hướng dẫn Coding Agents (tiếng Việt)
- Getting AI to Work In Complex Codebases - AI trong codebase phức tạp (tiếng Việt)
- How FAANG Vibe Codes - Cách FAANG dùng AI coding (tiếng Việt)
- Writing Effective Tools for Agents - Viết tools hiệu quả cho agents (tiếng Việt)
Bài tập
- Build a Custom MCP Server - Xây dựng MCP Server tùy chỉnh
Bài giảng
- Thứ 2, 6/10: From first prompt to optimal IDE setup - Slides, Design Doc Template
- Thứ 6, 10/10: Silas Alberti, Head of Research Cognition - Slides
Tài liệu tham khảo thêm
- Specs Are the New Source Code - Ravi Mehta
- How Long Contexts Fail - Drew Breunig
- Devin: Coding Agents 101 - Cognition
- Getting AI to Work In Complex Codebases - HumanLayer
- How FAANG Vibe Codes - Twitter Thread
- Writing Effective Tools for Agents - Anthropic
Tuần 4: Coding Agent Patterns
Tuần 4 ~55 phút đọcSau tuần này, bạn sẽ biết:
- Quản lý các mức độ tự chủ (autonomy levels) của AI agents
- Áp dụng các pattern cộng tác human-agent hiệu quả
- Sử dụng Claude Code với best practices từ Anthropic
- Thiết kế workflow phù hợp cho từng loại task
Yêu cầu: Hoàn thành Tuần 1-3, đã cài đặt và sử dụng Claude Code hoặc Cursor
Chủ đề
- Managing agent autonomy levels - Quản lý mức độ tự chủ của agent
- Human-agent collaboration patterns - Các mẫu cộng tác giữa người và agent
Tài liệu đọc
- How Anthropic Uses Claude Code - Cách Anthropic dùng Claude Code nội bộ (tiếng Việt)
- Claude Code Best Practices - Best practices từ Anthropic (tiếng Việt)
- Awesome Claude Agents - 24 specialized agents (tiếng Việt)
- Super Claude Framework - Meta-programming framework (tiếng Việt)
- Good Context Good Code - AI-Native Development Culture (tiếng Việt)
- Peeking Under the Hood of Claude Code - Kiến trúc Claude Code (tiếng Việt)
Bài tập
- Coding with Claude Code - Thực hành với Claude Code
Bài giảng
- Thứ 2, 13/10: How to be an Agent Manager - Slides
- Thứ 6, 17/10: Boris Cherny, Creator of Claude Code - Slides
Tài liệu tham khảo thêm
- How Anthropic Uses Claude Code - PDF gốc
- Claude Code Best Practices - Anthropic
- Awesome Claude Agents - GitHub
- Super Claude Framework - GitHub
- Good Context Good Code - StockApp Blog
- Peeking Under the Hood of Claude Code - Medium
Tuần 5: The Modern Terminal
Tuần 5 ~35 phút đọcSau tuần này, bạn sẽ biết:
- Sử dụng AI-enhanced terminal (Warp) hiệu quả
- Tự động hóa các tác vụ terminal với AI
- Phân biệt khi nào dùng Warp vs Claude Code
- Xây dựng scripts và workflows với AI assistance
Yêu cầu: Hoàn thành Tuần 1-4, quen thuộc với command line cơ bản
Chủ đề
- AI-enhanced command line interfaces - Giao diện dòng lệnh được tăng cường bởi AI
- Terminal automation and scripting - Tự động hóa terminal và scripting
Tài liệu đọc
- Warp University - Học sử dụng Warp Terminal (tiếng Việt)
- Warp vs Claude Code - So sánh hai AI terminal tools (tiếng Việt)
- How Warp Uses Warp to Build Warp - Dogfooding tại Warp (tiếng Việt)
Bài tập
- Agentic Development with Warp - Phát triển với Warp agents
Bài giảng
- Thứ 2, 20/10: How to Build a Breakout AI Developer Product - Slides
- Thứ 6, 24/10: Zach Lloyd, CEO Warp - Slides (Figma)
Tài liệu tham khảo thêm
- Warp University - Khóa học chính thức
- Warp vs Claude Code - So sánh chính thức
- How Warp Uses Warp to Build Warp - Notion
- Warp Terminal - The terminal for the 21st century
Tuần 6: AI Testing và Security
Tuần 6 ~65 phút đọcSau tuần này, bạn sẽ biết:
- Hiểu OWASP Top 10 và các lỗ hổng bảo mật phổ biến
- Phân biệt và áp dụng SAST vs DAST trong testing
- Phát hiện vulnerabilities trong AI-generated code
- Bảo vệ hệ thống khỏi prompt injection và các tấn công AI
Yêu cầu: Hoàn thành Tuần 1-5, có kiến thức cơ bản về web security
Chủ đề
- Secure vibe coding - Lập trình an toàn với AI
- History of vulnerability detection - Lịch sử phát hiện lỗ hổng bảo mật
- AI-generated test suites - Bộ test được tạo bởi AI
Tài liệu đọc
- SAST vs DAST - So sánh hai phương pháp kiểm thử bảo mật (tiếng Việt)
- Copilot Remote Code Execution via Prompt Injection - CVE-2025-53773 (tiếng Việt)
- Finding Vulnerabilities in Modern Web Apps Using Claude Code and OpenAI Codex - Semgrep Research (tiếng Việt)
- Agentic AI Threats: Identity Spoofing and Impersonation Risks - Unit 42 Research (tiếng Việt)
- OWASP Top Ten: The Leading Web Application Security Risks - 10 rủi ro hàng đầu (tiếng Việt)
- Context Rot: Understanding Degradation in AI Context Windows - Chroma Research (tiếng Việt)
- Vulnerability Prompt Analysis with O3 - AI Vulnerability Detection (tiếng Việt)
Bài tập
- Writing Secure AI Code - Viết code an toàn với AI
Bài giảng
- Thứ 2, 27/10: AI QA, SAST, DAST, and Beyond - Slides
- Thứ 6, 31/10: Bảo mật trong kỷ nguyên AI (Isaac Evans - CEO Semgrep)
Tài liệu tham khảo thêm
- SAST vs DAST - Splunk
- Copilot Remote Code Execution via Prompt Injection - Embrace The Red
- Finding Vulnerabilities in Modern Web Apps Using Claude Code and OpenAI Codex - Semgrep
- Agentic AI Threats: Identity Spoofing and Impersonation Risks - Unit 42
- OWASP Top Ten: The Leading Web Application Security Risks - Official
- Context Rot: Understanding Degradation in AI Context Windows - Chroma Research
- Vulnerability Prompt Analysis with O3 - GitHub
Tuần 7: Modern Software Support
Tuần 7 ~50 phút đọcSau tuần này, bạn sẽ biết:
- Đánh giá và tin tưởng AI code systems một cách có cơ sở
- Thực hiện code review hiệu quả với AI assistance
- Sử dụng AI để debugging và diagnostics
- Tạo documentation thông minh với AI
Yêu cầu: Hoàn thành Tuần 1-6, có kinh nghiệm code review
Chủ đề
- What AI code systems can we trust - Hệ thống AI code nào đáng tin cậy
- Debugging and diagnostics - Gỡ lỗi và chẩn đoán
- Intelligent documentation generation - Tạo tài liệu thông minh
Tài liệu đọc
- Code Reviews: Just Do It - Tại sao code review quan trọng (tiếng Việt)
- How to Review Code Effectively - GitHub Staff Engineer philosophy (tiếng Việt)
- AI-Assisted Assessment of Coding Practices in Modern Code Review - Google AutoCommenter (tiếng Việt)
- AI Code Review Implementation Best Practices - Hướng dẫn triển khai (tiếng Việt)
- Code Review Essentials for Software Teams - Nguyên tắc cơ bản (tiếng Việt)
- Lessons from millions of AI code reviews - Bài học từ Graphite (tiếng Việt)
Bài tập
- Code Review Reps - Thực hành code review
Bài giảng
Tài liệu tham khảo thêm
- Code Reviews: Just Do It - Coding Horror
- How to Review Code Effectively - GitHub Blog
- AI-Assisted Assessment of Coding Practices in Modern Code Review - arXiv (PDF)
- AI Code Review Implementation Best Practices - Graphite
- Code Review Essentials for Software Teams - Blake Smith
- Lessons from millions of AI code reviews - YouTube (Graphite)
Tuần 8: Automated UI và App Building
Tuần 8 ~30 phút đọcSau tuần này, bạn sẽ biết:
- Xây dựng UI/UX prototypes nhanh với AI (v0, Lovable)
- Tạo full-stack apps từ single prompt
- Iterate nhanh trên designs với AI feedback
- Hiểu giới hạn và best practices của AI UI generation
Yêu cầu: Hoàn thành Tuần 1-7, có kiến thức cơ bản về frontend (HTML/CSS/JS)
Chủ đề
- Design and frontend for everyone - Thiết kế và frontend cho mọi người
- Rapid UI/UX prototyping and iteration - Tạo mẫu UI/UX nhanh và lặp lại
Bài tập
- Multi-stack Web App Builds - Xây dựng ứng dụng web đa nền tảng
Bài giảng
Tuần 9: Agents Post-Deployment
Tuần 9 ~55 phút đọcSau tuần này, bạn sẽ biết:
- Thiết lập monitoring và observability cho AI systems
- Triển khai automated incident response với AI
- Sử dụng AI để troubleshoot Kubernetes và infrastructure
- Áp dụng SRE principles: Error Budgets, SLIs/SLOs
Yêu cầu: Hoàn thành Tuần 1-8, có kinh nghiệm với deployment và DevOps cơ bản
Chủ đề
- Monitoring and observability for AI systems - Giám sát và quan sát cho hệ thống AI
- Automated incident response - Phản hồi sự cố tự động
- Triaging and debugging - Phân loại và gỡ lỗi
Bài giảng
- Thứ 2, 17/11: Incident response and DevOps - Slides
- Thứ 6, 21/11: Mayank Agarwal, CTO Resolve & Milind Ganjoo, Technical Staff Resolve - Slides
Tài liệu đọc
- Introduction to Site Reliability Engineering - Google SRE Book: Error Budget, SLIs/SLOs (tiếng Việt)
- Observability Basics You Should Know - Traces, Spans, Three Pillars (tiếng Việt)
- Kubernetes Troubleshooting with AI - AI để debug K8s hiệu quả (tiếng Việt)
- Your New Autonomous Teammate - AI Production Engineer (tiếng Việt)
- Role of Multi-Agent Systems in AI-Native Engineering - Hệ thống đa tác tử (tiếng Việt)
- Benefits of Agentic AI in On-Call Engineering - 5 lợi ích chính (tiếng Việt)
Assignment
Tài liệu tham khảo thêm
Week 10: What's Next for AI Software Engineering
Tuần 10 ~20 phút đọcSau tuần này, bạn sẽ biết:
- Dự đoán xu hướng phát triển phần mềm trong 5-10 năm tới
- Hiểu vai trò của developer sẽ thay đổi như thế nào
- Chuẩn bị career path phù hợp với kỷ nguyên AI
- Nhận biết các mô hình lập trình AI mới đang nổi lên
Yêu cầu: Hoàn thành Tuần 1-9
Chủ đề
- Future of Software Development Roles - Vai trò developer trong tương lai
- Emerging AI Coding Paradigms - Các mô hình lập trình AI mới
- Industry Trends and Predictions - Xu hướng và dự đoán ngành
Câu hỏi trọng tâm: Phát triển phần mềm sẽ như thế nào trong 10 năm tới? AI sẽ thay đổi vai trò của developer ra sao?
Bài giảng
- Thứ 2, 01/12: Software Development in 10 Years - Tương lai phát triển phần mềm
- Thứ 6, 05/12: Guest Lecture: Martin Casado, General Partner tại a16z
Tài liệu tham khảo thêm
Tổng Kết & Những Điểm Chính
Tóm tắtTriết lý cốt lõi: "Pure vibe coding vẫn chưa phải là cách khả thi để xây dựng phần mềm production. Mỗi developer phải học cách trở thành quản lý của một đội ngũ AI agent intern háo hức."
7 Bài Học Quan Trọng
- Human-Agent Engineering > Vibe Coding - Trở thành manager của AI agents
- Prompting là kỹ năng then chốt - Thành thạo các kỹ thuật: CoT, RAG, Reflexion
- Sync vs Async Tools - Biết khi nào dùng tool nào
- MCP là Tương lai - Tiêu chuẩn cho tích hợp AI-tool
- Bảo mật không thể bỏ qua - Code AI cần review kỹ hơn
- Code Review vẫn cần con người - AI hỗ trợ, không thay thế
- Build cho model 6 tháng sau - Sẵn sàng phát triển với công nghệ
Lộ trình Developer 2025
┌─────────────────────────────────────────────────────────────────┐
│ KỸ NĂNG DEVELOPER HIỆN ĐẠI │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Kỹ năng truyền thống Kỹ năng tăng cường AI │
│ ────────────────── ───────────────────── │
│ • DSA & System Design • Prompt Engineering │
│ • Clean Code • Quản lý Agent │
│ • Testing • Chọn công cụ AI │
│ • Debugging • Curation Context │
│ • Code Review • Cộng tác Human-AI │
│ │
│ ┌─────────────────────┐ │
│ │ DEVELOPER HIỆN ĐẠI │ │
│ │ = Truyền thống + │ │
│ │ Kỹ năng AI │ │
│ └─────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘