Exercises: Welcome to Computer Science
These exercises progress from concept checks to challenging applications. No coding is required for this chapter — that starts in Chapter 2.
Difficulty Guide: - ⭐ Foundational (5-10 min each) - ⭐⭐ Intermediate (10-20 min each) - ⭐⭐⭐ Challenging (20-40 min each) - ⭐⭐⭐⭐ Advanced/Research (40+ min each)
Part A: Conceptual Understanding ⭐
A.1. In your own words, explain the difference between computer science and programming. Use an analogy that doesn't involve cooking or architecture (those were used in the chapter — come up with your own).
A.2. List the four pillars of computational thinking and give an original example of each one — not from this chapter or from computing. Use examples from your daily life, a hobby, or another course you're taking.
A.3. A friend tells you: "I don't need to learn programming because AI will just write all the code in a few years." Write a 3-4 sentence response explaining why this view is incomplete. Be respectful but specific.
A.4. Explain what an algorithm is to a 10-year-old. Your explanation should include: what makes it different from a vague set of instructions, and why the order of steps matters.
A.5. For each of the following, identify whether it's hardware or software: - a) The Chrome web browser - b) A laptop's touchscreen - c) A Wi-Fi adapter - d) Microsoft Word - e) A computer's RAM - f) An app on your phone
A.6. The chapter defines a "bug" as an error in a program. Why do you think that term caught on? (Hint: there's a famous story from the 1940s involving an actual insect. Look it up if you're curious — but form a guess first.)
Part B: Applied Analysis ⭐⭐
B.1. Apply decomposition to ONE of the following tasks. Break it into at least 6 sub-problems, and identify at least one sub-problem that could be further decomposed: - a) Planning a road trip across three states - b) Writing a 10-page research paper - c) Organizing a community cleanup event - d) Building a personal budget
B.2. You're making a peanut butter and jelly sandwich. Write an algorithm (numbered step-by-step instructions) that is precise enough that someone who has never made a sandwich could follow it. Then test your algorithm by having a friend follow it literally — they should do exactly what you wrote, nothing more. Where did your algorithm fail? What did you assume that wasn't stated?
B.3. Identify the abstraction in each of the following: - a) A restaurant menu (what details about the food preparation are hidden?) - b) A car's gas pedal (what complexity is behind that simple interface?) - c) An elevator button panel (what systems are abstracted away?)
For each, explain what would happen if the abstraction was removed and the user had to interact with the full complexity directly.
B.4. Read the three career profiles (Sofia, Marcus, Priya) from Section 1.3. For each one, identify which pillar of computational thinking they use most heavily in the scenarios described. Justify your answer with specific evidence from the text.
B.5. Consider two algorithms for finding a word in a dictionary: - Algorithm A: Start at the first page. Read every entry until you find the word. - Algorithm B: Open the dictionary to the middle. If the word you're looking for comes before the middle word alphabetically, repeat with the first half. If it comes after, repeat with the second half. Keep halving until you find the word.
Which algorithm is faster for a 1,000-page dictionary? Roughly how many pages would each algorithm need to check in the worst case? (You'll learn the formal names for these algorithms in Chapter 19.)
Part C: Reflection and Communication ⭐⭐-⭐⭐⭐
C.1. Write a one-paragraph "elevator pitch" for computer science aimed at a specific audience. Choose ONE: - a) A high school student who thinks CS is "just for nerds" - b) A biology major who doesn't see the relevance to their career - c) A parent who is skeptical about their child majoring in CS
C.2. The chapter argues that "CS is for everyone." What barriers might prevent someone from believing this about themselves? List at least three specific barriers (not just "stereotypes" — be concrete) and suggest one thing that could help address each one.
C.3. Think about a time you solved a complex problem in your life (planning an event, debugging a car problem, figuring out a difficult recipe, etc.). Describe the problem, then retroactively identify which pillars of computational thinking you used, even if you didn't know the terms at the time.
Part D: Synthesis & Critical Thinking ⭐⭐⭐
D.1. The chapter presents three "big questions" of computer science. Which of these questions do you find most interesting, and why? Which do you think is most relevant to society today? (They might be different questions.)
D.2. Consider the following claim: "AI coding assistants will make learning to program obsolete within 10 years." Construct arguments BOTH for and against this claim (steelman both positions). Then state which side you find more convincing and why.
D.3. Computational thinking is presented as applicable beyond computer science. Choose a field completely unrelated to technology (examples: music composition, urban planning, coaching a sports team, writing fiction) and show how all four pillars of computational thinking apply to that field. Be specific — don't just say "decomposition applies." Show exactly how.
Part M: Mixed Practice (Interleaved) ⭐⭐
Since this is Chapter 1, the interleaved problems focus on prerequisite skills and preview future connections.
M.1. You have a list of 20 student names and their test scores. Without using a computer, describe step by step how you would find the student with the highest score. (This previews Chapter 5's loops.)
M.2. A recipe says "add sugar to taste." Why is this a bad algorithm step? How would you rewrite it to be unambiguous? (This previews the precision required in programming.)
M.3. You're organizing books on a shelf. You could put them in alphabetical order, by color, by height, or by how often you read them. What are the trade-offs of each approach? When would each one be the best choice? (This previews Chapter 9's data organization and Chapter 19's sorting.)
Part E: Research & Extension ⭐⭐⭐⭐
E.1. Research Ada Lovelace, often credited as the first computer programmer (1840s). Write a 200-word summary of her contribution. What aspect of her work most closely maps to one of the four pillars of computational thinking?
E.2. Find a news article from the past year about AI-generated code (e.g., GitHub Copilot, ChatGPT for coding). Summarize the article, then evaluate: does the article support or challenge the chapter's argument about why fundamentals matter? Why?
Solutions
Selected solutions in appendices/answers-to-selected.md.