Tech @ TK‎ > ‎

Scratch 2014

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.  






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


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
i. Explain and justify the need for a solution to a problem for a specified client/target audience.
 

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.

ii. I
dentify and prioritize the primary and secondary research needed to develop a solution to the problem. 

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.


iii. A
nalyse a range of existing products that inspire a solution to the problem. 

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 Scratch website to help develop ideas of our own. Find 3 projects that you would like to mine for ideas:
  • one for it's visual style 
  • one for its similar content 
  • one for its interactivity
iv. Develop a detailed design brief which summarizes the analysis of relevant research.

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. 



Phase 2: Developing Ideas

i. Develop a design specification which outlines the success criteria for the design of a solution based on the data collected. 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. 


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.


ii. Present a range of feasible design ideas using an appropriate medium(s) and annotation, and which can be correctly interpreted by others. 


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. You may want to include some of the following elements in your explanations.

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 "Free 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 recognisable 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.  

iii. Present and outline the reasons for choosing the final design with reference to the design specification. 

Explain in a paragraph about your final choice and provide any additional resources (links, etc...) necessary to help the reader understand your project.

iv. Develop accurate planning drawings/diagrams and outline requirements for the creation of the chosen solution.

Present a sketch with appropriate labels to explain what your game/activity will be like. Be sure to explain interactive elements as well.

 

Phase 3: Creating the solution

This section will have two parts--the project itself and your process journal. Embed your completed project on your blog. Write a brief step-by-step that shows how you made your project. Pay special attention to how you were able to incorporate code that you found in other projects. Tell what the code does and how you used it in your own project.



Phase 4: Evaluating
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
Summarise 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? 



Comments