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:

  1. A personal recipe collection website
  2. A hospital patient records system
  3. A Python script that renames photo files by date
  4. A full-stack e-commerce store with payment processing
  5. A command-line tool that converts CSV to JSON
  6. A browser extension that highlights keywords on web pages
  7. A banking application with fund transfers
  8. 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:

  1. "The form submits but nothing appears in the list. Can you check why?"
  2. "I want to build a tool that helps me track my daily water intake."
  3. "Can you explain what the useState hook does in this code?"
  4. "Let's add input validation to make sure the email field has a valid format."
  5. "I've tested all the features and they work. Let's deploy this to Netlify."
  6. "What happens if the user enters a negative number for quantity?"
  7. "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):

  1. The app does not save tasks when you close the browser
  2. The delete button is too small to tap on a phone
  3. There is no way to edit a task after creating it
  4. 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:

  1. Maria writes a Python script entirely from memory and documentation, without any AI tools.
  2. James types a function name and an AI tool completes the rest of the function based on the name and context.
  3. Priya opens a chat interface, describes a complete web application, and the AI generates all the files.
  4. Carlos types code in his editor and occasionally accepts single-line suggestions from an AI plugin.
  5. 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:

  1. A personal blog website
  2. A tool that stores customer credit card numbers for their small business
  3. A script that analyzes their running data from a CSV file
  4. 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:

  1. A junior developer just starting their career
  2. A CTO at a mid-size software company
  3. A computer science professor at a university
  4. A small business owner with no technical background
  5. A senior developer with 20 years of experience
  6. 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:

  1. A personal to-do list app
  2. An invoicing tool for a freelancer's business
  3. A medication reminder app for elderly patients
  4. 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:

  1. A clear project goal (What, Who, Problem, Success Criteria)
  2. The initial prompt you would give the AI (at least 8 sentences)
  3. Five specific tests you would run after receiving the generated code
  4. Three anticipated feedback items for the iteration phase
  5. 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:

  1. "Make me a website."
  2. "I need a database thing."
  3. "Create an app for my business."
  4. "Write some Python code for data."
  5. "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.