Super Short Story Builder

For next revision: consider making shorter stories with fewer inputs per teacher feedback on --MF, 8/18/21

Also, split this page into 2 pages, the next page into 3 pages, and the last into 2 pages ("Editing the Story Structure" and "Saving and Sharing Your Snap! Project"). We need to teach sharing early. --MF, 12/28/21

In this activity, you'll use functions to write one-sentence stories.

Playing with a Story Builder

    The join words is a custom block, right? Should we call that out? -- PF 8/20/21

    Add support for new variadic slot features. --MF, 2/1/22

  1. Open this Super Short Stories project.
  2. Click the Super Short Story block, and read the bubble that appears.
    Super Short Story, feeling: (happy) job: (teacher) action: (jumps) place: (Central Park) action: (races) number: (7) color: (red) plural animal: (cats) food: (stir fry)
  3. Change some of the inputs to the Super Short Story block, and click it again.
  4. Talk with Your PartnerWhat happens to the story reported in the bubble?
  5. In the palette on the left side of the screen, find one of the blocks whose name begins with random, and click it several times.
    random feeling random job random action random place random color random food
  6. These blocks don't take any inputs, but they are reporters, which means they still report an output.
    Used to say "since they are reporters" -- I haven't looked at the TG. Do kids know what reporters are? Do teachers? The key word here is "since," which seems to imply we already know that they are. How would novices know? Since this is not a framework-driven course (like CSP), it would be nice if teachers could learn basically from the same curriculum that faces the kids, even though there will (and should) be PD. We want the kids and teachers to learn terms like "reporter," best done from use in context, but might need a bit more context to use them here. --P
    Talk with Your Partner The super short story block always reports the same thing if given
    "if given" -- I'm not an expert on ELs in middle school, but the curriculum should be read by someone who is. My guess is that the syntax (e.g., here with "if given") will be challenging. Some of the vocab will be too, of course, but we want students to learn that (and some will be equally new to all students). Just thinking about extra burdens for EL students. --P
    the same inputs. What do these blocks report?
  7. Drag some of the random blocks into the Super Short Story block, and run the Super Short Story block a few times.
    Super Short Story, feeling: (random feeling) job: (teacher) action: (jumps) place: (Central Park) action: (races) number: (7) color: (red) plural animal: (cats) food: (stir fry)
  8. Talk with Your Partner What happens to the story that is reported?

Editing a Block

Some blocks are built into Snap! and can't be changed, but Snap! programmers (including you!) can also make and edit their own custom blocks. The random blocks in this project are custom blocks that you can edit.

  1. Choose one of the random blocks (random feeling, random job, random action, etc.), right-click it (or control-click it, if you're on a Mac), and select "edit…" from the menu that appears.

This custom block reports a random item from a list of jobs.
random job: {report (item (random) of (list (artist) (computer programmer) (cashier) (musician) (landscaper) (nurse) (plumber)))}

  1. Change some of the items in the list for the block you are editing. (That is, change some of the colors to other colors, some of the jobs to other jobs, or some of the places to other places, etc.)
    Tip: You can also add more items to the list or reduce the number of items in the list by clicking the arrows at the end of the list block (◄ ►).
  2. When you are finished editing, click the "OK" button, and click the block that you edited several times to make sure that it reports a random item from the list you edited.
    Tip: If it doesn't work right, edit the block again and also edit another one of the random blocks at the same time. Compare the code for your edited random block that isn't working with the random block that is working.
  3. Once you have a working revision to a random block, try it out in your Super Short Story block.
  4. Edit a few other random blocks to customize the story further.
  5. Save your work
In this activity, you used randomness to make a story more interesting and edited lists inside custom blocks.