Hello and welcome to Day 2 of CS First Storytelling. Today you will create a dialogue-driven story while you learn about two important computer science principles: sequencing and testing code. Sequencing means putting things in order.
When you write code, you need to carefully decide the order in which the code will run.
Sometimes, this means experimenting and testing different options until the program runs exactly how you want it to. So, today you’ll also work with testing to improve your program.
Believe it or not, both storytellers and computer scientists use sequencing and testing in their work. Take a look at the process an author goes through to write a story: They begin by prewriting, or creating a plan for, the story. This allows the writer to carefully sequence events and decide what elements to include in the story. They then begin writing, which as you’ve probably noticed from your own writing, often includes a lot of revisions and reworking of ideas until they’re just right. Finally, the author gets feedback from another person – an editor – and incorporates that feedback into their story.
Well, when computer scientists create a program, they go through a similar process.
Here’s one example of a process that you, or any other computer scientist, might go through to create a computer program: First, the computer scientist thinks about the goals of their program. What should this program do when it’s complete?
Next comes the initial planning, which is like pre-writing in storytelling. At this stage, the computer scientist plans the features and functionality of the program.
The computer scientist then starts to code, or implement their plans into a program- just like writing the first draft of a story. The code then undergoes testing, when many different people try it out, edit it, and revise it.
This process continues until the program successfully accomplishes the goal the computer scientist set out to achieve.
When writers and computer scientists work together to build a computer-animated movie, you can imagine that there is a lot of sequencing, testing, and revising happening at every stage of the writing and programming processes. Today you will learn about sequencing and testing code as you create a dialogue, or a conversation, between two characters.
Good storytellers use dialogue to provide the audience with insight into the characters and plot. Take, for instance, a piece of dialogue like: “I didn’t think you’d show up.”
Well, why not? Is the other character a coward? Lazy? Too busy? Is this a dangerous situation?
What might the character want to avoid in this situation? Is something bad going to happen?
Good dialogue requires a response that moves the plot forward.
In today’s club, you will create a story that’s driven by dialogue, meaning that you’ll use a conversation to reveal important information about the plot and the characters in your story. As an extra challenge, you’ll need to do all this without using any questions in your dialogue. Asking and answering questions within a story can slow it down, plus that’s not really the way people talk to each other. Exercise your storytelling muscles – you can create a riveting dialogue without using questions.
Take a look at an example project. This project has two sprites who use dialogue to direct the story. The dialogue is sequenced using “say” and “wait” blocks.
Watch this video to learn how to sign in to Scratch and create a new project, then try it on your own. To start, go to scratch.mit.edu.
You can also click the Scratch link next to this video. This will open Scratch in a new tab. If at any time you need to get back to CS First, simply click the tab at the top of your window to switch between Scratch and CS First. Once on the Scratch website, sign in using the username and password on your club pass.
Then, click "create" to start a new project.
- Click the Scratch link next to the video.
- Sign in using the information in your club passport.
- Click "create" to start a new project.
- "Game Programmer at Work" by Sergey Glayonkin (https://www.flickr.com/photos/sergesegal/11512594484) -- Licensed by Creative Commons Attribution 2.0 Generic (https://creativecommons.org/licenses/by-sa/2.0/)
- "Energy" by bensound.com (http://www.bensound.com/royalty-free-music/track/energy)
- "The Writing Process" by Enokson (https://www.flickr.com/photos/vblibrary/6124465878) -- Licensed by Creative Commons Attribution 2.0 Generic (https://creativecommons.org/licenses/by/2.0/) -- Image scaled up, cropping edges