Skip to content

Latest commit

 

History

History
80 lines (49 loc) · 1.57 KB

File metadata and controls

80 lines (49 loc) · 1.57 KB

Lab 7: Game Logic for Duolingo

Welcome to your Dev Shop Challenge.

Today, you are not completing a coding exercise —
you are solving a client problem using logic.


🧑🏽‍💼 Client Brief

Client: Duolingo

Problem: Duolingo wants to improve beginner engagement by making progress feel more meaningful.

Points exist — but the experience doesn’t react to them.


🎯 Your Goal

Build a prototype that:

  • Tracks learner progress (XP, streaks, points, etc.)
  • Responds differently based on performance
  • Uses randomness to keep things engaging
  • Provides feedback that changes over time

✅ Technical Requirements

Your prototype must include:

  • One main progress variable
  • One if / else if / else chain
  • At least two comparison operators
  • One array used for randomness

🧠 Think Like a Developer

Ask yourselves:

  • What does success look like for Duolingo?
  • When should a user feel rewarded?
  • How many learner states exist?
  • What logic controls those moments?

Remember:

Client goals → product behavior → JavaScript logic


🌱 Stretch Ideas (Optional)

  • Add emojis or visual changes
  • Add a reset button
  • Introduce streak bonuses
  • Change feedback wording to match Duolingo’s tone

🔁 Connection to charity: water

The same logic you build here powers:

  • Game mechanics
  • Progress tracking
  • Win / lose states

You’ll reuse this thinking in your charity: water game project — just with a different mission.


You’re not just writing JavaScript.

You’re teaching an app how to think.