Teaching Resources

These resources may be helpful in teaching with Unfold Studio. They can be used as part of a coherent Curriculum Unit, or you can mix and match them to fit your needs. Unless otherwise noted, all were written by Chris Proctor, and are released free for noncommercial use.

Assessments

Writing Process Assesssment

Todo

Describe the portfolio and write a rubric.

This is about the process of coming up with a story idea, prewriting, developing, getting feedback, revising, reflecting.

Story Portfolio

Todo

Describe the portfolio and write a rubric.

This is mostly about using stories as social analytic artifacts. Using computational affordances.

Broken Story

Students are given a broken interactive story and asked to fix it. Here is an example you may use as-is or adapt a version to fit your teaching context and the skills you want to assess.

This strategy for assessing computational thinking was developed by [WDCK12]. Creating a standardized assessment of computational thinking is tricky because a student’s ability to demonstrate mastery depends on her mastery of the programming language being used. The Broken Story assessment is particularly attractive for Unfold Studio because the assessment is much more like the practice of writing interactive stories than something like a multiple-choice test. It is also possible to automatically assess Broken Stories, though this is not yet available.

Rubric

Broken Story Rubric
Skill Evidence
Syntax
  • Story compiles with no errors
Choices match the graph
  • Add a choice to go from enter_peets to use_wifi.
Sticky choices
  • Make choice from use_wifi to read_news sticky (+)
  • Make choice from use_wifi to minecraft sticky (+)
  • Make choice from read_news to minecraft sticky (+)
  • Make choice from minecraft to read_news sticky (+)
Conditional choices
  • read_news to buy_tea should have {not buy_tea} condition
  • read_news to leave should have {buy_tea} condition
Conditional text
  • leave should have {minecraft: text | other text}

Story Prompts

These prompts can be helpful in introducing new skills or concepts, or as prewriting exercises.

A map of your childhood

Note

This story prompt is a great first introduction to ink. It demonstrates some of the core language features and invites authors to explore using a simple structure.

Think of about five places you remember well from your childhood. Draw a graph showing how the places are connected to each other, like the one below. Choose one place where the player should start and add an arrow pointing to that place. Then take some time to freewrite descriptions of each place, as well as how you get from one place to another. For now, there will be no conditions on moving between connected places–it’s just a map the player can wander around.

A graph of childhood places

Now write this as an interactive story. Here is an example. Hold off on adding lots of description until you’re sure it works.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
It's 11pm on a Friday night, sometime in ninth grade. Two friends are sleeping over. 
-> bedroom    

=== bedroom ===
You are in your bedroom. 
+ Go outside 
    -> street

=== street ===
You are on a quiet, moonlit street. 
+ Go back inside.
    -> bedroom
+ Walk to the end of the street.
    -> path

=== path ===
You are on a dark path. 
+ Go back onto the street.
    -> street
+ Walk to 7-11. 
-> seven_eleven
+ Walk to the playground.
    -> playground

=== seven_eleven ===
You walk to 7-11. The garishly-bright interior feels incongruous 
with the peaceful night. 
+ Walk to the playground.
    -> playground
+ Walk back to the path.
    -> path

=== playground ===
You sit on the swings of a deserted playground.
+ Walk to 7-11.
    -> seven_eleven
+ Walk back to the path.
    -> path

Now think of two or three objects which might be found in this world, particularly objects that have some meaning for you. We are going to extend the world-map so that the player can collect these objects. Then we’ll have the world change depending on which objects the player has collected. To keep it simple, the model story will only add one object: a Slurpee. We’ll use a simple boolean (true/false) variable to keep track of whether we have a Slurpee. Note that we need to initialize the variable (line 1) before we can modify it (line 38).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
VAR has_slurpee = false

It's 11pm on a Friday night, sometime in ninth grade. Two friends are sleeping over. 
-> bedroom    

=== bedroom ===
You are in your bedroom. 
+ Go outside 
    -> street

=== street ===
You are on a quiet, moonlit street. 
+ Go back inside.
    -> bedroom
+ Walk to the end of the street.
    -> path

=== path ===
You are on a dark path. 
+ Go back onto the street.
    -> street
+ Walk to 7-11. 
-> seven_eleven
+ Walk to the playground.
    -> playground

=== seven_eleven ===
You walk to 7-11. The garishly-bright interior feels incongruous 
with the peaceful night. 
+ Buy a Slurpee.
   -> buy_slurpee 
+ Walk to the playground.
    -> playground
+ Walk back to the path.
    -> path

=== buy_slurpee ===
~ has_slurpee = true
Your sleepy eyes are mesmerized by the spinning slush in the Slurpee machine. 
You slowly fill the cup with cherry slush, then switch to root beer 
all the way to the top of the rounded lid. 
+ Walk to the playground.
    -> playground
+ Walk back to the path.
    -> path

=== playground ===
You sit on the swings of a deserted playground.
+ Walk to 7-11.
    -> seven_eleven
+ Walk back to the path.
    -> path

Now the player can get a Slurpee, but it has no effect on the rest of the story. Let’s make the story react. This is an opportunity to craft an experience for your readers: when they take an action, even something seemingly insignificant like choosing to buy a Slurpee, they become invested in your world. This can be a chance to let them feel an emotion, have a sensory experience, or experience life in someone else’s shoes.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
VAR has_slurpee = false

It's 11pm on a Friday night, sometime in ninth grade. Two friends are sleeping over. 
-> bedroom    

=== bedroom ===
You are in your bedroom. 
+ Go outside 
    -> street

=== street ===
You are on a quiet, moonlit street. 
+ Go back inside.
    -> bedroom
+ Walk to the end of the street.
    -> path

=== path ===
You are on a dark path. 
+ Go back onto the street.
    -> street
+ Walk to 7-11. 
-> seven_eleven
+ Walk to the playground.
    -> playground

=== seven_eleven ===
You walk to 7-11. The garishly-bright interior feels incongruous 
with the peaceful night. 
{has_slurpee:
    If you go back in there with your Slurpee, the cashier might think you 
    haven't paid for it. Better not to take the risk. You take an idle sip 
    and wander off into the night.
    -> path
}

+ Buy a Slurpee.
   -> buy_slurpee 
+ Walk to the playground.
    -> playground
+ Walk back to the path.
    -> path

=== buy_slurpee ===
~ has_slurpee = true
Your sleepy eyes are mesmerized by the spinning slush in the Slurpee machine. 
You slowly fill the cup with cherry slush, then switch to root beer
all the way to the top of the rounded lid. 
+ Walk to the playground.
    -> playground
+ Walk back to the path.
    -> path

=== playground ===
{has_slurpee:
    You sit on the swings of a deserted playground, gently rocking as you sip
    on your Slurpee. You remember other nights here with friends, arguing
    about philsophy until the fringe of dawn appeared in the sky. 
- else:
    The playground is deserted, completely still in the moonlight. You feel
    the night mist settling over you and shiver. 
}
+ Walk to 7-11.
    -> seven_eleven
+ Walk back to the path.
    -> path

Collaborative world-building

This is about discovering the possibilities in working together to create a story.

Architecture: there should be one central story which stubs out all the locations and intiializes all the variables. Make this public so everyone can update it.

People might want to grow this further; they could create libraries of descriptions or functions to re-use. You might be able to create various characters who could be put in conversation with one another!

Argumentation

Many disciplines have an essentially dialogic argumentation style (Elbow’s You Say, I Say). You could implement this in stories. Particularly valuable for seeing how people argue through stories.

Literary analysis

Multiple levels of meaning. I’m currently working on an example where the main character reads and re-reads a sonnet, layering in more possibilities each time.

Personalizing political, economic, and historical forces

Write a first-person story in which the main character interacts with broad-scale political, economic, or historical forces. The consequences following a player’s choices should illustrate how the forces work, and should be supported by evidence. As part of the research process, interview at least two people who have experienced similar situations. Part of each interview should include playing and discussing your draft of the story.

For example, you might read this article about cash bail in America and then write an interactive story playing out the various choices someone might make after being arrested and unable to make bail. You might then interview someone who has been arrested, someone whose family member has been arrested, a police officer, an employer, etc.

Mini-lessons

Inventory

Todo

Add inventory mini-lesson