Mad Lib

Learning Objectives:

  1. Get back into the swing of things with Scratch
  2. Understand and follow assignment instructions
  3. Master the steps required to turn in an assignment in Tech Class
  4. Create clearly named variables that represent different data types and perform operations on their values
  5. Master programming steps for prompting a user for input, collecting and saving the user’s responses, and concatenating and displaying the user’s response together with pre-defined text.

SLE:  Apply mindful and academic habits for success

The content of this assignment is mostly review of concepts used during 6th grade assignments.

Assignment Requirements:

Make a simple project that gathers a minimum of three separate words from the user.

Place these words into one or more sentences to produce a comical or absurd story or statement.


If you need to get re-acquainted with Scratch, please click on the Tutorials button in the Scratch toolbar.

This assignment requires the use of three different programming concepts, each of which has an instructional video explaining the concept and how to use it to complete the assignment:

  1. Variables
  2. Collecting and using information typed by the user
  3. String concatenation:  connecting different text values (words, letters) into a longer value or sentence

There is also a minimal but complete example in the Examples Studio on the Scratch website.

If, after using the above resources, you have questions or are stuck and need help, ask for help in class.  You may also email Mr. James at with questions or to arrange a time to review your questions after school.

Things you need to be aware of:

You will need to save the answers into variables.

Use the “ask” block under “sensing” to ask questions.  The answer to the most recently asked question is stored in a special automatic variable called “answer”.  Since you are asking more than one question, you will need to save the answers into variables for later use.

You will need to create variables, which are in the orange Variables blocks.  Create your variables “for all sprites”.  You are required to give your variables meaningful names that reflect their purpose.

You will need to use the “join” block to concatenate the answers with your mad lib story or sentence.  The join block is in the green Operators section of blocks.  More complex sentences can be made by placing joins inside joins.

You can be more specific in your questions if you want your Mad Lib to stick to a defined theme.  For example, rather than asking simply for “a noun” you could ask for “an animal” or “a musical instrument” or “a food” or “a character from the school musical.”  You can ask for a verb in a specific tense, for example the past tense.

It is not necessary to validate the user’s answers as being correct nouns, verbs, adjectives, etc.  For this project we will assume the user follows the instructions and enters appropriate answers to your questions.  And if they don’t, it only makes the result more absurd!

Minimum Requirements

You must complete all tasks on the How to Turn In a Scratch Assignment page, including submitting the online form with your Scratch account username.

Your project must ask a minimum of three questions, each collecting a word from the user.

At a minimum, your project must ask the user to provide a noun, a verb, and an adjective.  You are required to give your variables meaningful names that reflect their purpose.

After collecting the answers to your questions, your project must respond back with one or more sentences containing those words in grammatically appropriate places.  For example, the verb cannot be the subject of a sentence, but the noun can.

Exceeding Expectations

Don’t hide your light under a bushel basket, let it shine by exceeding expectations: even though this is a simple project there are still ways you can distinguish your efforts as Exceeding Expectations to earn an E grade.

All projects exceeding expectations demonstrate an overall consistency which makes sense and rewards the user for engaging with your project.  Correct spelling, grammar, and providing instructions are expected of a project which exceeds expectations.  A project which exceeds expectations does not frustrate, confuse, or punish the user but rather it is fun and a source of delight that encourages continued exploration and use.

To exceed expectations, implement some of the following suggested enhancements:

Animations:  Use costume changes, movement, and/or additional sprites to make your project more interesting and engaging.

Sound:  Spice it up with some sound.  Add appropriate background music to play throughout the project, and specific sound effects for each action the user takes.  Play a special song at the end.

Complexity:  Make a Mad Lib with five or more responses from the user rather than the minimum of three.  Produce a longer story of at least three sentences.

Your Great Idea:  As long as you meet the minimum requirements, where you take the project from there can be up to you.  Extend the assignment beyond the minimum requirements with your own spectacular and creative ideas.