Chapter 1 Exercises: The Vibe Coding Revolution
These exercises are organized into five tiers based on Bloom's taxonomy, progressing from basic recall through creative application. Complete the exercises in order, as later tiers build on concepts reinforced in earlier ones.
Tier 1: Recall and Comprehension
Test your understanding of the key concepts from Chapter 1.
Exercise 1.1: Define Vibe Coding
Write a two-to-three sentence definition of vibe coding in your own words. Your definition should capture the three core pillars: natural language intent, AI code generation, and iterative conversation.
Exercise 1.2: Origin Story
Answer the following questions about the origin of the term "vibe coding": 1. Who coined the term "vibe coding"? 2. When was the term first used publicly? 3. What platform was the original post made on? 4. In the original description, what phrase did the author use to describe how he interacted with the code?
Exercise 1.3: The Five Levels
List the five levels of AI-assisted development described in the chapter (Level 0 through Level 5). For each level, write one sentence describing what it involves.
Exercise 1.4: Workflow Steps
The vibe coding workflow has seven steps. List all seven steps in order from memory, then check your answers against Section 1.9.
Exercise 1.5: Misconception Matching
Match each misconception (left column) with the corresponding reality (right column):
| Misconception | Reality |
|---|---|
| A. Vibe coding will replace all programmers | 1. Quality depends on the guidance you provide |
| B. You don't need to understand code at all | 2. It is a rich process involving decomposition, refinement, and testing |
| C. Vibe coding produces low-quality code | 3. Complex systems still require deep human expertise |
| D. It's just copy-pasting from ChatGPT | 4. Basic code understanding significantly improves results |
| E. AI-generated code is always correct | 5. AI code can contain bugs, security issues, and logical errors |
Exercise 1.6: Who Benefits?
List the five categories of people who can benefit from vibe coding as described in Section 1.6. For each category, write one specific example of how they might use vibe coding that was NOT mentioned in the chapter.
Exercise 1.7: Suitability Assessment
Categorize each of the following projects into one of three buckets: (a) Highly suitable for vibe coding, (b) Achievable with moderate experience, or (c) Requires professional oversight:
- A personal recipe collection website
- A hospital patient records system
- A Python script that renames photo files by date
- A full-stack e-commerce store with payment processing
- A command-line tool that converts CSV to JSON
- A browser extension that highlights keywords on web pages
- A banking application with fund transfers
- A habit tracker mobile web app
Exercise 1.8: Key Terms Glossary
Define each of the following terms in one to two sentences: 1. Large Language Model (LLM) 2. Prompt 3. Iterative refinement 4. Boilerplate code 5. Minimum Viable Product (MVP) 6. Edge case 7. Framework 8. API (Application Programming Interface)
Tier 2: Application
Apply the concepts from Chapter 1 to practical scenarios.
Exercise 2.1: Write a Project Goal
Choose one of the following project ideas and write a complete project goal following the four-part structure from Step 1 of the workflow (What, Who, Problem, Success Criteria):
- A personal budget tracker
- A classroom attendance system
- A recipe scaling calculator
- A neighborhood event board
Exercise 2.2: Craft Your First Prompt
Using the project goal you wrote in Exercise 2.1, write a detailed natural language prompt that you would give to an AI coding assistant. Your prompt should be at least 5 sentences long and include: - A description of the core features - The intended user experience - Any visual design preferences - At least one specific constraint or requirement
Exercise 2.3: Identify the Workflow Step
For each of the following actions, identify which step of the seven-step vibe coding workflow it belongs to:
- "The form submits but nothing appears in the list. Can you check why?"
- "I want to build a tool that helps me track my daily water intake."
- "Can you explain what the
useStatehook does in this code?" - "Let's add input validation to make sure the email field has a valid format."
- "I've tested all the features and they work. Let's deploy this to Netlify."
- "What happens if the user enters a negative number for quantity?"
- "Build me a water intake tracker with a daily goal of 8 glasses, a progress bar, and the ability to log different beverage types."
Exercise 2.4: Feedback Formulation
Imagine an AI generated a to-do list app for you, but you found the following issues during testing. Write the feedback you would give to the AI for each issue (as you would in Step 5 of the workflow):
- The app does not save tasks when you close the browser
- The delete button is too small to tap on a phone
- There is no way to edit a task after creating it
- The app accepts blank task names
Exercise 2.5: Spectrum Placement
For each of the following scenarios, identify which level on the AI-assisted development spectrum (Level 0 through Level 5) best describes the developer's approach:
- Maria writes a Python script entirely from memory and documentation, without any AI tools.
- James types a function name and an AI tool completes the rest of the function based on the name and context.
- Priya opens a chat interface, describes a complete web application, and the AI generates all the files.
- Carlos types code in his editor and occasionally accepts single-line suggestions from an AI plugin.
- An AI agent receives a project brief and independently builds, tests, and deploys the entire application overnight.
Exercise 2.6: Project Suitability Analysis
A friend tells you they want to use vibe coding to build each of the following. For each one, explain whether it is appropriate for vibe coding, what level of expertise might be needed, and what precautions they should take:
- A personal blog website
- A tool that stores customer credit card numbers for their small business
- A script that analyzes their running data from a CSV file
- A multiplayer online game
Exercise 2.7: Misconception Response
A colleague says: "I heard about vibe coding, but it sounds like it just produces spaghetti code that nobody can maintain. Why would I bother?" Write a thoughtful two-paragraph response that acknowledges their concern and explains the reality, drawing on what you learned in Section 1.8.
Exercise 2.8: Analogy Creation
Section 1.1 uses a contractor-building-a-house analogy for vibe coding. Create your own original analogy that explains vibe coding to someone who has never heard of it. Your analogy should capture at least two of the three pillars: natural language intent, AI code generation, and iterative conversation.
Tier 3: Analysis
Analyze scenarios, compare approaches, and draw deeper conclusions.
Exercise 3.1: Workflow Bottleneck Analysis
Consider the following vibe coding session log. Identify where the process broke down and what the vibe coder should have done differently:
Session Log: 1. User: "Build me a website." 2. AI generates a basic HTML page. 3. User: "No, I wanted something better." 4. AI regenerates with more styling. 5. User: "This still isn't right." 6. User gives up after 10 minutes.
Write a paragraph analyzing what went wrong and how each step could have been improved by applying the seven-step workflow properly.
Exercise 3.2: Traditional vs. Vibe Coding Trade-offs
Create a detailed comparison table (at least 8 rows) comparing traditional coding and vibe coding across dimensions not already covered in the chapter's table in Section 1.3. Consider aspects such as: debugging difficulty, learning curve, maintainability, creativity, cost, scalability, team collaboration, and documentation.
Exercise 3.3: Stakeholder Perspectives
Analyze how each of the following stakeholders might view the rise of vibe coding. For each person, write 2-3 sentences describing their likely perspective, concerns, and potential benefits:
- A junior developer just starting their career
- A CTO at a mid-size software company
- A computer science professor at a university
- A small business owner with no technical background
- A senior developer with 20 years of experience
- A cybersecurity professional
Exercise 3.4: The "Mostly Works" Problem
In his original post, Karpathy said the code "mostly works." Analyze what "mostly works" means in different contexts. Write a paragraph for each scenario explaining the risks and acceptable tolerance for imperfection:
- A personal to-do list app
- An invoicing tool for a freelancer's business
- A medication reminder app for elderly patients
- A data analysis script for a school research project
Exercise 3.5: Convergence Analysis
Section 1.4 describes four converging factors that made vibe coding possible. For each factor, explain what would happen if that factor were removed — that is, if everything else stayed the same but that one factor had not materialized. How would the absence of each factor limit or prevent vibe coding?
Exercise 3.6: Quality Assessment Framework
Design a simple checklist (8-10 items) that a vibe coder could use to evaluate AI-generated code before using it, even without deep programming expertise. Think about what a non-programmer could reasonably verify through testing, reading, and asking the AI questions.
Tier 4: Create
Build something new using the concepts from Chapter 1.
Exercise 4.1: Vibe Coding Session Plan
Design a complete plan for a vibe coding session to build a project of your choice. Your plan should include:
- A clear project goal (What, Who, Problem, Success Criteria)
- The initial prompt you would give the AI (at least 8 sentences)
- Five specific tests you would run after receiving the generated code
- Three anticipated feedback items for the iteration phase
- A list of validation checks for the polish phase
Exercise 4.2: Teaching Vibe Coding
Create a 10-minute lesson plan for teaching the concept of vibe coding to a group of high school students who have never programmed. Include:
- An opening hook or demonstration (2 minutes)
- Core concept explanation with your own analogy (3 minutes)
- A hands-on activity they could do in pairs (4 minutes)
- A closing discussion question (1 minute)
Exercise 4.3: Vibe Coding Decision Guide
Create a flowchart (you can describe it in text or draw it) that helps someone decide whether vibe coding is appropriate for their project. The flowchart should consider factors like:
- Project complexity
- Security requirements
- Who will use the software
- The builder's technical experience
- Whether the project handles sensitive data
- Budget and time constraints
Exercise 4.4: Case Study Outline
Write a detailed outline for a case study about someone using vibe coding in a field NOT covered in the chapter's case studies. Choose a specific persona (e.g., a veterinarian, a musician, a real estate agent, a non-profit director) and outline:
- Their background and the problem they faced
- Their vibe coding journey (tools, prompts, iterations)
- The result and its impact
- Lessons learned
Exercise 4.5: Prompt Improvement Workshop
Below are five weak prompts. Rewrite each one to be an effective vibe coding prompt, applying what you learned about clear communication and the workflow:
- "Make me a website."
- "I need a database thing."
- "Create an app for my business."
- "Write some Python code for data."
- "Build a calculator."
For each, explain what was wrong with the original and why your version is better.
Tier 5: Challenge
Stretch problems for deep exploration and critical thinking.
Exercise 5.1: The Future of Vibe Coding — Position Paper
Write a 500-800 word essay arguing either for or against the following statement:
"Within five years, the majority of software used by small businesses will be vibe coded rather than traditionally developed."
Support your position with reasoning drawn from the chapter's discussion of AI capabilities, the democratization of software development, the limitations of vibe coding, and the current trajectory of AI tools. Consider counterarguments and address them.
Exercise 5.2: Ethical Framework for Vibe Coding
Develop an ethical framework (at least 6 principles) for responsible vibe coding. For each principle, provide:
- A clear statement of the principle
- The reasoning behind it
- A concrete example of the principle in action
- A scenario where violating the principle could cause harm
Consider issues such as: code quality and safety, transparency about AI-generated code, intellectual property, accessibility, environmental impact of AI computation, and the effect on the programming profession.
Exercise 5.3: Design a Vibe Coding Curriculum
You have been asked to design a 6-week introductory course on vibe coding for adult learners with no programming background. Create a detailed syllabus that includes:
- Weekly learning objectives (using Bloom's taxonomy verbs)
- Topics covered each week
- One hands-on project per week, increasing in complexity
- Assessment methods
- Required tools and resources
- How you would measure whether students are truly learning vs. just using AI as a black box
Reflect on how your curriculum compares to the structure of this textbook and where it differs.
Solutions
Solutions to the coding exercises (Exercises 2.1, 2.2, 2.4, 2.5, 4.1, and 4.5) are provided in code/exercise-solutions.py. Solutions to the analysis and essay exercises are intentionally open-ended — discuss your answers with peers or instructors for the richest learning experience.