Unit Archive‎ > ‎

Scratch Programming and Interactive Multimedia

Introduction


MYP Unit Question

How can we program computers to create engaging and interactive multimedia experiences?

What is Scratch?


"Scratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art--and share your creations on the web. As young people create and share Scratch projects, they learn important mathematical and computational ideas, while also learning to think creatively, reason systematically, and work collaboratively."



Some people find it intimidating when they first get started with programming.  Punctuation is used in unfamiliar ways and there is a lot of strange syntax to memorize.  This example below was written in a language called Javascript which is often used to create webpages.  If you have never written a computer program before, it can certainly appear confusing.  With practice, it isn't actually very difficult to learn, but it takes time, just like any new language. 


Scratch is a bit different.  It is a visual programming language.  Instead of typing everything out, we create programs by dragging blocks together into code sequences.  This makes it a lot easier to learn.  Unlike more complicated programming languages, you don't have any memorizing to do and don't have to worry that your program won't work because you forgot a bracket or a semi-colon.  Instead, you can concentrate more on the design of your project and will be able to get started almost right away!


Nevertheless, as you will see, it is quite a powerful language that allows you to create a wide variety of interesting projects, from digital stories to video games.

Community

Scratch has a very active community of users all over the world where people frequently share their projects and offer support and guidance to one another.  Through the Scratch homepage, we have access to over three million projects!  If you find a game or project of interest, you are encouraged to download it to your own computer and open it to see the code that was used to create it and see how it works.  If you have questions, most people are more than happy to answer them and there are always active users on one of the online forums to help as well.  As we take part in the Scratch community, start looking at other people's work and communicating with other users, we will have a chance to explore many of the issues we have been discussing already about digital citizenship.  In the process, you may end working together with someone on the other side of the globe!

The Design Cycle

The Design Cycle allows us to take a complex task, such as solving a problem or developing a new product, and break it up into smaller, more manageable tasks.  It helps us to figure out a logical sequence for all of the things we have to do and make the most of our time, energy and resources.  There are many different versions of the Design Cycle but they all follow a similar pattern: analyse the problem, develop a range of ideas to solve it, settle on a solution, exercise the solution, evaluate the solution.  Each step is iterative.  This means that you will constantly be coming up with ideas, testing them, changing them based on feedback, then testing them again.  Sometimes, this will include talking to your classmates (or your target audience) and using their opinions to help you make decisions.  Sometimes it will be technical and you will run a program to see how it works, then modify your code and run it again to see how that changes things.

For our project, we will use a version of the Design Cycle that was developed for the IB-MYP program:


This Design Cycle has 4 phases:
  • Inquiring and Analysing
    • What problem are you trying to solve?
    • How have others tried to solve similar problems?
    • What knowledge or skills will you need to proceed?
  • Developing Ideas
    • Consider a range of possible solutions.
    • Use appropriate feedback to help you make your decisions.
    • Develop a plan of action.
  • Creating the Solution
    • Put your plan into action.
    • What changes did you have to make along the way?  Why?
  • Evaluating
    • How do you know if you have been successful?
    • What could you do to improve your product/solution?
We will be going into each of these in more detail in the project section (below) and there be a number of suggested activities included to help keep you on track.  Be sure to bookmark this project page and come back often.  The activities in each section will guide you through the process.  

There is also a rubric for each phase that will be used to assess your work.  It is important that you review them frequently.  Not only will this help you develop your project, but it will also help ensure that you have completed everything that will be used for assessment.  


Getting Started

In this section, we will do a number of activities that will help us get familiar with Scratch and how it works.  You will be asked to document your work in each activity so read the instructions carefully.

Challenges
Picture
This semester, we will use Scratch  in our inquiry into interactive multimedia design as we create interactive artwork, digital stories, simulations and even video games.  We will use the Design Cycle to guide us through the process of creating an interactive digital project.  Scratch will be our primary tool, but depending on what sort of project you choose, you will likely use a variety of other software tools such as Photoshop and Garageband as well.  But before we get started, we will complete a series of short challenges.  Each of these challenges will:
            • help you become more familiar with Scratch programming
            • illustrate some of the underlying principles of multimedia design 
            • (re)introduce the phases of the Design Cycle 
            • expose you to some other useful tools and techniques for your final project   

Definitions:
In your group, have a look online at some definitions for "interactive" and "multimedia".  Try to think of some examples of interactive multimedia in your daily life.  Write a definition in your own words and add it to your journal.

Exploring Possibilities:
Visit the Scratch website and have a look at some of the projects that are there.  You will see that there is a wide variety of projects that can be done using Scratch.  Below is the beginning of a concept map to illustrate some of the different kinds of projects that others have done.  Find 3 projects to represent a range of possibilities of what can be done with Scratch and share them in your process journal.  Write a few sentences for each one to explain why you feel that it stands out.  Then, choose one of them that you think is a good example of something that can be done using Scratch and send it to me so that I can add it to a class map.  Below is a map that we were working on last year. 


 
 (Click here if you would like to contribute.)


Learning the Tool:
In class, each group will be given a set of 12 Scratch activity cards.  These cards provide a quick way to learn new code.  Each one should only take you a few minutes and by the end you will have all the basics to get you started working on your own projects. Try them all out by creating some simple projects.  Then, choose two that stood out for you and share them in your process journal. Write a short paragraph that explains what you did and why this may be a useful feature.  Be sure to embed the project you created along with it so that others can see your work.

 
Click on the image to enlarge.
Programming Flowchart: 
In class, we will be looking at flowcharts as a way to analyse a system or to formulate a plan. They may be helpful during the Developing Ideas phase of your project as you plan out elements of your program.  This activity will help familiarize you with how they work. First, have a look at the Wikipedia entry on flowcharts for an introduction to some of the basic symbols. Then, using the flowchart above as an example, create one of your own that illustrates the operation of a similar, simple mechanism


Design Challenges:

Complete any three of the following and embed the finished product in your journal.  Write a brief explanation for each:

  • Animated Joke: Use at least two sprites, voice bubbles etc... to share 'an oldie but a goodie'
  • Music video: Upload your favourite song and program some visuals to go along with it.
  • Tour of the School:  Use one of the digital cameras to collect some pictures from around the school and create a simple program that allows the user to take a 'virtual tour'.  Be sure to include some sort of 'controls' so that the tour is interactive.
  • Digital Musical Instrument: Create an instrument that the user can play through some sort of input controls.  Use your imagination.  It does not have to be anything like any instrument we have ever seen before!
  • Interactive Greeting Card: Use found images or use a class camera to take your own to make a personalised card for someone special.  Make sure it is interactive in some way.  Give your special someone something to click on.
  • Reverse Engineering PONG: This was the first real home video game.  Click here to give it a try.  Then see if you can reproduce it (or something similar) using Scratch.
  • Other: If you have any other ideas, let me know.  Keep in mind that each design challenge should take no more than 40 minutes to complete.  If you have something that you would like to try to make in that amount of time, I would love to hear about it!


Evaluating Interactive Multimedia:
For the project we will be working on, we will be using Scratch to create an educational product.  Look through the Scratch website for examples of projects that aim to teach something (there are lots of ways to think about this.)  Choose 2 or 3 projects that you feel do a good job at teaching or demonstrating something and write a review of each one on your blog.  Include a brief description of the project and what it is trying to show and explain what it is about it that you found was effective.  In what way was it interactive?  Did this make learning the material more engaging?  Why or why not?  List any suggestions you would offer to its creator that might improve it.  We will share these in class and hopefully you will be able to use some of the design elements you uncovered in your own projects.



The Project


Situation

Learning can be a lot more fun when it is interactive.  When students can engage with the material on their own, they can construct their own meaning as they inquire into a topic.  While there is a lot of academic research to support the idea of inquiry-based learning, there is still a lack of educational materials to support it.  Simulations and games can be an excellent resource to support inquiry-based education.  Students can explore ideas at their own speed and test theories without real-world repercussions.  In a game, if you don't succeed, it is simple enough to just play again and try something different.

Situation Specific

Sometimes it is a lot more fun and interesting to learn through a hands-on activity.  For this project, we will design and create an interactive multimedia project (i.e. a game, application, simulation) using the Scratch visual programming language to support learning in a real classroom.  We will use the Design Cycle to guide our efforts as we create an activity to teach specific content to a specific audience.  

Think of something that you learned in one of your other classes that you think might be well-suited to being introduced through such an activity.  When complete, you will present your activity to the teacher so that they can use it to teach students. 



Phase 1: Inquiring and Analysing
  1. explain and justify the need for a solution to a problem for a familiar group of people
  2. construct a research plan which states and prioritizes the research needed to develop a solution to the problem independently
  3. analyse a group of similar products that inspire a solution to the problem
  4. present the analysis of the findings from a range of sources relevant to the development of a possible solution, cited appropriately

In this phase of the project, you will conduct research into the needs of your target audience, explore a variety of possibilities for you project and explore ways of using interactive multimedia effectively to communicate information.  The sections below are a guide to help ensure that you fulfil all of the criteria.  Take note of what is written in the box above since this is the criteria that will be used to assess your progress.  
 

Brainstorming

The first step in developing your product is to brainstorm.  Document as many ideas as you can come up with for this project.  Consider some of the projects that you have seen already for inspiration.  Some of your ideas may be serious and others silly.  Some may be difficult and others easy.  At this point, write them all down.  You may want to use a chart or concept map to keep track of your thinking process.  You should explore a broad range of ideas at this point.

Possibilities

You have looked at the wide range of Scratch projects that are out there and you have looked at some of the tools and techniques that you can use to make your own. You have started thinking about what sort of project you want to make.  Now, it is time to narrow that list down to 3 or 4 possibilities that you feel are realistic projects for you to work on.  Include a brief description of what the project will be about, why you would want to make this project and who is your desired audience.  The description of each idea should be 3 or 4 sentences and resemble a Design Brief.  In the next step, your classmates will help you examine each of these in more detail.

Research
At this point, you need to do some research into your target audience to ensure that you are making the best possible product to suit their needs.  In this case, you may want to talk to your classmates to find out what concepts they struggle with.  You may also want to work with the teacher to find out what students struggle with. This information will help you justify your final decision.  In the next part, we will look at some existing projects to try to find an appropriate way to teach it.


Project Analysis
Now that you have an idea about the content for your project, you need to get some ideas about the form it will take.  Will it be a game?  A simulation? 
In this section, we will analyse a variety of existing interactive multimedia projects (from the earlier challenge activity) to find some underlying concepts that will help us better understand the medium.  We will look at projects that are effective teaching tools and some that are not very effective.  In trying to understand why some are more effective than others, we will develop ideas of our own.  

In your group, share and discuss the Scratch projects that you analysed in the second challenges activity.  What ideas did you have in common?  Can you generate a list of elements that were effective?  Try to come up with a statement about what makes a good interactive multimedia activity.  Think about which ideas you might 'borrow'. for your own project. 

Design Brief
Now that you know what you want to teach (content) and some idea about how you will teach it (form) you need to write your Design Brief.  Write your idea as a simple statement that explains what you plan to make, who it's for and why it is a project worth pursuing.  Share your Design Brief with your group and use their feedback to help you get the wording right.

Guiding Questions
Before you move into the Developing Ideas phase, start a list of things (5-8) that you know will have to have sorted out before you are able to start creating your project.  The answers to these questions will be your Design Specifications and they will help get you ready to start construction.  Some of these will be the same for everyone in the class while others will be specific to your project.  

For example:
"How will this project be shared?"
The project will be uploaded to the Scratch website and embedded into a webpage that is available through the school website.  

Knowing this, you will have to keep the image sizes small.  If the file size is too big, the project will take too long to load.  You will spend your time in the next phase finding answers to these questions.


Phase 2: Developing Ideas

  1. develop a design specification which outlines the success criteria for the design of a solution based on the data collected
  2. present a range of feasible design ideas using an appropriate medium(s) and annotation, and which can be correctly interpreted by others 
  3. present and outline the reasons for choosing the final design with reference to the design specification 
  4. develop accurate planning drawings/diagrams and outline requirements for the creation of the chosen solution. 

By the end of this phase, you should have a clear idea of what your project is going to look like and be ready to put all of the pieces in place.  If you have done a good job on designing and planning out your project, the next phase--creating your project---should be a fairly straightforward process of going through the steps.  The Developing Ideas phase for this project will have four parts--a list of Design Specifications, a process of developing a range of ideas from which to choose, a narrowing down of possibilities for the content of the project and an exploration of some different possibilities for how the game/project will look and sound and how the player/user will interact with it. By the end of this phase, you should have a folder containing your sprites, backgrounds and sounds, ready to go, as well as some simple sketches to guide you as you put it all together as you move into the construction phase. 

Design Specifications

In this section, you will outline the project in a bit more detail.  You will provide a list of bullet points that will present the purpose of the project and will function as success criteria at the end during the Evaluating phase. Many of these will be in response to the Guiding Questions you listed above.  

For example:
The game will present players will a series of questions about various gods and goddesses from Greek mythology.
The game will include questions from each of the 5 stories that were covered in Humanities class.


Variations on a Theme

You should have a rough idea about what concepts you want to teach and what sort of project you want to develop in order to teach it.  Now, you will once again explore a range of possibilities, but this time, within a narrower range.  For example, if you want to make a game where players go shopping in order to help develop mental math skills, you may consider a few different ideas for the sorts of shops players will visit.  A supermarket?  A shopping mall?  If it's a racing game where players answer math questions in order to advance, is it a horse race?  Cars?  Get some feedback to help you choose the best idea.  Present some of the better ideas here and explain why you chose the one that you did.

Content
What do you plan to teach?  Now that you have a much clearer idea about what the game is going to be about, you need to start developing the specific content.  What questions will you include?  What tasks will the players have to complete?  Include some sample questions or activities here and if necessary, include a brief explanation. Be sure to get some feedback from the teacher and members of your target audience on this.  It will help make sure that the questions are appropriate and meaningful to the task.


Looks, Sounds, Interactivity

Now that you know what you are going to teach and you know how you want to teach it, it is time to start designing the experience for the player/user.  How will your game look and sound?  How will players interact with it?  The three sections below should help you plan these things out.

Sketches and Summaries

In the Developing Ideas phase, you will work out the details about how your project will look, including the layout of each background and the design of characters, other sprites etc...  Prepare a few possible designs for each and present them in your online process journal with brief explanation of the strengths and weaknesses of each.  You will need to get some feedback from members of your target audience to help you finalize your decisions.  By the end of this phase, you will have your final design sketches/images for the various visual elements of your project.

(If you are not creating them yourself, be sure to use images that are available in the public domain.  If you are searching on Google Images, be sure to check the box in the Advanced Search settings for "Fre to use or share."  You may also want to check commons.wikimedia.org.  It is an excellent source of royalty-free material.) 

Story Map
For some of your projects, it may be helpful to develop a map that shows how all of the spaces in your game are connected.  If the player goes off the screen to the left, where will they end up?  Is there a door on-screen that leads someplace?  A concept-mapping tool would be useful for this task.  You have MindNode installed on your machine, but feel free to choose any tool you like. 

Music and Sound Effects

Sounds and music will likely play an important role in your project.  For example, the sound that we hear when Pac-man is caught by a ghost is one that is instantly recognizable to anyone who has ever played the game.  You need to consider what sorts of sounds or music you will use in your project.  You can upload samples of the sounds that you are considering using to your on-line process journal and write a brief explanation about how you might use each in your project.  

(If you are not creating them yourself, be sure to use music or sounds that are available in the public domain.  A good source of free sound effects is FreeSound.org.  You will need to register for an account but there are thousands of sound effects to choose from.)

UI and Controls

How will players interact with your project?  What does the user interface (UI) look like?  What information will be available to them?  How will you arrange this information so that the things that are most important are clearly visible?  What controls will players use if it is a game?  If it is a story, how will users advance to the next page?  Be sure to get input from your target audience and do some research to help you make these choices.  Present this information with clear explanations about why you made the choices that you have.  It will be important to reflect on the effectiveness of these decisions during the 'Evaluating' phase of the Design Cycle.  


 

Phase 3: Creating the solution

  1. outlines a plan, which considers the use of resources and time, sufficient for peers to be able to follow the plan to create the solution
  2. demonstrates excellent technical skills when making the solution 
  3. follows the plan to make the solution which functions as intended and is presented appropriately
  4. lists the changes made to the chosen design and the plan when making the solution.

During this phase of the project, you will keep track of the steps that you went through to construct your game or simulation. Future classes will be able to look at your work for ideas and benefit from your experience.  

When you put it on your project page, you can post it as a series of steps. Have a look at the following Instructable to see an example of what you will be presenting:

http://www.instructables.com/id/Programming-the-Racing-Game-in-Scratch/?ALLSTEPS

This example is longer and shows most of the steps as pictures without a whole lot of description but is still worth looking at to get ideas:


Be sure to include a section that explains and justifies any changes from your original design from the previous phase of the Design Cycle. It is OK to make changes. This is all part of the process. But be sure to explain what you changed and why you changed it. This is the evidence of learning that we are looking for in your written work.

Also, be sure to take screenshots along the way. This will make your process journal easier to follow and will likely save you some writing.  Keep in mind that someone who is at least a little bit familiar with Scratch should be able to understand your steps and create a similar project based on your information.



Phase 4: Evaluating
  1. design detailed and relevant testing methods, which generate data, to measure the success of the solution 
  2. critically evaluate the success of the solution against the requirements based on authentic tests 
  3. explain how the solution could be improved 
  4. explain the impact of the solution on the client/target market.

In this phase, you will reflect on both the quality of your product and on the process that you went through to develop it.  

The Product
Summarize the feedback that you got about the project.  What did people like about it?  What didn't they like?  Do you agree?  With a little more time, how would you change it?  If you were going to release this to a larger audience, or perhaps even put it on the market, what could you do to take it to the next level?  How is it helpful/useful?  To what extent does it fulfil the specifications that you set at the beginning?

The Process
Consider your work at each phase of the Design Cycle.  How well did you manage your time and resources?  Did your work at one step help inform what you had to do in the next?  Were the steps that you went through helpful?  Where did you do well?  Where could you improve?  To what extent were you successful in accomplishing what you set out to do?  What steps will you take to improve the quality of your work on future projects? 


Survey

Scratch unit student survey 2013




Personal Reflection
Much of the reworking for this unit took place while I was taking a course as part of the Masters of Educational Technology program from the University of British Columbia.  I was asked to submit a brief reflection to go along with it which can be viewed by clicking here.
Comments